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) Define block migration behavior. |
| checksum_base_images=false | (BoolOpt) Used as an additional check to detect if cached images have become
corrupted. If true, the compute service will write checksums for image files in
the /var/lib/nova/instances/_base directory to disk, and do
periodic checks to verify that this checksum is valid. If the checksum fails to
validate, the failure is recorded to the log as an error, but no other action is
taken: it is assumed that an operator will monitor the logs and take appropriate
action. If false, image hashes are not verified. |
| hyperv_attaching_volume_retry_count=10 | (IntOpt) Number of times to retry attaching to a volume when using the Hyper-V hypervisor |
| hyperv_wait_between_attach_retry=5 | (IntOpt) To be written: found in /nova/virt/hyperv/volumeops.py |
| libvirt_cpu_mode=<None> | (StrOpt) Configures the guest CPU model exposed to the hypervisor. Valid options are: custom, host-model, host-passthrough, none. If the hypervisor is KVM or QEMU, the default value is host-model, otherwise the default value is none. |
| libvirt_cpu_model=<None> | (StrOpt) Specify the guest CPU model exposed to the hypervisor. This
configuration option is only applicable if libvirt_cpu_mode
is set to custom. Valid options: one of the named models
specified in /usr/share/libvirt/cpu_map.xml, e.g.:
Westmere, Nehalem, Opteron_G3. |
| 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_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_images_type=default |
(StrOpt) Instance ephemeral storage backend format. Acceptable values are: raw, qcow2, lvm, default. If default is specified, then use_cow_images flag is used instead of this one. Please note, that current snapshot mechanism in OpenStack Compute works only with instances backed with Qcow2 images. |
libvirt_images_volume_group=None |
(StrOpt) LVM Volume Group that is used for instance ephemerals, when you specify libvirt_images_type=lvm. |
| 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_snapshots_directory=$instances_path/snapshots | (StrOpt) Location where libvirt driver will store snapshots before uploading them to image service |
| libvirt_snapshot_compression=False | (BoolOpt) Compresses snapshot images when possible. This currently applies exclusively to qcow2 images. |
libvirt_sparse_logical_volumes=false |
(BoolOpt) Create sparse (not fully allocated) LVM volumes for instance ephemerals if you use LVM backend for them. |
| 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, glusterfs=nova.virt.libvirt.volume.LibvirtGlusterfsVolumeDriver" |
(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. |
| limit_cpu_features=false | (BoolOpt) Used by Hyper-V |
| remove_unused_base_images=true | (BoolOpt) Indicates whether unused base images should be removed |
| remove_unused_kernels=false | (BoolOpt) Should unused kernel images be removed? If unused images should be removed set to true, if not, set to false. This option is only safe to set to true if all compute nodes have been updated to support this option so that older image cache managers on remote compute nodes are prevented from cleaning up kernels because they appear unused. This will be enabled by default in a future release. |
| 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 |
| snapshot_image_format=<None> | (StrOpt) Snapshot image format (valid options are : raw, qcow2, vmdk, vdi). Defaults to same as source image |
| use_usb_tablet=true | (BoolOpt) Sync virtual and real mouse cursors in Windows VMs |
| libvirt integration | |
| libvirt_ovs_bridge=br-int | (StrOpt) Name of Integration Bridge used by Open vSwitch |
| libvirt_use_virtio_for_bridges=false | (BoolOpt) Use virtio for bridge interfaces |
| VMWare integration | |
| vmwareapi_wsdl_loc=<None> | (StrOpt) VIM Service WSDL Location e.g http://<server>/vimService.wsdl, due to a bug in vSphere ESX 4.1 default wsdl. |
| vmware_vif_driver=nova.virt.vmwareapi.vif.VMWareVlanBridgeDriver | (StrOpt) The VMWare VIF driver to configure the VIFs. |
| vmwareapi_api_retry_count=10 | (FloatOpt) The number of times we retry on failures, e.g., socket error, etc. Used only if compute_driver is vmwareapi.VMwareESXDriver. |
| vmwareapi_host_ip=<None> | (StrOpt) URL for connection to VMWare ESX host.Required if compute_driver is vmwareapi.VMwareESXDriver. |
| vmwareapi_host_password=<None> | (StrOpt) Password for connection to VMWare ESX host. Used only if compute_driver is vmwareapi.VMwareESXDriver. |
| vmwareapi_host_username=<None> | (StrOpt) Username for connection to VMWare ESX host. Used only if compute_driver is vmwareapi.VMwareESXDriver. |
| vmwareapi_task_poll_interval=5.0 | (FloatOpt) The interval used for polling of remote tasks. Used only if compute_driver is vmwareapi.VMwareESXDriver, |
| vmwareapi_vlan_interface=vmnic0 | (StrOpt) Physical ethernet adapter name for vlan networking |
| powervm_mgr_type=ivm | (StrOpt) PowerVM system manager type (ivm, hmc) |
| powervm_mgr=<None> | (StrOpt) PowerVM manager host or ip |
| powervm_vios=powervm_mgr | (StrOpt) PowerVM VIOS host or ip if different from manager |
| powervm_mgr_user=<None> | (StrOpt) PowerVM manager user name |
| powervm_mgr_passwd=<None> | (StrOpt) PowerVM manager user password |
| powervm_img_remote_path=<None> | (StrOpt) PowerVM image remote path. Used to copy and store images from Glance on the PowerVM VIOS LPAR. |
| powervm_img_local_path=<None> | (StrOpt) Local directory on the compute host to download glance images to. |

