Pike Series Release Notes


New Features

  • Adds the kombu_failover_strategy option for configuring oslo.messaging.rabbit. This will determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable.

  • Add the ability to set reserved_huge_pages on nova-computes via a string or a list of strings.

  • This allows for specifying granular CPU feature flags, when specifying CPU models. It should be set only if cpu_mode and cpu_model conf parameter are set and cpu_mode parameter value is set to “custom”. The recent “Meltdown” CVE fixes have resulted in critical performance penalty which impacts every Nova guest within certain CPU models.

    More info is available in nova release notes.

  • Added group parameter to configure qemu.conf

  • Add openstack-db tag to Exec that run db-sync.

Bug Fixes

  • Fix live_migration_inbound_addr when used with non-default port/user/extra_params

    live_migration_scheme was being used when live_migration_inbound_addr was set. This prohibits a non-default port/user/extra_params being used which is often required to fully describe the uri, particularly for the ssh transport (see https://bugs.launchpad.net/nova/+bug/1671288).

    However live_migration_inbound_addr also works with live_migration_uri, so for now revert back to using live_migration_uri in all cases.

  • Correct permissions on the nova logfiles. If the nova-manage commands (such as dbsync) were initially run as root then subsequent runs as the nova user would fail as the logfile is owned by root (see bug 1671681). The ownership of all nova logfiles is now checked before configuring nova, as a similar issue could prevent a service starting, and the nova-manage command is now run as the correct user.

    Adds nova::params::nova_user and nova::params::nova_group. nova::cron::archive_deleted_rows::user now defaults to nova::params::nova_user instead of hardcoding ‘nova’


New Features

  • Add parameter to set notification format. Specifies which notification format shall be used by nova.

Deprecation Notes

  • Nova-cert service configuration class has been removed.


New Features

  • Added nova patching configuration parameters. These parameters are available in nova.conf, but are not configurable using puppet-nova. The monkey patching parameters allow patching a decorator for all functions in specified modules. This change create patch/config.pp file to make these parameters configurable.

    • Add ability to configure compute/consecutive_build_service_disable_threshold on the compute notes.

  • Add parameter to apacher_wsgi to allow overwrite and/or add additional wsgi process options.

Deprecation Notes

  • nova::api::pci_alias is deprecated by nova::pci::aliases nova::compute::pci_passthrough is deprecated by nova::compute::pci::passthrough

Bug Fixes

  • [pci]/alias option is now required in the nova configuration file on compute nodes too. This requires refactoring of the manifests as the parameter is common to nova::compute and nova::api. Common pci configuration is now done by the nova::pci class while compute specific configuration is done now by the nova::compute::pci class.


New Features

  • The nova::api::pci_alias and nova::compute::pci_passthrough params now accept an array of hashes. A valid JSON encoded array of objects is also acceptable.

Deprecation Notes

  • nova::rpc_backend is deprecated and will be removed in a future release. Please use nova::default_transport_url instead.

  • Invalid JSON was previously accepted for the nova::api::pci_alias and nova::compute::pci_passthrough parameters. This format is now deprecated and may not be accepted in future.


New Features

  • Add libvirtd_config resource and nova::compute::libvirt::config class for managing /etc/libvirt/libvirtd.conf.

  • Expose the discover_hosts_in_cells_interval option in the scheduler manifest. Changing this option is needed for bare metal clouds starting with the Ocata release.

Upgrade Notes

  • Removed nova-objectstore service config options, this service has been remove since Mitaka.

  • Remove Nova API v3 endpoint options which deprecated before Newton.

  • Removes Ironic deprecated admin_* authtoken options.

  • Deprecated keystone authtoken signing_dir option is removed in Pike.

  • Removes deprecated Neutron “neutron_admin_*” auth options.

  • Previous deprecated quota options ‘’quota_volumes’’ ‘’quota_gigabytes’’ ‘’quota_max_injected_files’’ ‘’quota_injected_file_path_bytes’’ ‘’quota_max_injected_file_content_bytes’’ ‘’quota_max_injected_file_path_bytes’’ ‘’quota_driver’’ are removed for now, these options deprecated since 2014.

Deprecation Notes

  • nova::api::default_floating_pool has been deprecated. Please use nova::network::neutron::default_floating_pool instead.

Bug Fixes

  • PCI configuration options name should be same as mentioned in nova configuration file, since these are moved to PCI section. Options affected by this change:

    • pci_alias to alias

    • pci_passthrough_whitelist to passthrough_whitelist


New Features

  • Adds a “nova_cell_v2” provider and type for creating and updating cell_v2 cells.

Upgrade Notes

  • PCI configuration options have been moved to the ‘pci’ group. They should no longer be included in the ‘DEFAULT’ group. Options affected by this change:

    • pci_alias

    • pci_passthrough_whitelist

Deprecation Notes

  • The “nova::cell_v2::cell” define, which does not allow cell configs to be updated, is deprecated by the “nova_cell_v2” type.

  • migration::libvirt::live_migration_progress_timeout has been deprecated as this feature has been found not to work. See bug 1644248 for more details.

  • nova::cert is deprecated and will be removed in Queens. Nova removed the cert daemon during Pike cycle.

Bug Fixes

  • The configuration for libvirt/enabled_perf_events requires a comma seperated string for the value. The libvirt_enabled_perf_events parameter will now properly convert arrays being passed in to a string. LP#1690946

  • novncproxy_base_url parameter is only consumed by nova-compute. Thus it should not be configured on controller node, where novnc proxy service runs. In packstack deployment it causes problem when controller and compute are configured on the same node and novncproxy_base_url is set to In this case nova will return incorrect novnc url for instances, that run on such compute node.

Other Notes

  • Novajoin now uses it’s own user and configuration directory by default. As to separate from the nova user and have it easier to use in containerized environments.


New Features

  • The os_interface option for the nova placement API is not configurable. This allows nodes communicating with the placement API (such as the compute nodes) to be able to choose which keystone endpoint’s interface to use.

  • One can now create a keystone service user and configure the authtoken settings for the novajoin vendordata plugin via its own auth and authtoken manifests.

  • The paremeter ‘live_migration_inbound_addr’ was introduced to the libvirt live migration module. This sets the configuration option with the same name in the nova configuration, in the ‘libvirt’ section.

  • If TLS is enabled for libvirt’s live migration, the module will set the configuration option named ‘live_migration_scheme’ in the ‘libvirt’ section to have the value ‘tls’. This will be used by nova to form the scheme for the live migration URI, e.g. ‘qemu+tls://…’.

  • Note that the usage of ‘live_migratin_inbound_addr’ doesn’t permit adding extra parameters to the live migration URI as of the writing of this.

  • Adds the vendordata_dynamic_failure_fatal option to the API manifest. Which, if set to true, makes nova take errors that happened in the vendordata plugins as fatal.

  • Add new parameter “control_exchange”, the default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.

  • Add new parameter “nova::compute::libvirt::libvirt_snapshot_image_format”, format to save snapshots to. Some filesystems have a preference and only operate on raw or qcow2.

  • Add a new parameter, “nova::migration::libvirt::listen_address”, to control the address/interface that libvirtd binds to.

  • Add support for libvirt live-migration over SSH including the ability to override all libvirt options applicable to the SSH transport. For more info see https://libvirt.org/remote.html#Remote_URI_reference. Adds new parameter “nova::migration::libvirt::transport” Adds new parameter “nova::migration::libvirt::client_user” Adds new parameter “nova::migration::libvirt::client_port” Adds new parameter “nova::migration::libvirt::client_extraparams”

  • Vendordata Dynamic plugins’ authentication can be configured via the vendordata_dynamic_plugin_auth_* parameters for the api manifest. These parameters set the values in the vendordata_dynamic_auth section of the nova configuration.

  • Case insensitive ‘libvirt_rbd_secret_uuid’ option for nova compute rbd.

Deprecation Notes

  • The “nova::migration::libvirt::use_tls” parameter is deprecated by the “nova::migration::libvirt::transport” parameter.

Other Notes

  • Parameters that control the number of spawned child processes for distributing processing have had their default value changed from ::processorcount to ::os_workers.

  • default_availability_zone, default_schedule_zone, internal_service_availability_zone and compute_manager were deprecated but are now removed from puppet-nova.

  • ram, cpu and disk filters were moved top level in newton so are removed from scheduler filter.