Skip to content
Snippets Groups Projects
infra-vms.rst 3.25 KiB

Infrastructure VMs

Kayobe can deploy infrastructure VMs to the seed-hypervisor. These can be used to provide supplementary services that do not run well within a containerised environment or are dependencies of the control plane.

Configuration

To deploy an infrastructure VM, add a new host to the infra-vms group in the inventory:

The configuration of the virtual machine should be done using host_vars. These override the group_vars defined for the infra-vms group. Most variables have sensible defaults defined, but there are a few variables which must be set.

Mandatory variables

All networks must have an interface defined, as described in :ref:`configuration-network-per-host`. By default the VMs are attached to the admin overcloud network. If, for example, admin_oc_net_name was set to example_net, you would need to define example_net_interface. It is possible to change the list of networks that a VM is attached to by modifying infra_vm_network_interfaces. Additional interfaces can be added by setting infra_vm_network_interfaces_extra.

List of Kayobe applied defaults to required docker_container variables. Any of these variables can be overridden with a host_var.

Customisations

Examples of common customisations are shown below.

By default the Ansible inventory name is used as the name of the VM. This may be overridden via infra_vm_name:

By default the VM has 16G of RAM. This may be changed via infra_vm_memory_mb:

The default network configuration attaches infra VMs to the admin network. If this is not appropriate, modify infra_vm_network_interfaces. At a minimum the network interface name for the network should be defined.

Configuration for all VMs can be set using extra_vars defined in $KAYOBE_CONFIG_PATH/infra-vms.yml. Note that normal Ansible precedence rules apply and the variables will override any host_vars. If you need to override the defaults, but still maintain per-host settings, use group_vars instead.

Deploying the virtual machine

Once the initial configuration has been done follow the steps in :ref:`deployment-infrastructure-vms`.