This page explain how to use the preconfigured guest.xml file provided with SEAPATH.


Configuration

The example inventory available on the project's Ansible GitHub allows you to fully configure the VMs.

The various variables in this Ansible inventory configure the provided template 'guest.xml.j2'. This template is an XML file that defines the configuration details for virtual machines. The Ansible variables customize this template to specify VM characteristics such as names, IP addresses, CPU settings, and more.

The table opposite lists the inventory variables and their description:

For a virtual machines with determinism and performance needs, we recommand to use both the "isolated" and "rt" feature. Refer to the page Scheduling and priorities for more information.

Deploy the VMs

To then deploy our VM, we'll simply call an Ansible playbook which automates the process by issuing all the commands required for deployment, using the inventory defined earlier.

The advantage is that we can define as many different VMs in our inventory, and the playbook will deploy them all, which greatly reduces the user's knowledge requirements.

The procedure for deploying VMs is available here for the Yocto version and here for the Debian version.





Inventory variableValuesDescription
name, uuid, description

VM identification
vm_template
By default, we use the guest.xml.j2 file, but it's possible to use another if needed. A VM template that we're going to customize. 
vm_disk

The disk image used to create the VM (built in the previous section). When using cluster, it's managed by vm-manager
local_disk
disk_file
List of VM disks.




vm_features
rt
Enable real time tweaks such as vm priority, choice of scheduler, CPU mode, which will be visible to the vm in the same way as the host, etc...
isolated
Enables CPU pinning, allowing you to control which physical CPU core the virtual CPU core (vCPU) will run on.
dpdk

cpuset

The list of CPU cores to use in the case of an isolated VM.
nb_cpu

In the case of a non-isolated VM, the number of CPU cores to use.



pci_passthrough
domain

A list containing dictionaries of the PCI devices to pass-through.





bus
slot
function
sriov

A list containing the SRIOV pool to use.

bridges
nameA list containing dictionaries of the bridges to use.
mac_address
ovs 

A list containing dictionaries of the OVS ports to use.
pinned_host

When using cluster, the host to pin the VM.
preferred_host

When using cluster, the host to prefer to run the VM.


  • No labels