StarlingX/Containers/InstallationOnStandardStorage
Contents
- 1 Installing StarlingX with containers: Standard Storage configuration
- 1.1 History
- 1.2 Introduction
- 1.3 Building the Software
- 1.4 Setup the VirtualBox VM
- 1.5 Setup Controller-0
- 1.6 Install remaining hosts
- 1.7 Provisioning controller-1
- 1.8 Provision storage
- 1.9 Provision Computes
- 1.10 Prepare the host for running the containerized services
- 1.11 Using sysinv to bring up/down the containerized services
- 1.12 Provider/tenant networking setup
- 1.13 Additional Setup Instructions
- 1.14 Horizon access
- 1.15 Known Issues and Troubleshooting
Installing StarlingX with containers: Standard Storage configuration
this page is still under construction
History
- January 30, 2019: Initial draft
Introduction
These instructions are for a Standard, 2 controllers, 2 computes, 2 storage (2+2+2) configuration, in VirtualBox.
Other configurations are in development.
Installing on bare metal is also possible, however the the process would have to be adapted for the specific hardware configuration.
Note: These instructions are valid for a load built on January 30, 2019 or later.
Building the Software
Refer to these instructions on the AIO SX page Building the Software
Setup the VirtualBox VM
Refer to these instructions on the Standard 2+2 page Setup the VirtualBox VM
Remember to setup 2 controllers, 2 computes and 2 storage nodes.
VirtualBox Nat Networking
Refer to these instructions on the Standard 2+2 page VirtualBox Nat Networking
Setup Controller-0
Install StarlingX
Boot the VM from the ISO media. Select the following options for installation:
- Standard Controller Configuration
- Graphical Console
- STANDARD Security Boot Profile
Log into Controller-0 as user wrsroot, with password wrsroot. The first time you log in as wrsroot, you are required to change your password. Enter the current password (wrsroot):
Changing password for wrsroot. (current) UNIX Password: wrsroot
Enter a new password for the wrsroot account and confirm it.
Docker Proxy Configuration
If you are using software built prior to Jan 30, 2019 refer to these instructions on the AIO SX page Docker Proxy Configuration
Docker Proxy support in config_controller was merged on Jan 30, 2019
Run config_controller
sudo config_controller --kubernetes
Use default settings during config_controller, except for the following:
- External OAM floating address: 10.10.10.3
- External OAM address for first controller node: 10.10.10.4
- External OAM address for second controller node 10.10.10.5
- If you do not have direct access to the google DNS nameserver(s) 8.8.8.8 , 8.8.4.4 you will need to configure that when prompted. Press Enter to choose the default, or type a new entry.
- If you do not have direct access to the public docker registry (https://hub.docker.com/u/starlingx) and instead use a proxy for internet access, you will need to add proxy information when prompted.
The system configuration should look like this:
System Configuration -------------------- Time Zone: UTC System mode: duplex Distributed Cloud System Controller: no PXEBoot Network Configuration ----------------------------- Separate PXEBoot network not configured PXEBoot Controller floating hostname: pxecontroller Management Network Configuration -------------------------------- Management interface name: enp0s8 Management interface: enp0s8 Management interface MTU: 1500 Management subnet: 192.168.204.0/24 Controller floating address: 192.168.204.2 Controller 0 address: 192.168.204.3 Controller 1 address: 192.168.204.4 NFS Management Address 1: 192.168.204.5 NFS Management Address 2: 192.168.204.6 Controller floating hostname: controller Controller hostname prefix: controller- OAM Controller floating hostname: oamcontroller Dynamic IP address allocation is selected Management multicast subnet: 239.1.1.0/28 Infrastructure Network Configuration ------------------------------------ Infrastructure interface not configured External OAM Network Configuration ---------------------------------- External OAM interface name: enp0s3 External OAM interface: enp0s3 External OAM interface MTU: 1500 External OAM subnet: 10.10.10.0/24 External OAM gateway address: 10.10.10.1 External OAM floating address: 10.10.10.3 External OAM 0 address: 10.10.10.4 External OAM 1 address: 10.10.10.5 DNS Configuration ----------------- Nameserver 1: 8.8.8.8
TO DO: update this with proxy info
Provisioning Controller-0
Set the ntp server
Refer to these instructions on the AIO SX page Set the ntp server
Enable Ceph Backend
Refer to these instructions on the Standard 2+2 page Enable the Ceph backend
Unlock Controller-0
source /etc/platform/openrc system host-unlock controller-0
Install remaining hosts
PXE boot hosts
Power-on, the remaining hosts, they should PXEboot from the controller.
Press F-12 for network boot if they do not.
Once booted from PXE, hosts should be visible with Check with 'system host-list':
[wrsroot@controller-0 ~(keystone_admin)]$ system host-list +----+--------------+-------------+----------------+-------------+--------------+ | id | hostname | personality | administrative | operational | availability | +----+--------------+-------------+----------------+-------------+--------------+ | 1 | controller-0 | controller | unlocked | enabled | available | | 2 | None | None | locked | disabled | offline | | 3 | None | None | locked | disabled | offline | | 4 | None | None | locked | disabled | offline | | 5 | None | None | locked | disabled | offline | | 6 | None | None | locked | disabled | offline | +----+--------------+-------------+----------------+-------------+--------------+
Configure host personalities
source /etc/platform/openrc system host-update 2 personality=controller system host-update 3 personality=storage system host-update 4 personality=storage system host-update 5 personality=worker hostname=compute-0 system host-update 6 personality=worker hostname=compute-1
At this point hosts should start installing.
Wait for hosts to become online
Once all Nodes have been installed and rebooted, on Controller-0 list the hosts:
+----+--------------+-------------+----------------+-------------+--------------+ | id | hostname | personality | administrative | operational | availability | +----+--------------+-------------+----------------+-------------+--------------+ | 1 | controller-0 | controller | unlocked | enabled | available | | 2 | controller-1 | controller | locked | disabled | online | | 3 | storage-0 | storage | locked | disabled | online | | 4 | storage-1 | storage | locked | disabled | online | | 5 | compute-0 | worker | locked | disabled | online | | 6 | compute-1 | worker | locked | disabled | online | +----+--------------+-------------+----------------+-------------+--------------+
Provisioning controller-1
Add interfaces on Controller-1
Refer to these instructions on the Standard 2+2 page here
Unlock Controller-1
source /etc/platform/openrc system host-unlock controller-1
Wait for node to be available:
+----+--------------+-------------+----------------+-------------+--------------+ | id | hostname | personality | administrative | operational | availability | +----+--------------+-------------+----------------+-------------+--------------+ | 1 | controller-0 | controller | unlocked | enabled | available | | 2 | controller-1 | controller | unlocked | enabled | available | | 3 | storage-0 | worker | locked | disabled | online | | 4 | storage-1 | worker | locked | disabled | online | | 5 | compute-0 | worker | locked | disabled | online | | 6 | compute-1 | worker | locked | disabled | online | +----+--------------+-------------+----------------+-------------+--------------+
- Ceph cluster shows a quorum with controller-0 and controller-1
[root@controller-0 wrsroot(keystone_admin)]# ceph -s cluster 03b577a9-b368-4e1a-bc2a-f508903e124d health HEALTH_ERR no osds 1 mons down, quorum 0,1 controller-0,controller-1 monmap e1: 3 mons at {controller-0=192.168.204.3:6789/0,controller-1=192.168.204.4:6789/0,storage-0=192.168.204.243:6789/0} election epoch 4, quorum 0,1 controller-0,controller-1 osdmap e1: 0 osds: 0 up, 0 in flags sortbitwise,require_jewel_osds pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects 0 kB used, 0 kB / 0 kB avail 64 creating
Provision storage
Add the cluster-host interface on storage hosts
source /etc/platform/openrc system host-if-modify -c platform --networks cluster-host storage-0 $(system host-if-list -a storage-0 | awk '/mgmt0/{print $2}') system host-if-modify -c platform --networks cluster-host storage-1 $(system host-if-list -a storage-1 | awk '/mgmt0/{print $2}')
Add an OSD to the storage hosts
source /etc/platform/openrc system host-stor-add storage-0 $(system host-disk-list storage-0 | awk '/sdb/{print $2}') system host-stor-add storage-1 $(system host-disk-list storage-1 | awk '/sdb/{print $2}')
Unlock the storage hosts
source /etc/platform/openrc system host-unlock storage-0 system host-unlock storage-1
- Ceph cluster shows HEALTH_OK
ceph -s
cluster 03b577a9-b368-4e1a-bc2a-f508903e124d health HEALTH_OK monmap e1: 3 mons at {controller-0=192.168.204.3:6789/0,controller-1=192.168.204.4:6789/0,storage-0=192.168.204.243:6789/0} election epoch 6, quorum 0,1,2 controller-0,controller-1,storage-0 osdmap e15: 2 osds: 2 up, 2 in flags sortbitwise,require_jewel_osds pgmap v23: 64 pgs, 1 pools, 0 bytes data, 0 objects 67584 kB used, 100234 MB / 100300 MB avail 64 active+clean
Provision Computes
UNDER CONSTRUCTION
Prepare the host for running the containerized services
UNDER CONSTRUCTION
- On the controller node, apply all the node labels for each controller and compute functions
source /etc/platform/openrc for NODE in controller-0 controller-1; do system host-label-assign $NODE openstack-control-plane=enabled done for NODE in compute-0 compute-1; do system host-label-assign $NODE openstack-compute-node=enabled system host-label-assign $NODE openvswitch=enabled done kubectl get nodes --show-labels
Using sysinv to bring up/down the containerized services
Generate the stx-openstack application tarball
Refer to these instructions on the AIO SX page Generate the stx-openstack application tarball
Stage application for deployment
Refer to these instructions on the AIO SX page Stage application for deployment
Bring Up Services
Refer to these instructions on the AIO SX page Bring Up Services
Verify the cluster endpoints
Refer to these instructions on the AIO SX page here
Provider/tenant networking setup
Refer to these instructions on the AIO SX page here
Additional Setup Instructions
Refer to these instructions on the AIO SX page Additional Setup Instructions
Horizon access
Refer to these instructions on the AIO SX page here
Known Issues and Troubleshooting
None