Machine Modifiers

Machine modifiers define configuration axes for machine deployments within test clusters. They are split into static modifiers (hardcoded) and dynamic modifiers (discovered at runtime from the infrastructure cluster).

Static Machine Modifiers

GroupOptionsDescription
instance-typenone, discovered instance typesKubeVirt VM instance type
preferencenone, discovered preferencesKubeVirt VM preference
dns-policyClusterFirstWithHostNet, ClusterFirst, Default, NonePod DNS resolution policy
eviction-strategyLiveMigrate, ExternalVM eviction behavior
network-multiqueueenabled, disabledNetwork multi-queue support
topology-spread-constraintsenabled, disabledPod topology spread

Dynamic Machine Modifiers

These modifiers are discovered at runtime from the YAML configuration and infrastructure cluster:

GroupSourceDescription
cpuresources.cpu config valuesVM CPU count
memoryresources.memory config valuesVM memory size
disk-sizeresources.diskSize config valuesVM disk size
storage-classStorageClasses from infra clusterStorage backend
node-affinityNode names from infra clusterNode placement
image-sourceimageSources config per distributionOS disk image
nameserversnameservers configDNS nameservers

Datacenter Modifiers

Discovered from the KubeVirt infrastructure cluster:

GroupSourceDescription
vpcVPC CRDs (kubeovn.io/v1)Virtual private cloud
kubevirt-vpc-subnetSubnet CRDs per VPCNetwork subnet
kubevirt-storage-classStorageClasses from infra clusterStorage class

How Modifiers Work

Each modifier follows the same pattern as cluster modifiers: a Name for human identification, a Group for exclusive selection, and a modify function for spec mutation.