tools/deployment
Dean Troyer bd4b59dde2 Clean up the libvirt install bits
* Split the network setup/teardown bits into their own scripts
  so you can shoot yourself in the foot with intention
  rather then unexpectedly.
* Cowardly refuse to configure a network if the first interface name exists
* Change the default bridge name to stxbr
* Make the network variables all configurable via the environment
* Don't make assumptions about where ISOIMAGE is located
* Include a basic doc that outlines the differences from existing
  installation steps. (Needs more!)

Change-Id: Ic46c03a09da97765b9f6bfe07e089efa38738993
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2018-08-30 10:40:57 -05:00
..
libvirt Clean up the libvirt install bits 2018-08-30 10:40:57 -05: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.