Bruno Muniz 07051a09aa Remove all hard-coded passwords and require it
- Additionally, add password validation function.
- Breaks Parser.py into more manageable functions.
- Changes where defaults are set (Parser.py instead of class under
/consts)

The goal is to not have any reference to a password in the code
itself, only in configuration files or README files, if strictly
necessary.

The new password validation function, besides failing fast at the
argument parser, makes sure the password will be allowed by Debian
later on the installation.

This commit is not touching any Shell script because they will
probably be removed or change in follow-up commits.

Test Plan:
PASS: Operating system password should be set to value passed via
--password

Failure Path:
PASS: Script fails fast without the parameter --password
PASS: Script fails fast if password requirements are not met

Regression:
PASS: AIO-SX install works

Story: 2005051
Task: 47960
Task: 48230

Change-Id: Ibf42b792ef825cee61cc69d1b5afa807361037b7
Signed-off-by: Bruno Muniz <bruno.muniz@encora.com>
2023-06-30 14:28:02 -03:00
2023-06-28 09:46:20 -04:00
2023-06-30 12:12:01 -03:00
2023-06-30 12:12:01 -03:00
2019-01-21 04:27:34 -06:00
2023-06-30 12:12:01 -03: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%