Jump to: navigation, search

StarlingX/Installation Guide

< StarlingX
Revision as of 19:13, 20 June 2018 by Abraham.arce.moreno (talk | contribs) (Configuring Controller-0)

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:

  1. Using an ISO image of StarlingX, initialize the controller host via Libvirt/QEMU.
  2. 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    |
+----+--------------+-------------+----------------+-------------+--------------+