[Starlingx-discuss] [RFC] Deployment: StarlingX Installation in a Virtualized Environment

Arce Moreno, Abraham abraham.arce.moreno at intel.com
Wed Jul 25 01:54:38 UTC 2018


Initial objective for this review is to get community feedback:
  https://review.openstack.org/#/c/585588

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_all_in_one.sh
    │   ├── destroy_standard_controller.sh
    │   ├── install_packages.sh
    │   ├── README.rst
    │   ├── setup_all_in_one.sh
    │   └── setup_standard_controller.sh
    ├── provision
    │   ├── simplex_stage_1.sh
    │   └── simplex_stage_2.sh
    └── virtualbox
        ├── all_in_one.conf
        ├── README.md
        ├── 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
    - Setup Standard Controller

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.




More information about the Starlingx-discuss mailing list