Jump to: navigation, search

Difference between revisions of "StarlingX/Containers/InstallationOnStandardStorage"

(Provisioning controller-1)
(Prepare the host for running the containerized services)
Line 228: Line 228:
 
                   64 creating
 
                   64 creating
 
</pre>
 
</pre>
 +
 +
== Provision storage-0/storage-1 ==
 +
 +
=== Add the cluster-host interface on storage hosts ===
 +
 +
<pre>
 +
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}')
 +
</pre>
 +
 +
=== Add an OSD to the storage hosts ===
 +
 +
<pre>
 +
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}')
 +
</pre>
 +
 +
=== Unlock the storage hosts ===
 +
 +
<pre>
 +
source /etc/platform/openrc
 +
system host-unlock storage-0
 +
system host-unlock storage-1
 +
</pre>
 +
 +
* Ceph cluster shows HEALTH_OK
 +
 +
ceph -s
 +
 +
<pre>
 +
    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
 +
</pre>
 +
  
 
== Prepare the host for running the containerized services ==
 
== Prepare the host for running the containerized services ==

Revision as of 18:30, 30 January 2019

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

  • Add the OAM Interface on Controller-1
  • Add the Cluster-Host Interface on Controller-1
source /etc/platform/openrc
system host-if-modify -n oam0 -c platform --networks oam controller-1 $(system host-if-list -a controller-1 | awk '/enp0s3/{print $2}')
system host-if-modify controller-1 mgmt0 --networks cluster-host

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-0/storage-1

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


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