Virginia Martins Perozim 4db8cc30a3 Updating breaking config and code for basic setup
This commit brings this script back to life. It does so by changing as little
as possible of the existing code, given how complex the code itself is but also
how complex the StarlingX setup can be.

The current working setup is AIO-SX, the most common setup among developers.

This commit also makes sure that not much of the design is changed because we
might reuse some of it in the subsequent commits (there's already a few changes
being worked on top of this one).

Apart from what's already being worked on, some follow-up commits might address
other installation setups.

The minimal changes were:

- Replacing old username from wrsroot to sysadmin
- Replacing old path from /etc/nova/openrc to /etc/platform/openrc
- Fixing menu_selector according to new options:
  - Selecting Controller Install
  - Selecting All-in-one Install
  - Selecting All-in-one (lowlatency) Install
- Fixing first login to change password
- Fixing lab-setup command to use Ansible's bootstrap playbook
- Adding Ansible 'localhost.yml' config file in 'stage_config_controller'
- Adds a bit of "boy scouting" that will help in a future task of enabling
pylint in /deployment/virtualbox/pybox
- Fixing PATH variables in install_vbox.py
- New separated lab_setup script for configuration of OAM interface extracted
from existing script.

Test Plan:
PASS: script install_vbox.py works for base option (--setup-type AIO-SX)
      with additional options according to new section in README.md

Closes-Bug: 2016035
Story: 2005051
Task: 47914

Change-Id: I77401bced509b547648fba6441ba586c3292251f
Signed-off-by: Virginia Martins Perozim <virginia.perozim@encora.com>
Signed-off-by: Bruno Muniz <bruno.muniz@encora.com>
Signed-off-by: Daniel Marques <daniel.caires@encora.com>
2023-05-23 15:48:15 -03:00
2019-01-21 04:27:34 -06:00

StarlingX Deployment in Virtualized Environments

A StarlingX system can be installed in a variety of platforms with the following deployment options:

  • Standard Controller
    • Dedicated Storage
    • Controller Storage
  • All-in-one
    • Duplex
    • Simplex

Deployment options uses a variety of configurations based on 3 node identities:

  • Controller
  • Storage
  • Compute

Standard Controller :: Dedicated Storage

The software installation workflow for an initial Ceph-backed block storage on dedicated storage nodes is:

  • Controller-0 Installation and Provisioning
  • Controller-1 / Compute Host / Storage Host Installation
  • Controller-1 Provisioning
  • Provider Network Configuration
  • Compute Host Provisioning
  • Storage Host Provisioning

Standard Controller :: Controller Storage

The software installation workflow for an initial LVM-backed block storage on controller nodes is:

  • Controller-0 Installation
  • Controller-0 and System Provisioning
  • Controller-1 / Compute Host Installation
  • Controller-1 Provisioning
  • Compute Host Provisioning

All-in-one :: Duplex

The software installation workflow for two combined controller / compute nodes is:

  • Controller-0 Installation and Provisioning
  • Controller-1 Installation and Provisioning

All-in-one :: Simplex

The software installation workflow for a single combined controller / compute node is:

  • Controller-0 Installation and Provisioning

Virtualization Environments

The available virtualization products where StarlingX has been deployed are:

  • VirtualBox
  • Libvirt/QEMU

Directory: libvirt

Deployment under Libvirt/QEMU uses a set of xml files to define the node identity:

  • Controller All-in-one
  • Controller
  • Compute
  • Storage

These nodes are used to create the virtual machines and the network interfaces to setup the StarlingX system:

  • Setup Simplex
    • 1 Controller
  • Setup Duplex
    • 2 Controllers
  • Setup Controller Storage
    • 2 Controllers
    • 2 Computes
  • Setup Dedicated Storage
    • 2 Controllers
    • 2 Computes
    • 2 Storages

Directory: virtualbox

Deployment under VirtualBox uses a set of configuration files to define the StarlingX system:

  • All-in-one Configuration
  • Standard Controller Configuration

These configurations files are used to create the virtual machines and the network interfaces from a single script:

  • Setup VM

Directory: provision

A set of scripts are provided to automate the provisioning of data interfaces and local storage resources for the compute function for StarlingX Duplex or Simplex.

Description
Scripts for installing StarlingX in virtualized environments
Readme 1.5 MiB
Languages
Python 54.2%
Shell 45.8%