Chapter 9. Compute (nova) Parameters You can modify the nova service with compute parameters. Parameter Description ApacheCertificateKeySize Override the private key size used when creating the certificate for this service. CertificateKeySize Specifies the private key size used when creating the certificate. The default value is 2048 . ContainerCpusetCpus Limit the specific CPUs or cores a container can use. The default value is all . ContainerNovaLibvirtPidsLimit Tune nova_libvirt container PID limit (set to 0 for unlimited) (defaults to 65536). The default value is 65536 . ContainerNovaLibvirtUlimit Ulimit for OpenStack Compute (nova) Libvirt Container. The default value is ['nofile=131072', 'nproc=126960'] . DockerInsecureRegistryAddress Optional. The IP Address and Port of an insecure docker namespace that will be configured in /etc/sysconfig/docker. The value can be multiple addresses separated by commas. DockerNovaComputeUlimit Ulimit for OpenStack Compute (nova) Compute Container. The default value is ['nofile=131072', 'memlock=67108864'] . DockerNovaMigrationSshdPort Port that dockerized nova migration target sshd service binds to. The default value is 2022 . EnableCache Enable caching with memcached. The default value is True . EnableConfigPurge Remove configuration that is not generated by the director. Used to avoid configuration remnants after upgrades. The default value is False . EnableInstanceHA Whether to enable an Instance Ha configurarion or not. This setup requires the Compute role to have the PacemakerRemote service added to it. The default value is False . EnableSQLAlchemyCollectd Set to true to enable the SQLAlchemy-collectd server plugin. The default value is False . ExtractedPlacementEnabled Set to True when deploying the extracted Placement service. The default value is False . GlanceMultistoreConfig Dictionary of settings when configuring additional glance backends. The hash key is the backend ID, and the value is a dictionary of parameter values unique to that backend. Multiple rbd backends are allowed, but cinder, file and swift backends are limited to one each. Example: # Default glance store is rbd. GlanceBackend: rbd GlanceStoreDescription: Default rbd store # GlanceMultistoreConfig specifies a second rbd backend, plus a cinder # backend. GlanceMultistoreConfig: rbd2_store: GlanceBackend: rbd GlanceStoreDescription: Second rbd store CephClusterName: ceph2 # Override CephClientUserName if this cluster uses a different # client name. CephClientUserName: client2 cinder_store: GlanceBackend: cinder GlanceStoreDescription: OpenStack Block Storage (cinder) store . InstanceNameTemplate Template string to be used to generate instance names. The default value is instance-%08x . InternalTLSNbdCAFile Specifies the CA cert to use for NBD TLS. The default value is /etc/ipa/ca.crt . InternalTLSQemuCAFile Specifies the CA cert to use for qemu. The default value is /etc/ipa/ca.crt . InternalTLSVncCAFile Specifies the CA cert to use for VNC TLS. The default value is /etc/ipa/ca.crt . InternalTLSVncProxyCAFile Specifies the CA cert to use for VNC TLS. The default value is /etc/ipa/ca.crt . KernelArgs Kernel Args to apply to the host. LibvirtCACert This specifies the CA certificate to use for TLS in libvirt. This file will be symlinked to the default CA path in libvirt, which is /etc/pki/CA/cacert.pem. Note that due to limitations GNU TLS, which is the TLS backend for libvirt, the file must be less than 65K (so we can't use the system's CA bundle). This parameter should be used if the default (which comes from the InternalTLSCAFile parameter) is not desired. The current default reflects TripleO's default CA, which is FreeIPA. It will only be used if internal TLS is enabled. LibvirtCertificateKeySize Override the private key size used when creating the certificate for this service. LibvirtEnabledPerfEvents This is a performance event list which could be used as monitor. For example: cmt,mbml,mbmt . Make sure you are using Red Hat Enterprise Linux 7.4 as the base and libvirt version is 1.3.3 or above. Also ensure you have enabled the notifications and are using hardware with a CPU that supports the cmt flag. LibvirtLogFilters Defines a filter to select a different logging level for a given category log outputs, as specified in https://libvirt.org/logging.html . The default value is 1:libvirt 1:qemu 1:conf 1:security 3:event 3:json 3:file 3:object 1:util . LibvirtNbdCACert This specifies the CA certificate to use for NBD TLS. This file will be symlinked to the default CA path, which is /etc/pki/libvirt-nbd/ca-cert.pem. This parameter should be used if the default (which comes from the InternalTLSNbdCAFile parameter) is not desired. The current default reflects TripleO's default CA, which is FreeIPA. It will only be used if internal TLS is enabled. LibvirtTLSPassword The password for the libvirt service when TLS is enabled. LibvirtTLSPriority Override the compile time default TLS priority string. The default value is NORMAL:-VERS-SSL3.0:-VERS-TLS-ALL:+VERS-TLS1.2 . LibvirtVncCACert This specifies the CA certificate to use for VNC TLS. This file will be symlinked to the default CA path, which is /etc/pki/libvirt-vnc/ca-cert.pem. This parameter should be used if the default (which comes from the InternalTLSVncCAFile parameter) is not desired. The current default reflects TripleO's default CA, which is FreeIPA. It will only be used if internal TLS is enabled. LibvirtVNCClientCertificateKeySize Override the private key size used when creating the certificate for this service. LibvirtVNCServerCertificateKeySize Override the private key size used when creating the certificate for this service. MemcachedTLS Set to True to enable TLS on Memcached service. Because not all services support Memcached TLS, during the migration period, Memcached will listen on 2 ports - on the port set with MemcachedPort parameter (above) and on 11211, without TLS. The default value is False . MemcacheUseAdvancedPool Use the advanced (eventlet safe) memcached client pool. The default value is True . MigrationSshKey SSH key for migration. Expects a dictionary with keys public_key and private_key . Values should be identical to SSH public/private key files. The default value is {'public_key': '', 'private_key': ''} . MigrationSshPort Target port for migration over ssh. The default value is 2022 . MultipathdEnable Whether to enable the multipath daemon. The default value is False . MysqlIPv6 Enable IPv6 in MySQL. The default value is False . NeutronMetadataProxySharedSecret Shared secret to prevent spoofing. NeutronPhysnetNUMANodesMapping Map of phynet name as key and NUMA nodes as value. For example: NeutronPhysnetNUMANodesMapping: {'foo': [0, 1], 'bar': [1]} where foo and bar are physnet names and corresponding values are list of associated numa_nodes . NeutronTunnelNUMANodes Used to configure NUMA affinity for all tunneled networks. NotificationDriver Driver or drivers to handle sending notifications. The default value is noop . NovaAdditionalCell Whether this is an cell additional to the default cell. The default value is False . NovaAllowResizeToSameHost Allow destination machine to match source for resize. The default value is False . NovaApiMaxLimit Max number of objects returned per API query. The default value is 1000 . NovaAutoDisabling Max number of consecutive build failures before the nova-compute will disable itself. The default value is 10 . NovaComputeCpuDedicatedSet A comma-separated list or range of physical host CPU numbers to which processes for pinned instance CPUs can be scheduled. For example, NovaComputeCpuDedicatedSet: [4-12,^8,15] reserves cores from 4-12 and 15, excluding 8. If setting this option, do not set the deprecated NovaVcpuPinSet parameter. NovaComputeCpuSharedSet If the deprecated NovaVcpuPinSet option is not set, then NovaComputeCpuSharedSet is set to a comma-separated list or range of physical host CPU numbers used to provide vCPU inventory, determine the host CPUs that unpinned instances can be scheduled to, and determine the host CPUS that instance emulator threads should be offloaded to for instances configured with the share emulator thread policy, hw:emulator_threads_policy=share . If the deprecated NovaVcpuPinSet is set, then NovaComputeCpuSharedSet is set to a list or range of host CPU cores used to determine the host CPUs that instance emulator threads should be offloaded to for instances configured with the share emulator thread policy (hw:emulator_threads_policy=share). In this case, NovaVcpuPinSet is used to provide vCPU inventory and to determine the host CPUs that both pinned and unpinned instances can be scheduled to. For example, NovaComputeCpuSharedSet: [4-12,^8,15] reserves cores from 4-12 and 15, excluding 8. NovaComputeDisableIrqBalance Whether to disable irqbalance on compute nodes or not. Especially in Realtime Compute role one wants to keep it disabled. The default value is False . NovaComputeEnableKsm Whether to enable KSM on compute nodes or not. Especially in NFV use case one wants to keep it disabled. The default value is False . NovaComputeLibvirtType Libvirt domain type. Defaults to kvm . The default value is kvm . NovaComputeOptEnvVars List of optional environment variables. NovaComputeOptVolumes List of optional volumes. NovaCPUAllocationRatio Virtual CPU to physical CPU allocation ratio. The default value is 0.0 . NovaCronArchiveDeleteAllCells Archive deleted instances from all cells. The default value is True . NovaCronArchiveDeleteRowsAge Cron to archive deleted instances - Age. This will define the retention policy when archiving the deleted instances entries in days. 0 means archive data older than today in shadow tables. The default value is 90 . The default value is 90 . NovaCronArchiveDeleteRowsDestination Cron to move deleted instances to another table - Log destination. The default value is /var/log/nova/nova-rowsflush.log . NovaCronArchiveDeleteRowsHour Cron to move deleted instances to another table - Hour. The default value is 0 . NovaCronArchiveDeleteRowsMaxDelay Cron to move deleted instances to another table - Max Delay. The default value is 3600 . NovaCronArchiveDeleteRowsMaxRows Cron to move deleted instances to another table - Max Rows. The default value is 1000 . NovaCronArchiveDeleteRowsMinute Cron to move deleted instances to another table - Minute. The default value is 1 . NovaCronArchiveDeleteRowsMonth Cron to move deleted instances to another table - Month. The default value is * . NovaCronArchiveDeleteRowsMonthday Cron to move deleted instances to another table - Month Day. The default value is * . NovaCronArchiveDeleteRowsPurge Purge shadow tables immediately after scheduled archiving. The default value is False . NovaCronArchiveDeleteRowsUntilComplete Cron to move deleted instances to another table - Until complete. The default value is True . NovaCronArchiveDeleteRowsUser Cron to move deleted instances to another table - User. The default value is nova . NovaCronArchiveDeleteRowsWeekday Cron to move deleted instances to another table - Week Day. The default value is * . NovaCronPurgeShadowTablesAge Cron to purge shadow tables - Age This will define the retention policy when purging the shadow tables in days. 0 means, purge data older than today in shadow tables. The default value is 14 . NovaCronPurgeShadowTablesAllCells Cron to purge shadow tables - All cells. The default value is True . NovaCronPurgeShadowTablesDestination Cron to purge shadow tables - Log destination. The default value is /var/log/nova/nova-rowspurge.log . NovaCronPurgeShadowTablesHour Cron to purge shadow tables - Hour. The default value is 5 . NovaCronPurgeShadowTablesMaxDelay Cron to purge shadow tables - Max Delay. The default value is 3600 . NovaCronPurgeShadowTablesMinute Cron to purge shadow tables - Minute. The default value is 0 . NovaCronPurgeShadowTablesMonth Cron to purge shadow tables - Month. The default value is * . NovaCronPurgeShadowTablesMonthday Cron to purge shadow tables - Month Day. The default value is * . NovaCronPurgeShadowTablesUser Cron to purge shadow tables - User. The default value is nova . NovaCronPurgeShadowTablesVerbose Cron to purge shadow tables - Verbose. The default value is False . NovaCronPurgeShadowTablesWeekday Cron to purge shadow tables - Week Day. The default value is * . NovaCrossAZAttach Whether instances can attach cinder volumes from a different availability zone. The default value is True . NovaDbSyncTimeout Timeout for OpenStack Compute (nova) database synchronization in seconds. The default value is 300 . NovaDefaultFloatingPool Default pool for floating IP addresses. The default value is public . NovaDisableImageDownloadToRbd Refuse to boot an instance if it would require downloading from glance and uploading to ceph instead of a COW clone. The default value is False . NovaDiskAllocationRatio Virtual disk to physical disk allocation ratio. The default value is 0.0 . NovaEnableDBArchive Whether to create cron job for archiving soft deleted rows in OpenStack Compute (nova) database. The default value is True . NovaEnableDBPurge Whether to create cron job for purging soft deleted rows in OpenStack Compute (nova) database. The default value is True . NovaEnableNUMALiveMigration Whether to enable or not the live migration for NUMA topology instances. The default value is False . NovaGlanceEnableRbdDownload Enable download of OpenStack Image Storage (glance) images directly via RBD. The default value is False . NovaGlanceRbdDownloadMultistoreID The hash key, which is the backend ID, of the GlanceMultistoreConfig to be used for the role where NovaGlanceEnableRbdDownload is enabled and defaults should be overridden. If CephClientUserName or GlanceRbdPoolName are not set in the GlanceMultistoreConfig, the global values of those parameters will be used. NovaHWMachineType Specifies the default machine type for each host architecture. Red Hat recommends setting the default to the lowest RHEL minor release in your environment, for backwards compatibility during live migration. The default value is x86_64=pc-i440fx-rhel7.6.0,aarch64=virt-rhel7.6.0,ppc64=pseries-rhel7.6.0,ppc64le=pseries-rhel7.6.0 . NovaImageCacheTTL Time in seconds that nova compute should continue caching an image once it is no longer used by any instances on the host. The default value is 86400 . NovaImageTypeExcludeList List of image formats that should not be advertised as supported by the compute service. NovaLibvirtCPUMode The libvirt CPU mode to configure. Defaults to host-model if virt_type is set to kvm, otherwise defaults to none . The default value is host-model . NovaLibvirtCPUModelExtraFlags This allows specifying granular CPU feature flags when specifying CPU models. Only has effect if cpu_mode is not set to none . NovaLibvirtCPUModels The named libvirt CPU model (see names listed in /usr/share/libvirt/cpu_map.xml). Only has effect if cpu_mode="custom" and virt_type="kvm|qemu". NovaLibvirtFileBackedMemory Available capacity in MiB for file-backed memory. When configured, the NovaRAMAllocationRatio and NovaReservedHostMemory parameters must be set to 0. The default value is 0 . NovaLibvirtMaxQueues Add parameter to configure the libvirt max_queues. The maximum number of virtio queue pairs that can be enabled when creating a multiqueue guest. The number of virtio queues allocated will be the lesser of the CPUs requested by the guest and the max value defined. Default 0 corresponds to not set. The default value is 0 . NovaLibvirtMemStatsPeriodSeconds A number of seconds to memory usage statistics period, zero or negative value mean to disable memory usage statistics. The default value is 10 . NovaLibvirtNumPciePorts Set num_pcie_ports to specify the number of PCIe ports an instance will get. Libvirt allows a custom number of PCIe ports (pcie-root-port controllers) a target instance will get. Some will be used by default, rest will be available for hotplug use. The default value is 16 . NovaLibvirtOptVolumes List of optional volumes to be mounted. NovaLibvirtRxQueueSize Virtio-net RX queue size. Valid values are 256, 512, 1024. The default value is 512 . NovaLibvirtTxQueueSize Virtio-net TX queue size. Valid values are 256, 512, 1024. The default value is 512 . NovaLibvirtVolumeUseMultipath Whether to enable or not the multipath connection of the volumes. The default value is False . NovaLiveMigrationPermitAutoConverge Defaults to "True" to slow down the instance CPU until the memory copy process is faster than the instance's memory writes when the migration performance is slow and might not complete. Auto converge will only be used if this flag is set to True and post copy is not permitted or post copy is unavailable due to the version of libvirt and QEMU. The default value is True . NovaLiveMigrationPermitPostCopy If "True" activates the instance on the destination node before migration is complete, and to set an upper bound on the memory that needs to be transferred. Post copy gets enabled per default if the compute roles is not a realtime role or disabled by this parameter. The default value is True . NovaLiveMigrationWaitForVIFPlug Whether to wait for network-vif-plugged events before starting guest transfer. The default value is True . NovaLocalMetadataPerCell Indicates that the nova-metadata API service has been deployed per-cell, so that we can have better performance and data isolation in a multi-cell deployment. Users should consider the use of this configuration depending on how OpenStack Networking (neutron) is setup. If networks span cells, you might need to run nova-metadata API service globally. If your networks are segmented along cell boundaries, then you can run nova-metadata API service per cell. When running nova-metadata API service per cell, you should also configure each OpenStack Networking (neutron) metadata-agent to point to the corresponding nova-metadata API service. The default value is False . NovaNfsEnabled Whether to enable or not the NFS backend for OpenStack Compute (nova). The default value is False . NovaNfsOptions NFS mount options for nova storage (when NovaNfsEnabled is true). The default value is context=system_u:object_r:nfs_t:s0 . NovaNfsShare NFS share to mount for nova storage (when NovaNfsEnabled is true). NovaNfsVersion NFS version used for nova storage (when NovaNfsEnabled is true). Since NFSv3 does not support full locking a NFSv4 version need to be used. To not break current installations the default is the hard coded version 4. The default value is 4 . NovaOVSBridge Name of integration bridge used by Open vSwitch. The default value is br-int . NovaOVSDBConnection OVS DB connection string to used by OpenStack Compute (nova). NovaPassword The password for the OpenStack Compute (nova) service and database account. NovaPCIPassthrough YAML list of PCI passthrough whitelist parameters. NovaPMEMMappings PMEM namespace mappings as backend for vPMEM feature. This parameter sets Nova's pmem_namespaces configuration options. PMEM namespaces needs to be create manually or with conjunction with NovaPMEMNamespaces parameter. Requires format: USDLABEL:USDNSNAME[|USDNSNAME][,USDLABEL:USDNSNAME[|USDNSNAME]]. NovaPMEMNamespaces Creates PMEM namespaces on the host server using ndctl tool through Ansible. Requires format: USDSIZE:USDNSNAME[,USDSIZE:USDNSNAME... ]. USDSIZE supports the suffixes "k" or "K" for KiB, "m" or "M" for MiB, "g" or "G" for GiB and "t" or "T" for TiB. NOTE: This requires properly configured NVDIMM regions and enough space for requested namespaces. NovaRAMAllocationRatio Virtual RAM to physical RAM allocation ratio. The default value is 1.0 . NovaReservedHostMemory Reserved RAM for host processes. The default value is 4096 . NovaReservedHugePages A list of valid key=value which reflect NUMA node ID, page size (Default unit is KiB) and number of pages to be reserved. Example - NovaReservedHugePages: ["node:0,size:2048,count:64","node:1,size:1GB,count:1"] will reserve on NUMA node 0 64 pages of 2MiB and on NUMA node 1 1 page of 1GiB. NovaResumeGuestsShutdownTimeout Number of seconds we're willing to wait for a guest to shut down. If this is 0, then there is no time out (use with caution, as guests might not respond to a shutdown request). The default value is 300 seconds (5 minutes). The default value is 300 . NovaResumeGuestsStateOnHostBoot Whether to start running instance on compute host reboot. The default value is False . NovaSchedulerAvailableFilters List of available filters for OpenStack Compute (nova) to use to filter nodes. NovaSchedulerDefaultFilters An array of filters OpenStack Compute (nova) uses to filter a node. OpenStack Compute applies these filters in the order they are listed. Place your most restrictive filters first to make the filtering process more efficient. NovaSchedulerDiscoverHostsInCellsInterval This value controls how often (in seconds) the scheduler should attempt to discover new hosts that have been added to cells. The default value of -1 disables the periodic task completely. It is recommended to set this parameter for deployments using OpenStack Bare Metal (ironic). The default value is -1 . NovaSchedulerEnableIsolatedAggregateFiltering This setting allows the scheduler to restrict hosts in aggregates based on matching required traits in the aggregate metadata and the instance flavor/image. If an aggregate is configured with a property with key trait:USDTRAIT_NAME and value required, the instance flavor extra_specs and/or image metadata must also contain trait:USDTRAIT_NAME=required to be eligible to be scheduled to hosts in that aggregate. The default value is False . NovaSchedulerLimitTenantsToPlacementAggregate This value allows to have tenant isolation with placement. It ensures hosts in tenant-isolated host aggregate and availability zones will only be available to specific set of tenants. The default value is False . NovaSchedulerMaxAttempts Maximum number of attempts the scheduler will make when deploying the instance. You should keep it greater or equal to the number of bare metal nodes you expect to deploy at once to work around potential race conditions when scheduling. The default value is 3 . NovaSchedulerPlacementAggregateRequiredForTenants This setting, when NovaSchedulerLimitTenantsToPlacementAggregate is true, controls whether or not a tenant with no aggregate affinity will be allowed to schedule to any available node. If aggregates are used to limit some tenants but not all, then this should be False. If all tenants should be confined via aggregate, then this should be True. The default value is False . NovaSchedulerQueryImageType This setting causes the scheduler to ask placement only for compute hosts that support the disk_format of the image used in the request. The default value is True . NovaSchedulerQueryPlacementForAvailabilityZone This setting allows the scheduler to look up a host aggregate with metadata key of availability zone set to the value provided by incoming request, and request result from placement be limited to that aggregate. The default value is False . NovaSchedulerWorkers Number of workers for OpenStack Compute (nova) Scheduler services. The default value is 0 . NovaStatedirOwnershipSkip List of paths relative to nova_statedir to ignore when recursively setting the ownership and selinux context. The default value is ['triliovault-mounts'] . NovaSyncPowerStateInterval Interval to sync power states between the database and the hypervisor. Set to -1 to disable. Setting this to 0 will run at the default rate. The default value is 0 . NovaVcpuPinSet (Deprecated) A list or range of physical CPU cores to reserve for virtual machine processes. For example, NovaVcpuPinSet: [4-12,^8] reserves cores from 4-12 excluding 8. This parameter has been deprecated. Use NovaComputeCpuDedicatedSet and NovaComputeCpuSharedSet instead. NovaVNCCertificateKeySize Override the private key size used when creating the certificate for this service. NovaVNCProxySSLCiphers OpenSSL cipher preference string that specifies what ciphers to allow for TLS connections from clients. See the man page for the OpenSSL ciphers command for details of the cipher preference string format and allowed values. NovaVNCProxySSLMinimumVersion Minimum allowed SSL/TLS protocol version. Valid values are default , tlsv1_1 , tlsv1_2 , and tlsv1_3 . A value of default will use the underlying system OpenSSL defaults. The default value is default . NovaWorkers Number of workers for the Compute's Conductor service. Note that more workers creates a larger number of processes on systems, which results in excess memory consumption. 0 sets to the OpenStack internal default, which is equal to the number of CPU cores on the node. The default value is 0 . OvsDpdkSocketMemory Sets the amount of hugepage memory to assign per NUMA node. It is recommended to use the socket closest to the PCIe slot used for the desired DPDK NIC. The format should be in "<socket 0 mem>, <socket 1 mem>, <socket n mem>", where the value is specified in MB. For example: "1024,0". PlacementAPIInterface Endpoint interface to be used for the placement API. The default value is internal . PlacementPassword The password for the Placement service and database account. QemuCACert This specifies the CA certificate to use for qemu. This file will be symlinked to the default CA path, which is /etc/pki/qemu/ca-cert.pem. This parameter should be used if the default (which comes from the InternalTLSQemuCAFile parameter) is not desired. The current default reflects TripleO's default CA, which is FreeIPA. It will only be used if internal TLS is enabled. QemuClientCertificateKeySize Override the private key size used when creating the certificate for this service. QemuDefaultTLSVerify Whether to enable or disable TLS client certificate verification. Enabling this option will reject any client who does not have a certificate signed by the CA in /etc/pki/qemu/ca-cert.pem. The default value is False . QemuMemoryBackingDir Directory used for memoryBacking source if configured as file. NOTE: big files will be stored here. QemuServerCertificateKeySize Override the private key size used when creating the certificate for this service. StackUpdateType Type of update, to differentiate between UPGRADE and UPDATE cases when StackAction is UPDATE (both are the same stack action). UpgradeLevelNovaCompute OpenStack Compute upgrade level. UseTLSTransportForNbd If set to true and if EnableInternalTLS is enabled, it will enable TLS transport for libvirt NBD and configure the relevant keys for libvirt. The default value is True . UseTLSTransportForVnc If set to true and if EnableInternalTLS is enabled, it will enable TLS transport for libvirt VNC and configure the relevant keys for libvirt. The default value is True . VerifyGlanceSignatures Whether to verify image signatures. The default value is False . VhostuserSocketGroup The vhost-user socket directory group name. Defaults to qemu . When vhostuser mode is dpdkvhostuserclient (which is the default mode), the vhost socket is created by qemu. The default value is qemu .

Commands: