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 general nova.conf
options that are used to configure the compute node's
hypervisor. Specific options for particular hypervisors
can be found in following sections.
Configuration option=Default value | 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_rbd_ceph_conf= | (StrOpt) path to the ceph configuration file to use |
libvirt_images_type=default | (StrOpt) VM Images format. Acceptable values are: raw, qcow2, lvm,rbd, default. If default is specified, then use_cow_images flag is used instead of this one. |
libvirt_images_rbd_pool=rbd | (StrOpt) the RADOS pool in which rbd volumes are stored |
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_iscsi_use_multipath=False | (BoolOpt) use multipath connection of the iSCSI volume |
libvirt_iser_use_multipath=False | (BoolOpt) use multipath connection of the iSER volume |
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_ovs_bridge=br-int | (StrOpt) Name of Integration Bridge used by Open vSwitch |
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_use_virtio_for_bridges=True | (BoolOpt) Use virtio for bridge interfaces with KVM/QEMU |
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, iser=nova.virt.libvirt.volume.LibvirtISERVolumeDriver, 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 |
vcpu_pin_set=None | (StrOpt) Which pcpus can be used by vcpus of instance e.g: "4-12,^8,15" |
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> |