tools/deployment
Michel Thebeau ec295b37c8 deployment: libvirt: give all-in-one config six cores
The all-in-one configuration has both controller and compute function on
the controller nodes.  More cores are required to run instances.

Six cores allows 2 cores for instances.

Partial-Bug: #1793214

Change-Id: I1f2da957eb25eba1c488f58a6e94a74202b02a6b
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
2018-09-25 16:58:26 -04:00
..
libvirt deployment: libvirt: give all-in-one config six cores 2018-09-25 16:58:26 -04:00
provision Add virtual environemnt deployment scripts 2018-08-30 10:16:53 -05:00
virtualbox Add virtual environemnt deployment scripts 2018-08-30 10:16:53 -05:00
README.rst Add virtual environemnt deployment scripts 2018-08-30 10:16:53 -05: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 Structure

Deployment directory hosts a total of 3 directories and 18 files:

$ tree -L 3 deployment/
deployment/
├── libvirt
│   ├── compute.xml
│   ├── controller_allinone.xml
│   ├── controller.xml
│   ├── destroy_allinone.sh
│   ├── destroy_standard_controller.sh
│   ├── install_packages.sh
│   ├── setup_allinone.sh
│   └── setup_standard_controller.sh
├── provision
│   ├── simplex_stage_1.sh
│   └── simplex_stage_2.sh
└── virtualbox
    ├── all_in_one.conf
    ├── serial_vm.sh
    ├── setup_vm.sh
    ├── standard_controller.conf
    ├── start_vm.sh
    └── stop_vm.sh

Directory: libvirt

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

  • Controller All-in-one
  • Controller
  • Compute

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

  • Setup All-in-one
    • 2 Controllers
  • Setup Standard Controller
    • 2 Controllers
    • 2 Computes

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.