Prepare Host and Environment

This section describes how to prepare the physical host and virtual environment for a StarlingX r9.0 virtual Standard with Controller Storage deployment configuration.

Physical host requirements and setup

The following sections describe system requirements and host setup for a workstation hosting virtual machine(s) where StarlingX will be deployed.

Hardware requirements

The host system should have at least:

  • Processor: x86_64 only supported architecture with BIOS enabled hardware virtualization extensions

  • Cores: 8

  • Memory: 32GB RAM

  • Hard Disk: 500GB HDD

  • Network: One network adapter with active Internet connection

Software requirements

The host system should have at least:

  • A workstation computer with Ubuntu 16.04 LTS 64-bit

All other required packages will be installed by scripts in the StarlingX tools repository.

Host setup

Set up the host with the following steps:

  1. Update OS:

    apt-get update
    
  2. Clone the StarlingX tools repository:

    apt-get install -y git
    cd $HOME
    git clone https://opendev.org/starlingx/virtual-deployment.git
    
  3. Install required packages:

    cd $HOME/virtual-deployment/libvirt
    bash install_packages.sh
    apt install -y apparmor-profiles
    apt-get install -y ufw
    ufw disable
    ufw status
    

    Note

    On Ubuntu 16.04, if apparmor-profile modules were installed as shown in the example above, you must reboot the server to fully install the apparmor-profile modules.

  4. Get the latest StarlingX ISO from the StarlingX mirror. Alternately, you can get an older release ISO from here.

Prepare virtual environment and servers

Note

The following commands for host, virtual environment setup, and host power-on use KVM / virsh for virtual machine and VM management technology. For an alternative virtualization environment, see: Install StarlingX in VirtualBox.

  1. Prepare virtual environment.

    Set up virtual platform networks for virtual deployment:

    bash setup_network.sh
    
  2. Prepare virtual servers.

    Create the XML definitions for the virtual servers required by this configuration option. This will create the XML virtual server definition for:

    • controllerstorage-controller-0

    • controllerstorage-controller-1

    • controllerstorage-worker-0

    • controllerstorage-worker-1

    The following command will start/virtually power on:

    • The ‘controllerstorage-controller-0’ virtual server

    • The X-based graphical virt-manager application

    bash setup_configuration.sh -c controllerstorage -i ./bootimage.iso
    

    If there is no X-server present errors will occur and the X-based GUI for the virt-manager application will not start. The virt-manager GUI is not absolutely required and you can safely ignore errors and continue.