StarlingX/Installation Guide
Contents
Intro
This section contains information about the StarlingX installation in a virtualized environment using Libvirt/QEMU.
Software Configurations
- All In One
- Standard Controller Storage
- Duplex
- Standard Dedicated Storage
Standard Controller Storage
Requirements
Different use cases require different configurations. For general StarlingX deployment, the recommended minimum requirements include:
Hardware Requirements
A workstation computer with:
- Processor: x86_64 only supported architecture with hardware virtualization extensions
- Memory: At least 32GB RAM
- Hard Disk: 500GB HDD
- Network: Two network adapters with active Internet connection
Software Requirements
A workstation computer with:
- Operating System: Freshly installed Ubuntu 16.04 LTS 64-bit
- Proxy settings configured (if applies)
- Git
- KVM/VirtManager
- Libvirt Library
- QEMU Full System Emulation Binaries
- <stx-deployment> project codenamed as tic_vb
- StarlingX ISO Image
Deployment Environment Setup
This section describes how to set up a StarlingX system in a workstation computer. After completing these steps, you will be able to deploy and run your StarlingX system on the following Linux distribution:
- Ubuntu 16.04 LTS 64-bit
Updating Your Operating System
Before proceeding with the build, ensure your OS is up to date. You’ll first need to update the local database list of available packages:
$ sudo apt-get update
Installing Requirements and Dependencies
Install the required packages in an Ubuntu host system with:
$ sudo apt-get install git virt-manager libvirt-bin qemu-system
Installing Deployment Tool
Clone the <stx-deployment> project. Usually you’ll want to clone it under your user’s home directory.
$ cd $HOME $ git clone <stx-deployment>
Getting the StarlingX ISO Image
1. Get the StarlingX ISO Image from:
Tbd
2. Copy the StarlingX ISO Image to the <stx-deployment> libvirt project directory naming it as bootimage.iso:
$ cp <starlingx iso image> $HOME/tic_vb/libvirt/bootimage.iso
Controller-0 Host Installation
Installing controller-0 involves initializing a host with software and then applying a configuration from the command line. The configured host becomes Controller-0.
Procedure:
- Using an ISO image of StarlingX, initialize the controller host via Libvirt/QEMU.
- Configure the controller using the config_controller script.
Initializing Controller-0
This section describes how to initialize StarlingX in host Controller-0. Except where noted, all the commands must be executed from a console of the Workstation.
Navigate to the <stx-deployment> libvirt project directory:
$ cd <stx-deployment>/libvirt
Run the install packages script:
$ bash install_packages.sh
Run the libvirt qemu setup script:
$ bash setup_tic.sh
From the KVM/VirtManager window, power on the host to be configured as Controller-0 and show the virtual machine console and details:
- When the installer is loaded and the installer welcome screen appears in the Controller-0 host, select the type of installation "Standard Controller Configuration".
- Select the "Graphical Console" as the console to use during installation.
- Select "Standard Security Boot Profile" as the Security Profile.
- Monitor the initialization until it is complete. When initialization is complete, a reboot is initiated on the Controller-0 host, briefly displays a GNU GRUB screen, and then boots automatically into the StarlingX image.
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:
Enter a new password for the wrsroot account:
New password:
Enter the new password again to confirm it:
Retype new password:
Controller-0 is initialized with StarlingX, and is ready for configuration.
Configuring Controller-0
This section describes how to perform the Controller-0 configuration interactively. Except where noted, all the commands must be executed from the console of the active controller (here assumed to be controller-0.
When run interactively, the config_controller script presents a series of prompts for initial configuration of StarlingX. The script is used to configure the first controller in the StarlingX cluster as controller-0. The prompts are grouped by configuration area. To start the script interactively, use the following command with no parameters and accept all the default values:
$ sudo config_controller
The output when config_controller script is run interactively is:
WARNING: Command should only be run from the console. Continuing with this terminal may cause loss of connectivity and configuration failure ... Apply the above configuration? [y/n]: y Applying configuration (this will take several minutes): 01/08: Creating bootstrap configuration ... DONE 02/08: Applying bootstrap manifest ... DONE 03/08: Persisting local configuration ... DONE 04/08: Populating initial system inventory ... DONE 05:08: Creating system configuration ... DONE 06:08: Applying controller manifest ... DONE 07:08: Finalize controller configuration ... DONE 08:08: Waiting for service activation ... DONE Configuration was applied Please complete any out of service comissioning steps with system commands and unlock controller to proceed.
Controller-0 and System Provision
Configuring Provider Networks at Installation
You must set up provider networks at installation so that you can attach data interfaces and unlock the compute nodes.
On Controller-0, acquire Keystone administrative privileges:
controller-0:~$ source /etc/nova/openrc
Set up one provider network of the vlan type, named providernet-a:
[wrsroot@controller-0 ~(keystone_admin)]$ neutron providernet-create providernet-a --type=vlan [wrsroot@controller-0 ~(keystone_admin)]$ neutron providernet-range-create --name providernet-a-range1 --range 100-400 providernet-a
Unlocking Controller-0
You must unlock controller-0 so that you can use it to install the remaining hosts. On Controller-0, acquire Keystone administrative privileges:
controller-0:~$ source /etc/nova/openrc
Use the system host-unlock command:
[wrsroot@controller-0 ~(keystone_admin)]$ system host-unlock controller-0
The host is rebooted. During the reboot, the command line is unavailable, and any ssh connections are dropped. To monitor the progress of the reboot, use the controller-0 console.
Verifying the Controller-0 Configuration
On Controller-0, acquire Keystone administrative privileges:
controller-0:~$ source /etc/nova/openrc
Verify that the Titanium Cloud controller services are running:
[wrsroot@controller-0 ~(keystone_admin)]$ nova service-list [wrsroot@controller-0 ~(keystone_admin)]$ nova service-list +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+ | Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | Forced down | +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+ | d7cdfaf0-9394-4053-b752-d609c837b729 | nova-conductor | controller-0 | internal | enabled | up | 2018-06-20T05:44:33.516556 | - | False | | 692c2659-7188-42ec-9ad1-c88ac3020dc6 | nova-scheduler | controller-0 | internal | enabled | up | 2018-06-20T05:44:33.828407 | - | False | | 5c7c9aad-696f-4dd1-a497-464bdd525e0c | nova-consoleauth | controller-0 | internal | enabled | up | 2018-06-20T05:44:33.894090 | - | False | +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+
Verify that controller-0 is unlocked, enabled, and available:
[wrsroot@controller-0 ~(keystone_admin)]$ system host-list +----+--------------+-------------+----------------+-------------+--------------+ | id | hostname | personality | administrative | operational | availability | +----+--------------+-------------+----------------+-------------+--------------+ | 1 | controller-0 | controller | unlocked | enabled | available | +----+--------------+-------------+----------------+-------------+--------------+