1 or more 500 GB (min. 10K RPM) for Ceph OSD.( Recommend, but not required, 1 or more SSDs or NVMe drives for Ceph journals (min. 1024 MiB per OSD journal))

For OpenStack, recommend 1 or more 500 GB (min. 10K RPM) for VM local ephemeral storage

Minimum Network Ports

Mgmt/Cluster: 1x10GE OAM: 1x1GEData: 1 or more x 10GE

BIOS Settings

Hyper-Threading technology enabledVirtualization technology enabledVT for directed I/O enabledCPU power and performance policy set to performanceCPU C state control disabledPlug & play BMC detection disabled

Preparing Servers

ToDo - same as bare metal 2x Controllers, 2x Storage and 2x Computes

StarlingX Kubernetes

Installing StarlingX Kubernetes

Create a bootable USB with the StarlingX ISO

Get the StarlingX ISO.
This can be from a private StarlingX build or, as shown below, from the public Cengen StarlingX build off 'master' branch:

External connectivity is required to run the Ansible bootstrap playbook. The StarlingX boot image will DHCP out all interfaces so if a DHCP server is present in your environment, the server may have obtained an IP Address and have external IP connectivity by these means; check with 'ip add' and 'ping 8.8.8.8'.

The Ansible bootstrap playbook is at /usr/share/ansible/stx-ansible/playbooks/bootstrap/bootstrap.yml .

The default configuration values for the bootstrap playbook are in /usr/share/ansible/stx-ansible/playbooks/bootstrap/host_vars/default.yml .

By default Ansible looks for and imports user configuration override files for hosts in the sysadmin home directory ($HOME), e.g. $HOME/<hostname>.yml .

Specify the user configuration override file for the ansible bootstrap playbook, by copying the above default.yml file to $HOME/localhost.yml and edit the configurable values as desired, based on the commented instructions in the file.
or
Simply create the minimal user configuration override file as shown below, using the OAM IP SUBNET and IP ADDRESSing applicable to your deployment environment.

Wait for the install of software on controller-1 to complete, controller-1 to reboot and controller-1 to show as locked/disabled/online in 'system host-list'.
This can take 5-10 mins depending on performance of HOST machine.

Accessing StarlingX Kubernetes

StarlingX OpenStack

Install StarlingX OpenStack

Other than the OpenStack-specific configurations required in the underlying StarlingX/Kubernetes infrastructure done in the above installation steps for the StarlingX Kubernetes Platform, the installation of containerized OpenStack is independent of deployment configuration and can be found here.