The node where the nova-compute service is installed and running is the machine that runs all the virtual machines, referred to as the compute node in this guide.
By default, the selected hypervisor is KVM. To change to another hypervisor, change the libvirt_type option in nova.conf and restart the nova-compute service.
Here are the nova.conf options that are used to configure the compute node.
Configuration option=Default value | (Type) Description |
block_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_NON_SHARED_INC | (StrOpt)Migration flags to be set for block migration |
checksum_base_images=False | (BoolOpt)Write a checksum for files in _base to disk |
default_ephemeral_format=None | (StrOpt)The default format an ephemeral_volume will be formatted with on creation. |
disk_cachemodes=[] | (ListOpt)Specific cachemodes to use for different disk types e.g: ["file=directsync","block=none"] |
force_raw_images=True | (BoolOpt)Force backing images to raw format |
inject_password=True | (BoolOpt)Whether baremetal compute injects password or not |
libvirt_cpu_mode=None | (StrOpt)Set to "host-model" to clone the host CPU feature flags; to "host-passthrough" to use the host CPU model exactly; to "custom" to use a named CPU model; to "none" to not set any CPU model. If libvirt_type="kvm|qemu", it will default to "host-model", otherwise it will default to "none" |
libvirt_cpu_model=None | (StrOpt)Set to a named libvirt CPU model (see names listed in /usr/share/libvirt/cpu_map.xml). Only has effect if libvirt_cpu_mode="custom" and libvirt_type="kvm|qemu" |
libvirt_disk_prefix=None | (StrOpt)Override the default disk prefix for the devices attached to a server, which is dependent on libvirt_type. (valid options are: sd, xvd, uvd, vd) |
libvirt_images_type=default | (StrOpt)VM Images format. Acceptable values are: raw, qcow2, lvm, default. If default is specified, then use_cow_images flag is used instead of this one. |
libvirt_images_volume_group=None | (StrOpt)LVM Volume Group that is used for VM images, when you specify libvirt_images_type=lvm. |
libvirt_inject_key=True | (BoolOpt)Inject the ssh public key at boot time |
libvirt_inject_partition=1 | (IntOpt)The partition to inject to : -2 => disable, -1 => inspect (libguestfs only), 0 => not partitioned, >0 => partition number |
libvirt_inject_password=False | (BoolOpt)Inject the admin password at boot time, without an agent. |
libvirt_lvm_snapshot_size=1000 | (IntOpt)The amount of storage (in megabytes) to allocate for LVM snapshot copy-on-write blocks. |
libvirt_nonblocking=True | (BoolOpt)Use a separated OS thread pool to realize non-blocking libvirt calls |
libvirt_snapshot_compression=False | (BoolOpt)Compress snapshot images when possible. This currently applies exclusively to qcow2 images |
libvirt_snapshots_directory=$instances_path/snapshots | (StrOpt)Location where libvirt driver will store snapshots before uploading them to image service |
libvirt_sparse_logical_volumes=False | (BoolOpt)Create sparse logical volumes (with virtualsize) if this flag is set to True. |
libvirt_type=kvm | (StrOpt)Libvirt domain type (valid options are: kvm, lxc, qemu, uml, xen) |
libvirt_uri= | (StrOpt)Override the default libvirt URI (which is dependent on libvirt_type) |
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver | (StrOpt)The libvirt VIF driver to configure the VIFs. |
libvirt_volume_drivers=['iscsi=nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver', 'local=nova.virt.libvirt.volume.LibvirtVolumeDriver', 'fake=nova.virt.libvirt.volume.LibvirtFakeVolumeDriver', 'rbd=nova.virt.libvirt.volume.LibvirtNetVolumeDriver', 'sheepdog=nova.virt.libvirt.volume.LibvirtNetVolumeDriver', 'nfs=nova.virt.libvirt.volume.LibvirtNFSVolumeDriver', 'aoe=nova.virt.libvirt.volume.LibvirtAOEVolumeDriver', 'glusterfs=nova.virt.libvirt.volume.LibvirtGlusterfsVolumeDriver', 'fibre_channel=nova.virt.libvirt.volume.LibvirtFibreChannelVolumeDriver', 'scality=nova.virt.libvirt.volume.LibvirtScalityVolumeDriver'] | (ListOpt)Libvirt handlers for remote volumes. |
libvirt_wait_soft_reboot_seconds=120 | (IntOpt)Number of seconds to wait for instance to shut down after soft reboot request is made. We fall back to hard reboot if instance does not shutdown within this window. |
preallocate_images=none | (StrOpt)VM image preallocation mode: "none" => no storage provisioning is done up front, "space" => storage is fully allocated at instance start |
remove_unused_base_images=True | (BoolOpt)Should unused base images be removed? |
remove_unused_kernels=False | (BoolOpt)Should unused kernel images be removed? This is only safe to enable if all compute nodes have been updated to support this option. This will enabled by default in future. |
remove_unused_original_minimum_age_seconds=86400 | (IntOpt)Unused unresized base images younger than this will not be removed |
remove_unused_resized_minimum_age_seconds=3600 | (IntOpt)Unused resized base images younger than this will not be removed |
rescue_image_id=None | (StrOpt)Rescue ami image |
rescue_kernel_id=None | (StrOpt)Rescue aki image |
rescue_ramdisk_id=None | (StrOpt)Rescue ari image |
rescue_timeout=0 | (IntOpt)Automatically unrescue an instance after N seconds. Set to 0 to disable. |
snapshot_image_format=None | (StrOpt)Snapshot image format (valid options are : raw, qcow2, vmdk, vdi). Defaults to same as source image |
timeout_nbd=10 | (IntOpt)time to wait for a NBD device coming up |
use_cow_images=True | (BoolOpt)Whether to use cow images |
use_usb_tablet=True | (BoolOpt)Sync virtual and real mouse cursors in Windows VMs |
virt_mkfs=['default=mkfs.ext3 -L %(fs_label)s -F %(target)s', 'linux=mkfs.ext3 -L %(fs_label)s -F %(target)s', 'windows=mkfs.ntfs --force --fast --label %(fs_label)s %(target)s'] | (MultiStrOpt)mkfs commands for ephemeral device. The format is <os_type>=<mkfs command> |