We high-spiritedly announce the release of: nova 15.0.0: Cloud computing fabric controller This release is part of the ocata release series. Download the package from: https://tarballs.openstack.org/nova/ For more details, please see below. 15.0.0 ^^^^^^ Neutron is now the default configuration for new deployments. The 15.0.0 release includes many new features and bug fixes. It is difficult to cover all the changes that have been introduced. Please at least read the upgrade section which describes the required actions to upgrade your cloud from 14.0.0 (Newton) to 15.0.0 (Ocata). That said, a few major changes are worth mentioning. This is not an exhaustive list: * The latest API microversion supported for Ocata is v2.42. Details on REST API microversions added since the 14.0.0 Newton release can be found in the REST API Version History page. * The Nova FilterScheduler driver is now able to make scheduling decisions based on the new Placement RESTful API endpoint that becomes mandatory in Ocata. Accordingly, the compute nodes will refuse to start if you do not amend the configuration to add the "[placement]" section so they can provide their resource usage. For the moment, only CPU, RAM and disk resource usage are verified by the Placement API, but we plan to add more resource classes in the next release. You will find further details in the features and upgrade sections below, and the Placement API page. * Ocata contains a lot of new CellsV2 functions, but not all of it is fully ready for production. All deployments must set up their existing nodes as a cell, with database connection and MQ transport_url config items matching that cell. In a subsequent release, additional cells will be fully supported, as will a migration path for CellsV1 users. By default, an Ocata deployment now needs to configure at least one new "Cell V2" (not to be confused with the first version of cells). In Newton, it was possible to deploy a single cell V2 and schedule on it but this was optional. Now in Ocata, single CellsV2 deployments are mandatory. More details to be found when reading the release notes below. * There is a new nova-status command that gives operators a better view of their cloud. In particular, a new subcommand called "upgrade" allows operators to run a pre-flight check on their deployment before upgrading. This helps them to proactively identify potential upgrade issues that could occur. (http://docs.openstack.org/developer/nova/api_microversion_history.h tml) (http://docs.openstack.org/developer/nova/placement.html) New Features ************ * Updates the network metadata that is passed to configdrive by the Ironic virt driver. The metadata now includes network information about port groups and their associated ports. It will be used to configure port groups on the baremetal instance side. * Adding aarch64 to the list of supported architectures for NUMA and hugepage features. This requires libvirt>=1.2.7 for NUMA, libvirt>=1.2.8 for hugepage and qemu v2.1.0 for both. * OSProfiler support was added. This cross-project profiling library allows to trace various OpenStack requests through all OpenStack services that support it. To initiate OpenStack request tracing *--profile <HMAC_KEY>* option needs to be added to the CLI command. This key needs to present one of the secret keys defined in nova.conf configuration file with *hmac_keys* option under the *[profiler]* configuration section. To enable or disable Nova profiling the appropriate *enabled* option under the same section needs to be set either to *True* or *False*. By default Nova will trace all API and RPC requests, but there is an opportunity to trace DB requests as well. For this purpose *trace_sqlalchemy* option needs to be set to *True*. As a prerequisite OSProfiler library and its storage backend needs to be installed to the environment. If so (and if profiling is enabled in nova.conf) the trace can be generated via following command, for instance - *$ nova --profile SECRET_KEY boot --image <image> --flavor <flavor> <name>*. At the end of output there will be message with <trace_id>, and to plot nice HTML graphs the following command should be used - *$ osprofiler trace show <trace_id> --html --out result.html* * The following versioned swap volume notifications have been added in the compute manager: * instance.volume_swap.start * instance.volume_swap.end * instance.volume_swap.error * Support for archiving all deleted rows from the database has been added to the "nova-manage db archive_deleted_rows" command. The "-- until-complete" option will continuously run the process until no more rows are available for archiving. * Virtuozzo hypervisor now supports ephemeral disks for containers. * Support versioned notifications for flavor operations like create, delete, update access and update extra_specs. * The Hyper-V driver now supports the following quota flavor extra specs, allowing to specify IO limits applied for each of the instance local disks, individually. * quota:disk_total_bytes_sec * quota:disk_total_iops_sec - those are normalized IOPS, thus each IO request is accounted for as 1 normalized IO if the size of the request is less than or equal to a predefined base size (8KB). Also, the following Cinder front-end QoS specs are now supported for SMB Cinder backends: * total_bytes_sec * total_iops_sec - normalized IOPS * The Hyper-V driver now uses os-brick for volume related operations, introducing the following new features: * Attaching volumes over fibre channel on a passthrough basis. * Improved iSCSI MPIO support, by connecting to multiple iSCSI targets/portals when available and allowing using a predefined list of initiator HBAs. * Adds trigger crash dump support to ironic virt driver. This feature requires the Ironic service to support API version 1.29 or later. It also requires python-ironicclient >= 1.11.0. * Adds soft reboot support to Ironic virt driver. If hardware driver in Ironic doesn't support soft reboot, hard reboot is tried. This feature requires the Ironic service to support API version 1.27 or later. It also requires python-ironicclient >= 1.10.0. * Adds soft power off support to Ironic virt driver. This feature requires the Ironic service to support API version 1.27 or later. It also requires python-ironicclient >= 1.10.0. * Virtuozzo hypervisor now supports libvirt callback to set admin password. Requires libvirt>=2.0.0. * The XenServer compute driver now supports hot-plugging virtual network interfaces. * The same policy rule (os_compute_api:os-server-groups) was being used for all actions (show, index, delete, create) for server_groups REST APIs. It was thus impossible to provide different RBAC for specific actions based on roles. To address this changes were made to have separate policy rules for each action. The original rule (os_compute_api:os-server-groups) is left unchanged for backward compatibility. * The libvirt driver now has a "live_migration_scheme" configuration option which should be used where the "live_migration_uri" would previously have been configured with non-default scheme. * The nova Hyper-V driver can now plug OVS VIFs. This means that neutron-ovs-agent can be used as an L2 agent instead of neutron- hyperv-agent. In order to plug OVS VIFs, the configuration option "vswitch_name" from the "hyperv" section must be set to the vSwitch which has the OVS extension enabled. Hot-plugging is only supported on Windows / Hyper-V Server 2016 + Generation 2 VMs. Older Hyper-V versions only support attaching vNICs while the VM is turned off. * The nova Hyper-V driver now supports adding PCI passthrough devices to Hyper-V instances (discrete device assignment). This feature has been introduced in Windows / Hyper-V Server 2016 and offers the possibility to attach some of the host's PCI devices (e.g.: GPU devices) directly to Hyper-V instances. In order to benefit from this feature, Hyper-V compute nodes must support SR-IOV and must have assignable PCI devices. This can easily be checked by running the following powershell commands: Start-BitsTransfer https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/mas... .\survey-dda.ps1 The script above will print a list of assignable PCI devices available on the host, and if the host supports SR-IOV. If the host supports this feature and it has at least an assignable PCI device, the host must be configured to allow those PCI devices to be assigned to VMs. For information on how to do this, follow this guide [1]. After the compute nodes have been configured, the nova-api, nova- scheduler, and the nova-compute services will have to be configured next [2]. [1] https://blogs.technet.microsoft.com/heyscriptingguy/2016/07/14 /passing-through-devices-to-hyper-v-vms-by-using-discrete-device- assignment/ [2] http://docs.openstack.org/admin-guide/compute-pci- passthrough.html * Added boot order support in the Hyper-V driver. The HyperVDriver can now set the requested boot order for instances that are Generation 2 VMs (the given image has the property "hw_machine_type=hyperv- gen2"). For Generation 1 VMs, the spawned VM's boot order is changed only if the given image is an ISO, booting from ISO first. * The nova Hyper-V driver now supports symmetric NUMA topologies. This means that all the NUMA nodes in the NUMA topology must have the same amount of vCPUs and memory. It can easily be requested by having the flavor extra_spec "hw:numa_nodes", or the image property "hw_numa_nodes". An instance with NUMA topology cannot have dynamic memory enabled. Thus, if an instance requires a NUMA topology, it will be spawned without dynamic memory, regardless of the value set in the "dynamic_memory_ratio" config option in the compute node's "nova.conf" file. In order to benefit from this feature, the host's NUMA spanning must be disabled. Hyper-V does not guarantee CPU pinning, thus, the nova Hyper-V driver will not spawn instances with the flavor extra_spec "hw:cpu_policy" or image property "hw_cpu_policy" set to "dedicated". * Added support for Hyper-V VMs with UEFI Secure Boot enabled. In order to create such VMs, there are a couple of things to consider: * Images should be prepared for Generation 2 VMs. The image property "hw_machine_type=hyperv-gen2" is mandatory. * The guest OS type must be specified in order to properly spawn the VMs. It can be specifed through the image property "os_type", and the acceptable values are "windows" or "linux". * The UEFI Secure Boot feature can be requested through the image property "os_secure_boot" (acceptable values: "disabled", "optional", "required") or flavor extra spec "os:secure_boot" (acceptable values: "disabled", "required"). The flavor extra spec will take precedence. If the image property and the flavor extra spec values are conflicting, then an exception is raised. * This feature is supported on Windows / Hyper-V Server 2012 R2 for Windows guests, and Windows / Hyper-V Server 2016 for both Windows and Linux guests. * Encryption provider constants have been introduced detailing the supported encryption formats such as LUKs along with their associated in-tree provider implementations. These constants should now be used to identify an encryption provider implementation for a given encryption format. * Adds serial console support to Ironic driver. Nova now supports serial console to Ironic bare metals for Ironic "socat" console driver. In order to use this feature, serial console must be configured in Nova and the Ironic "socat" console driver must be used and configured in Ironic. Ironic serial console configuration is documented in http://docs.openstack.org/developer/ironic/deploy/console.html. * Live migration is supported for both Virtuozzo containers and virtual machines when using virt_type=parallels. * The following legacy notifications have been transformed to a new versioned payload: * aggregate.create * aggregate.delete * instance.create * instance.finish_resize * instance.power_off * instance.resume * instance.shelve_offload * instance.shutdown * instance.snapshot * instance.unpause * instance.unshelve Every versioned notification has a sample file stored under doc/notification_samples directory. Consult http://docs.openstack.org/developer/nova/notifications.html for more information. * A new "nova-status upgrade check" CLI is provided for checking the readiness of a deployment when preparing to upgrade to the latest release. The tool is written to handle both fresh installs and upgrades from an earlier release, for example upgrading from the 14.0.3 Newton release. There can be multiple checks performed with varying degrees of success. More details on the command and how to interpret results are in the nova-status man page. (http://docs.openstack.org/developer/nova/man/nova-status.html) * All deployments will function as a single-cell environment. Multiple v2 cells are technically possible, but should only be used for testing as many other things will not work across cell boundaries yet. For details on cells v2 and the setup required for Nova with cells v2, see the cells documentation. [1] [1] http://docs.openstack.org/developer/nova/cells.html * Added microversion v2.40 which introduces pagination support for usage with the help of new optional parameters 'limit' and 'marker'. If 'limit' isn't provided, it will default to the configurable max limit which is currently 1000. /os-simple-tenant-usage?limit={limit}&marker={instance_uuid} /os-simple-tenant-usage/{tenant}?limit={limit}&marker={instance_uuid} Older microversions will not accept these new paging query parameters, but they will start to silently limit by the max limit to encourage the adoption of this new microversion, and circumvent the existing possibility DoS-like usage requests on systems with thousands of instances. * Enhance pci.passthrough_whitelist to support regular expression syntax. The 'address' field can be regular expression syntax. The old pci.passthrough_whitelist, glob sytnax, is still valid config. * A new Placement API microversion 1.3 is added with support for filtering the list of resource providers to include only those resource providers which are members of any of the aggregates listed by uuid in the *member_of* query parameter. The parameter is used when making a *GET /resource_providers* request. The value of the parameter uses the *in:* syntax to provide a list of aggregate uuids as follows: /resource_providers?member_of=in:09c931b0-c0d7-4e80-8e01-9e6511db8259,f8ab4fa2-804f-402e-b675-7918bd04b173 If other filtering query parameters are present, the results are a boolean AND of all the filters. * A new Placement API microversion 1.4 is added. Users may now query the Placement REST API for resource providers that have the ability to meet a set of requested resource amounts. The *GET /resource_providers* API call can have a "resources" query string parameter supplied that indicates the requested amounts of various resources that a provider must have the capacity to serve. The "resources" query string parameter takes the form: "?resources=$RESOURCE_CLASS_NAME:$AMOUNT,$RESOURCE_CLASS_NAME:$AMOU NT" For instance, if the user wishes to see resource providers that can service a request for 2 vCPUs, 1024 MB of RAM and 50 GB of disk space, the user can issue a request of: ``GET /resource_providers?resources=VCPU:2,MEMORY_MB:1024,DISK_GB:50`` The placement API is only available to admin users. * A new administrator-only resource endpoint was added to the OpenStack Placement REST API for managing custom resource classes. Custom resource classes are specific to a deployment and represent types of quantitative resources that are not interoperable between OpenStack clouds. See the Placement REST API Version History documentation for usage details. (http://docs.openstack.org/developer/nova/placement.html#id2) * nova-scheduler process is now calling the placement API in order to get a list of valid destinations before calling the filters. That works only if all your compute nodes are fully upgraded to Ocata. If some nodes are not upgraded, the scheduler will still lookup from the DB instead which is less performant. * A new 2.41 microversion was added to the Compute API. Users specifying this microversion will now see the 'uuid' attribute of aggregates when calling the *os-aggregates* REST API endpoint. * As new hosts are added to Nova, the *nova-manage cell_v2 discover_hosts* command must be run in order to map them into their cell. For deployments with proper automation, this is a trivial extra step in that process. However, for smaller or non-automated deployments, there is a new configuration variable for the scheduler process which will perform this discovery periodically. By setting *scheduler.discover_hosts_in_cells_interval* to a positive value, the scheduler will handle this for you. Note that this process involves listing all hosts in all cells, and is likely to be too heavyweight for large deployments to run all the time. * VLAN tags associated with instance network interfaces are now exposed via the metadata API and instance config drives and can be consumed by the instance. This is an extension of the device tagging mechanism added in past releases. This is useful for instances utilizing SR-IOV physical functions (PFs). The VLAN configuration for the guest's virtual interfaces associated with these devices cannot be configured inside the guest OS from the host, but nonetheless must be configured with the VLAN tags of the device to ensure packet delivery. This feature makes this possible. Note: VLAN tags are currently only supported via the Libvirt driver. * Added support for Keystone middleware feature where if service token is sent along with the user token, then it will ignore the expiration of user token. This helps deal with issues of user tokens expiring during long running operations, such as live-migration where nova tries to access Cinder and Neutron at the end of the operation using the user token that has expired. In order to use this functionality a service user needs to be created. Add service user configurations in "nova.conf" under "service_user" group and set "send_service_user_token" flag to "True". The minimum Keytone API version 3.8 and Keystone middleware version 4.12.0 is required to use this functionality. This only currently works with Nova - Cinder and Nova - Neutron API interactions. * The vendordata metadata system now caches boot time roles. Some external vendordata services want to provide metadata based on the role of the user who started the instance. It would be confusing if the metadata returned changed later if the role of the user changed, so we cache the boot time roles and then pass those to the external vendordata service. * The vendordata metadata system now supports a hard failure mode. This can be enabled using the "api.vendordata_dynamic_failure_fatal" configuration option. When enabled, an instance will fail to start if the instance cannot fetch dynamic vendordata. * The nova-manage online_data_migrations command now prints a tabular summary of completed and remaining records. The goal here is to get all your numbers to zero. The previous execution return code behavior is retained for scripting. * When using libvirt driver, vrouter VIFs (OpenContrail) now supports multiqueue mode, which allows to scale network performance across number of vCPUs. To use this feature one needs to create instance with more than 1 vCPU from an image with "hw_vif_multiqueue_enabled" property set to "true". * A list of valid vif models is extended for Virtuozzo hypervisor (virt_type=parallels) with VIRTIO, RTL8139 and E1000 models. Known Issues ************ * Flavor.projects (access) will not be present in the instance versioned notifications since notifications currently do not lazy- load fields. This limitation is being tracked with bug 1653221. (https://bugs.launchpad.net/nova/+bug/1653221) * Ironic nodes that were deleted from ironic's database during Newton may result in orphaned resource providers causing incorrect scheduling decisions, leading to a reschedule. If this happens, the orphaned resource providers will need to be identified and removed. See also https://bugs.launchpad.net/nova/+bug/1661258 * The live-migration progress timeout controlled by the configuration option "[libvirt]/live_migration_progress_timeout" has been discovered to frequently cause live-migrations to fail with a progress timeout error, even though the live-migration is still making good progress. To minimize problems caused by these checks we have changed the default to 0, which means do not trigger a timeout. To modify when a live-migration will fail with a timeout error, please now look at "[libvirt]/live_migration_completion_timeout" and "[libvirt]/live_migration_downtime". * When generating Libvirt XML to attach network interfaces for the *tap*, *ivs*, *iovisor*, *midonet*, and *vrouter* virtual interface types Nova previously generated an empty path attribute to the script element (*<script path=''/>*) of the interface. As of Libvirt 1.3.3 (commit) and later Libvirt no longer accepts an empty path attribute to the script element of the interface. Notably this includes Libvirt 2.0.0 as provided with RHEL 7.3 and CentOS 7.3-1611. The creation of virtual machines with offending interface definitions on a host with Libvirt 1.3.3 or later will result in an error "libvirtError: Cannot find '' in path: No such file or directory". Additionally, where virtual machines already exist that were created using earlier versions of Libvirt interactions with these virtual machines via Nova or other utilities (e.g. *virsh*) may result in similar errors. To mitigate this issue Nova no longer generates an empty path attribute to the script element when defining an interface. This resolves the issue with regards to virtual machine creation. To resolve the issue with regards to existing virtual machines a change to Libvirt is required, this is being tracked in Bugzilla 1412834 (https://libvirt.org/git/?p=libvirt.git;a=commit;h=9c17d665fdc5f0a b74500a14c30627014c11b2c0) (https://bugzilla.redhat.com/show_bug.cgi?id=1412834) * Once fully upgraded, if you create multiple real cells with hosts, the scheduler will utilize them, but those instances will likely be unusable because not all API functions are cells-aware yet. * Listing instances across multiple cells with a sort order will result in barber-pole sorting, striped across the cell boundaries. Upgrade Notes ************* * API configuration options have been moved to the 'api' group. They should no longer be included in the 'DEFAULT' group. Options affected by this change: * "auth_strategy" * "use_forwarded_for" * "config_drive_skip_versions" * "vendordata_providers" * "vendordata_dynamic_targets" * "vendordata_dynamic_ssl_certfile" * "vendordata_dynamic_connect_timeout" * "vendordata_dynamic_read_timeout" * "metadata_cache_expiration" * "vendordata_jsonfile_path" * "max_limit" (was "osapi_max_limit") * "compute_link_prefix" (was "osapi_compute_link_prefix") * "glance_link_prefix" (was "osapi_glance_link_prefix") * "allow_instance_snapshots" * "hide_server_address_states" (was "osapi_hide_server_address_states") * "fping_path" * "use_neutron_default_nets" * "neutron_default_tenant_id" * "enable_instance_password" * The "console_token_ttl" configuration option has been moved to the "consoleauth" group and renamed "token_ttl". It should no longer be included in the "DEFAULT" group. * To allow access to the versions REST API from diverse origins, CORS support has been added to the 'oscomputeversions' pipeline in '/etc/nova/api-paste.ini'. Existing deployments that wish to enable support should add the 'cors' filter at the start of the 'oscomputeversions' pipeline. * The ivs-ctl command has been added to the rootwrap filters in compute.filters. Deployments needing support for BigSwitch no longer need to add the filters manually nor include network.filters at installation. * All pci configuration options have been added to the 'pci' group. They should no longer be included in the 'DEFAULT' group. These options are as below: * pci_alias (now pci.alias) * pci_passthrough_whitelist (now pci.passthrough_whitelist) * All general scheduler configuration options have been added to the "scheduler" group. * "scheduler_driver" (now "driver") * "scheduler_host_manager" (now "host_manager") * "scheduler_driver_task_period" (now "periodic_task_interval") * "scheduler_max_attempts" (now "max_attempts") In addition, all filter scheduler configuration options have been added to the "filter_scheduler" group. * "scheduler_host_subset_size" (now "host_subset_size") * "scheduler_max_instances_per_host" (now "max_instances_per_host") * "scheduler_tracks_instance_changes" (now "track_instance_changes") * "scheduler_available_filters" (now "available_filters") * "scheduler_default_filters" (now "enabled_filters") * "baremetal_scheduler_default_filters" (now "baremetal_enabled_filters") * "scheduler_use_baremetal_filters" (now "use_baremetal_filters") * "scheduler_weight_classes" (now "weight_classes") * "ram_weight_multiplier" * "disk_weight_multipler" * "io_ops_weight_multipler" * "soft_affinity_weight_multiplier" * "soft_anti_affinity_weight_multiplier" * "isolated_images" * "isolated_hosts" * "restrict_isolated_hosts_to_isolated_images" * "aggregate_image_properties_isolation_namespace" * "aggregate_image_properties_isolation_separator" These options should no longer be included in the "DEFAULT" group. * The filter and sort query parameters for server list API are now limited according to whitelists. The whitelists are different for admin and non-admin users. **Filtering** The whitelist for REST API filters for admin users: * access_ip_v4 * access_ip_v6 * all_tenants * auto_disk_config * availability_zone * config_drive * changes-since * created_at * deleted * description * display_description * display_name * flavor * host * hostname * image * image_ref * ip * ip6 * kernel_id * key_name * launch_index * launched_at * limit * locked_by * marker * name * node * not-tags (available in 2.26+) * not-tags-any (available in 2.26+) * power_state * progress * project_id * ramdisk_id * reservation_id * root_device_name * sort_dir * sort_key * status * tags (available in 2.26+) * tags-any (available in 2.26+) * task_state * tenant_id * terminated_at * user_id * uuid * vm_state For non-admin users, there is a whitelist for filters already. That whitelist is unchanged. **Sorting** The whitelist for sort keys for admin users: * access_ip_v4 * access_ip_v6 * auto_disk_config * availability_zone * config_drive * created_at * display_description * display_name * host * hostname * image_ref * instance_type_id * kernel_id * key_name * launch_index * launched_at * locked_by * node * power_state * progress * project_id * ramdisk_id * root_device_name * task_state * terminated_at * updated_at * user_id * uuid * vm_state For non-admin users, the sort key "host" and "node" will be excluded. **Other** *HTTP Bad Request 400* will be returned for the filters/sort keys which are on joined tables or internal data model attributes. They would previously cause a *HTTP Server Internal Error 500*, namely: * block_device_mapping * info_cache * metadata * pci_devices * security_groups * services * system_metadata In order to maintain backward compatibility, filter and sort parameters which are not mapped to the REST API *servers* resource representation are ignored. * The three configuration options "cpu_allocation_ratio", "ram_allocation_ratio" and "disk_allocation_ratio" for the nova compute are now checked against negative values. If any of these three options is set to negative value then nova compute service will fail to start. * The default value for the "[xenserver]/vif_driver" configuration option has been changed to "nova.virt.xenapi.vif.XenAPIOpenVswitchDriver" to match the default configuration of "[DEFAULT]/use_neutron=True". * Support for **hw_watchdog_action** as a flavor extra spec has been removed. The valid flavor extra spec is **hw:watchdog_action** and the image property, which takes precedence, is **hw_watchdog_action**. * The Ironic driver now requires python-ironicclient>=1.9.0, and requires Ironic service to support API version 1.28 or higher. As usual, Ironic should be upgraded before Nova for a smooth upgrade process. * As of Ocata, the minimum version of VMware vCenter that nova compute will interoperate with will be 5.1.0. Deployments using older versions of vCenter should upgrade. Running with vCenter version less than 5.5.0 is also now deprecated and 5.5.0 will become the minimum version in the 16.0.0 Pike release of Nova. * "console_public_hostname" console options under the "DEFAULT" group have been moved to the "xenserver" group. * Following Notifications related configuration options have been moved from the "DEFAULT" group to the "notifications" group: * "notify_on_state_change" * "notify_on_api_faults" (was "notify_api_faults") * "default_level" (was "default_notification_level") * "default_publisher_id" * "notification_format" * When making connections to Ceph-backed volumes via the Libvirt driver, the auth values (rbd_user, rbd_secret_uuid) are now pulled from the backing cinder.conf rather than nova.conf. The nova.conf values are only used if set and the cinder.conf values are not set, but this fallback support is considered accidental and will be removed in the Nova 16.0.0 Pike release. See the Ceph documentation for configuring Cinder for RBD auth. (http://docs.ceph.com/docs/master/rbd/rbd-openstack/#configuring- cinder) * Nova no longer supports the deprecated Cinder v1 API. * Ocata requires that your deployment have created the cell and host mappings in Newton. If you have not done this, Ocata's *db sync* command will fail. Small deployments will want to run *nova-manage cell_v2 simple_cell_setup* on Newton before upgrading. Operators must create a new database for cell0 before running *cell_v2 simple_cell_setup*. The simple cell setup command expects the name of the cell0 database to be *<main database name>_cell0* as it will create a cell mapping for cell0 based on the main database connection, sync the cell0 database, and associate existing hosts and instances with the single cell. * The nova-network service was deprecated in the 14.0.0 Newton release. In the 15.0.0 Ocata release, nova-network will only work in a Cells v1 deployment. The Neutron networking service is now the default configuration for new deployments based on the "use_neutron" configuration option. * Most quota options have been moved into their own configuration group. The exception is quota_networks as it is an API flag not a quota flag. These options are as below: * "quota_instances" (now "instances") * "quota_cores" (now "cores") * "quota_ram" (now "ram") * "quota_floating_ips" (now "floating_ips") * "quota_fixed_ips" (now "fixed_ips") * "quota_metadata_items" (now "metadata_items") * "quota_injected_files" (now "injected_files") * "quota_injected_file_content_bytes" (now "injected_file_content_bytes") * "quota_injected_file_path_length" (now "injected_file_path_length") * "quota_security_groups" (now "security_groups") * "quota_security_group_rules" (now "security_group_rules") * "quota_key_pairs" (now "key_pairs") * "quota_server_groups" (now "server_groups") * "quota_server_group_members" (now "server_group_members") * "reservation_expire" * "until_refresh" * "max_age" * "quota_driver" (now "driver") * The nova-all binary to launch all services has been removed after a deprecation period. It was only intended for testing purposes and not production use. Please use the individual Nova binaries to launch services. * The "compute_stats_class" configuration option was deprecated since the 13.0.0 Mitaka release and has been removed. Compute statistics are now always generated from the "nova.compute.stats.Stats" class within Nova. * "use_glance_v1" option was removed due to plans to remove Glance V1 support during Ocata development. * The deprecated S3 image backend has been removed. * XenServer users must now set the value of xenserver.ovs_integration_bridge before they can use the system. Previously this had a default of "xapi1", which has now been removed, because it is dependent on the environment. The xapi<n> are internal bridges that are incrementally defined from zero and "xapi1" may not be the correct bridge. Operators should set this config value to the integration bridge used between all guests and the compute host in their environment. * The "scheduler_json_config_location" configuration option has not been used since the 13.0.0 Mitaka release and has been removed. * Configuration options related to the Barbican were deprecated and now completly removed from "barbican" group. These options are available in the Castellan library. Following are the affected options: * "barbican.catalog_info" * "barbican.endpoint_template" * "barbican.os_region_name" * "driver" configuration option has been removed from "cells" group. There is only one possible driver for cells (CellsRPCDriver), which makes this option redundant. * The deprecated "cert_topic" configuration option has been removed. * "fatal_exception_format_errors" configuration option has been removed, as it was only used for internal testing. * Ironic configuration options that were used for a deprecated Identity v2 API have been removed from "ironic" group. Below is the detailed list of removed options: * admin_usernale * admin_password * admin_url * admin_tenant_name * The concept that "service manager" were replaceable components was deprecated in Mitaka, so following config options are removed. * "metadata_manager" * "compute_manager" * "console_manager" * "consoleauth_manager" * "cert_manager" * "scheduler_manager" * "conductor.manager" * In mitaka, an online migration was added to migrate older SRIOV parent device information from extra_info to a new column. Since two releases have gone out with that migration, it is removed in Ocata and operators are expetected to have run it as part of either of the previous two releases, if applicable. * Since the Placement service is now mandatory in Ocata, you need to deploy it and amend your compute node configuration with correct placement instructions before restarting nova-compute or the compute node will refuse to start. * If by Newton (14.0.0), you don't use any of the CoreFilter, RamFilter or DiskFilter, then please modify all your compute node's configuration by amending either "cpu_allocation_ratio" (if you don't use CoreFilter) or "ram_allocation_ratio" (if you don't use RamFilter) or "disk_allocation_ratio" (if you don't use DiskFilter) by putting a 9999.0 value for the ratio before upgrading the nova- scheduler to Ocata. * The ''use_local'' option, which made it possible to perform nova- conductor operations locally, has been removed. This legacy mode was introduced to bridge a gap during the transition to the conductor service. It no longer represents a reasonable alternative for deployers. * The deprecated compute config option "snapshot_name_template" has been removed. It is not used anywhere and has no effect on any code, so there is no impact. * The deprecated config option "compute_available_monitors" has been removed from the "DEFAULT" config section. Use setuptools entry points to list available monitor plugins. * The following deprecated nova-manage commands have been removed: * "nova-manage account scrub" * "nova-manage fixed *" * "nova-manage project scrub" * "nova-manage vpn *" * The following deprecated nova-manage commands have been removed: * nova-manage vm list * As of Ocata, the minimum version of Virtuozzo that nova compute will interoperate with will be 7.0.0. Deployments using older versions of Virtuozzo should upgrade. * XenServer plugins have been renamed to include a '.py' extension. Code has been included to handle plugins with and without the extension, but this will be removed in the next release. The plugins with the extension should be deployed on all compute nodes to mitigate any upgrade issues. Deprecation Notes ***************** * Implemented microversion v2.39 that deprecates *image-metadata* proxy API, removes image metadata quota checks for 'createImage' and 'createBackup' actions. After this version Glance configuration option *image_property_quota* should be used to control the quota of image metadatas. Also, removes the *maxImageMeta* field from *os- limits* API response. * The config options "multi_instance_display_name_template" and "null_kernel" in the "DEFAULT" group are now deprecated and may be removed as early as the 16.0.0 release. These options are deprecated to keep API behaviour consistent across deployments. * The "console_driver" config opt in the "DEFAULT" group has been deprecated and will be removed in a future release. This option no longer does anything. Previously this option had only two valid, in- tree values: "nova.console.xvp.XVPConsoleProxy" and "nova.console.fake.FakeConsoleProxy". The latter of these was only used in tests and has since been replaced. * "[libvirt]/live_migration_progress_timeout" has been deprecated as this feature has been found not to work. See bug 1644248 for more details. * The following options, found in "DEFAULT", were only used for configuring nova-network and are, like nova-network itself, now deprecated. * "flat_network_bridge" * "flat_network_dns" * "flat_interface" * "vlan_interface" * "vlan_start" * "num_networks" * "vpn_ip" * "vpn_start" * "network_size" * "fixed_range_v6" * "gateway" * "gateway_v6" * "cnt_vpn_clients" * "fixed_ip_disassociate_timeout" * "create_unique_mac_address_attempts" * "teardown_unused_network_gateway" * "l3_lib" * "network_driver" * "multi_host" * "force_dhcp_release" * "update_dns_entries" * "dns_update_periodic_interval" * "dhcp_domain" * "use_neutron" * "auto_assign_floating_ip" * "floating_ip_dns_manager" * "instance_dns_manager" * "instance_dns_domain" The following options, found in "quota", are also deprecated. * "floating_ips" * "fixed_ips" * "security_groups" * "security_group_rules" * The "remap_vbd_dev" option is deprecated and will be removed in a future release. * The "topic" config options are now deprecated and will be removed in the next release. The deprecated options are as below: * cells.topic * compute_topic * conductor.topic * console_topic * consoleauth_topic * network_topic * scheduler_topic * Deprecate the VMware driver's "wsdl_location" config option. This option pointed to the location of the WSDL files required when using vCenter versions earlier than 5.1. Since the minimum supported version of vCenter is 5.1, there is no longer a need for this option and its value is ignored. * The "[xenserver]/vif_driver" configuration option is deprecated for removal. The "XenAPIOpenVswitchDriver" vif driver is used for Neutron and the "XenAPIBridgeDriver" vif driver is used for nova- network, which itself is deprecated. In the future, the "use_neutron" configuration option will be used to determine which vif driver to load. * The "live_migration_uri" option in the [libvirt] configuration section is deprecated, and will be removed in a future release. The "live_migration_scheme" should be used to change scheme used for live migration, and "live_migration_inbound_addr" should be used to change target URI. * The XenServer driver provides support for downloading images via torrents. This feature has not been tested, and it's not clear whether there's a clear use case for such a feature. As a result, this feature is now deprecated as are the following config options. * "torrent_base_url" * "torrent_seed_chance" * "torrent_seed_duration" * "torrent_max_last_accessed" * "torrent_listen_port_start" * "torrent_listen_port_end" * "torrent_download_stall_cutoff" * "torrent_max_seeder_processes_per_host" * The direct use of the encryption provider classes such as nova.volume.encryptors.luks.LuksEncryptor is now deprecated and will be blocked in the Pike release of Nova. The use of out of tree encryption provider classes is also deprecated and will be blocked in the Pike release of Nova. * Nova network was deprecated in Newton and is no longer supported for regular deployments in Ocata. The network service binary will now refuse to start, except in the special case of CellsV1 where it is still required to function. Security Issues *************** * OSProfiler support requires passing of trace information between various OpenStack services. This information is securely signed by one of HMAC keys, defined in nova.conf configuration file. To allow cross-project tracing user should use the key, that is common among all OpenStack services he or she wants to trace. Bug Fixes ********* * Prior to Newton, volumes encrypted by the CryptsetupEncryptor and LuksEncryptor encryption providers used a mangled passphrase stripped of leading zeros per hexadecimal. When opening encrypted volumes, LuksEncryptor now attempts to replace these mangled passphrases if detected while CryptsetupEncryptor simply uses the mangled passphrase. * Fixes bug 1662699 which was a regression in the v2.1 API from the "block_device_mapping_v2.boot_index" validation that was performed in the legacy v2 API. With this fix, requests to create a server with "boot_index=None" will be treated as if "boot_index" was not specified, which defaults to meaning a non-bootable block device. (https://bugs.launchpad.net/nova/+bug/1662699) * The Hyper-V driver no longer accepts cold migrating instances to the same host. Note that this does not apply to resizes, in which case this is still allowed. * The "nova-manage cell_v2 simple_cell_setup" command now creates the default cell0 database connection using the "[database]" connection configuration option rather than the "[api_database]" connection. The cell0 database schema is the *main* database, i.e. the *instances* table, rather than the *api* database schema. In other words, the cell0 database would be called something like "nova_cell0" rather than "nova_api_cell0". * In the context of virtual device role tagging at server create time, the 2.42 microversion restores the tag attribute to networks and block_device_mapping_v2. A bug has caused the tag attribute to no longer be accepted starting with version 2.33 for block_device_mapping_v2 and starting with version 2.37 for networks. In other words, block devices could only be tagged in version 2.32 and network interfaces between versions 2.32 and 2.36 inclusively. Starting with 2.42, both network interfaces and block devices can be tagged again. * To make live-migration consistent with resize, confirm-resize and revert-resize operations, the migration status is changed to 'error' instead of 'failed' in case of live-migration failure. With this change the periodic task '_cleanup_incomplete_migrations' is now able to remove orphaned instance files from compute nodes in case of live-migration failures. There is no impact since migration status 'error' and 'failed' refer to the same failed state. * The nova metadata service will now pass a nove service token to the external vendordata server. These options can be configured using various Keystone-related options available in the "vendordata_dynamic_auth" group. A new service token has been created for this purpose. Previously, the requesting user's keystone token was passed through to the external vendordata server if available, otherwise no token is passed. This resolves issues with scenarios such as cloud-init's use of the metadata server on first boot to determine configuration information. Refer to the blueprints at http://specs.openstack.org/openstack/nova- specs/specs/ocata/approved/vendordata-reboot-ocata.html for more information. Other Notes *********** * The Placement API can be set to connect to a specific keystone endpoint interface using the "os_interface" option in the "[placement]" section inside "nova.conf". This value is not required but can be used if a non-default endpoint interface is desired for connecting to the Placement service. By default, keystoneauth will connect to the "public" endpoint. Changes in nova 14.0.0.0rc1..15.0.0 ----------------------------------- babdb32 Deprecate xenserver.vif_driver config option and change default ef0c679 Fix live migrate with XenServer 7d0c5998 Enable defaults for cell_v2 update_cell command a3089b4 Cleanup some issues with CONF.placement.os_interface b0530b7 Allow placement endpoint interface to be set b257e5a allocations.consumer_id is not used in query. 18fb0a1 Skip test_stamp_pattern in cells v1 job 681e377 Remove straggling use of main db flavors in cellsv1 code e818403 Add Cells V1 -> Cells V2 step-by-step example 8384c15 Edits for Cells V2 step-by-step examples 883d8e8 Prepare for using standard python tests 679d78a Default live_migration_progress_timeout to off ff1925a Allow None for block_device_mapping_v2.boot_index bf346ae Add an update_cell command to nova-manage 75fc059 Add step-by-step examples for Cells V2 setup 55f2230 Clarify the deployment of placement for cellsv1 users ee09893 Update the upgrades part of devref 98733a6 Update UPPER_CONSTRAINTS_FILE for stable/ocata 3e9aacd Update .gitreview for stable/ocata 965fffc Delete a compute node's resource provider when node is deleted 887bcea Mark compute/placement REST API max microversions for Ocata d6691d1 Add release note for filter/sort whitelist e846c32 Clarify the language in the apache wsgi sample c2e1133 Stop swap allocations being wrong due to MB vs GB 014b119 Clarify the [cells] config option help d4502e1 Report reserved_host_disk_mb in GB not KB cd29a4e Fix access_ip_v4/6 filters params for servers filter f6a419a Fix typo in cells v2 ocata reno 21a04c8 doc: add upgrade notes to the placement devref 9fb375b Fix typo in help for discover_hosts_in_cells_interval 1bbecbd Fix the terminated_at field in the server query params schema 790313c Add release note for nova-status upgrade check CLI 9f1ffd6 Add prelude section for Ocata e282187 Collected release notes for Ocata CellsV2 4f05f06 reno for notification-transformation-ocata 9eb7bce Allow scheduler to run cell host discovery periodically a8aa093 doc: update the man page entry for nova-manage db sync a3563ed doc: refer to the cell_v2 man pages from the cells v2 doc 9ca2a51 doc: add some detail to the map_cell0 man page 466769e Remove pre-cellsv2 short circuit in instance get f09d112 Continue processing build requests even if one is gone already 8ba9277 Ensure build request exists before creating instance 03eced1 placement-api: fix ResourceProviderList query a954bab nova-status: relax the resource providers check 826df45 Read instances from API cell for cells v1 193b584 Fix map_cell_and_hosts help 29f3d8b Fresh resource provider in RT must have generation 0 67aa277 libvirt: Limit destroying disks during cleanup to spawn 1848860 Ignore IOError when creating 'console.log' dec7505 nova-manage docs: cell_v2 delete_cell 218d26c nova-manage docs: cell_v2 list_cells fb7599d nova-manage docs: cell_v2 discover_hosts 94687a9 nova-manage docs: cell_v2 create_cell 4d5998f nova-manage docs: cell_v2 verify_instance 42b7df0 nova-manage docs: cell_v2 map_cell_and_hosts e80e251 Fix tag attribute disappearing in 2.33 and 2.37 4660333 Scheduler calling the Placement API d486315 Block starting compute unless placement conf is provided cce20d1 Added instance.reboot.error to the legacy notifications b2a4fcf Avoid redundant call to update_resource_stats from RT 070656a api-ref: Fix path parameters in os-hypervisors.inc 2fdab3b libvirt: fix vCPU usage reporing for LXC/QEMU guests 1a0778d Adding vlans field to Device tagging metadata 18a23b7 libvirt: expose virtual interfaces with vlans to metadata 2ace671 objects: vlan field to NetworkInterfaceMetadata object 3c2ce94 Move instance creation to conductor a43a463 Updated from global requirements 6a914e8 Fix server group functional test by using all filters 9d6f9e9 Hyper-V PCI Passthrough bcd584f Change exponential function to linear 6d8b58d Cache boot time roles for vendordata. 5ca61e4 Optionally make dynamic vendordata failures fatal. 1f53bfc Use a service account to make vendordata requests. b1d575f libvirt: ephemeral disk support for virtuozzo containers b1556c2 ironic: Add trigger crash dump support to ironic driver f781409 Only warn about hostmappings during ocata upgrade e5c41e5 nova-manage docs: cell_v2 map_instances 30ea0f8 nova-manage docs: cell_v2 map_cell0 919bee6 nova-manage docs: cell_v2 simple_cell_setup df334b4 Add new configuration option live_migration_scheme 189a4a7 Fix race condition in instance.update sample test 9ed7826 libvirt: Use the mirror element to detect job completion 0195759 libvirt: Mock is_job_complete in test_driver 8d11cba PCI: Check pci_requests object is empty before passing to support_requests cf02e51 Ironic: Add soft power off support to Ironic driver. 3421dde Add sort_key white list for server list/detail 747bc61 Trivial-fix: replace "json" with "yaml" in policy README af08620 objects: add new field cpuset_reserved in NUMACell 4e3b2ab Make api_samples tests use simple cell environment 582321c conf: Deprecate 'console_driver' 8479529 libvirt: avoid generating script with empty path 81defe6 placement: minor refactor _allocate_for_instance() 78d439d placement: report client handle InventoryInUse 5555ecc Multicell support for instance listing bff2030 scheduler: Don't modify RequestSpec.numa_topology 5ba6900 Fix and add some notes to the cells v2 first time setup doc 608ba01 Updated from global requirements bc55e8e Amend the PlacementFixture 4dbc0dd Prevent compute crash on discovery failure f3c774a Ironic: Add soft reboot support to ironic driver 67868cf os-vif: convert libvirt driver to use os-vif for fast path vhostuser 9385eaf Updated from global requirements 98936fb Add a PlacementFixture cc5fde4 libvirt: make coherent logs when reboot success 58719f5 Add ComputeNodeList.get_all_by_uuids method 7d04c78 placement: create aggregate map in report client c7b46c4 Support Ironic interface attach/detach in nova virt 8856ad3 Generate necessary network metadata for ironic port groups b34809d Ensure we mark baremetal links as phy links cf3ff76 os-vif-util: set vif_name for vhostuser ovs os-vif port fe9bd52 Move migration_downtime_steps to libvirt/migration 539d381 libvirt: fix nova can't delete the instance with nvram 68456f4 Remove mox in libvirt destory tests 841916d Strict pattern match query parameters 0a7f3ce Raise InvalidInput exception 377f400 Fix Nova to allow using cinder v3 endpoint 8727770 [py35] Fixes to get more tempest tests working 7c66d41 api-ref: Fix a parameter in os-availability-zone.inc ecc8de8 Integrate OSProfiler and Nova 7af405c Remove mox from unit/virt/libvirt/test_imagebackend.py (5) 6eda844 Enable virt.vmwareapi test cases on Python 7d67cdf Enable virt.test_virt_drivers.AbstractDriverTestCase on Python 3 d28ca27 Port compute.test_user_data.ServersControllerCreateTest to Python 3 2207dcf XenAPI: Fix vif plug problem during VM rescue/unrescue 161799e Handle oslo.serialization type error and binascii error 26db003 Remove invalid URL in gabbi tests aa7b6eb nova-manage cell_v2 map_cell0 exit 0 134c19f Add query parameters white list for server list/detail ce56fe4 nova-manage docs: add cells commands prep 2f721c9 Add --verbose option to discover_hosts command 5713e5c Add more details when test_create_delete_server_with_instance_update fails 209a42d Updated from global requirements db79c53 Add some cellsv2 setup docs 5b44737 Fix the generated cell0 default database name 1c96759 rt: use a single ResourceTracker object instance 3e04a32 Add nova-manage cell_v2 delete_cell command 90cd8ac Add InstanceMappingList.get_by_cell_id 8677aca Create HostMappingList object 4bfc550 Add nova-manage cell_v2 list_cells command f7e9f31 Add nova-manage cell_v2 create_cell command 86b361d libvirt: workaround findmnt behaviour change 8892be0 api-ref: Fix parameters whose values are 'null' b5790dd Fix broken link of Doc 69f27a7 api-ref: Fix parameters and response in os-quota-sets.inc e88c0bb Remove nova-manage image from man pages 3f0b023 Updated from global requirements c78a86c Fixes to get all functional tests working on py35 9dd48cf [placement] Add a bit about extraction plans to placement_dev 88a456b [placement] Add an "Adding a Handler" section to placement_dev 4aae9d5 [placement] placement_dev info for testing and gabbi 2d0dfc6 [placement] placement_dev info for microversion handling eb7c736 Updated from global requirements c17772e placement: validate member_of values are uuids 4590308 Make metadata server know about cell mappings a649311 Remove redundant arg check in nova-manage cell_v2 verify_instance a5dc7f1 Expose a REST API for a specific list of RPs a04ffdc copy pasta error e0a8582 Set sysinfo_serial="none" in LibvirtDriverTestCase 584969a [py35] Fixes to get rally scenarios working ac01ba5 Fix missing RP generation update 596e8de Add service_token for nova-neutron interaction 7b95b4d rt: explicitly pass compute node to _update() d33a2b1 Make unit tests work with os-vif 1.4.0 9d8ed85 Updated from global requirements d8d8138 libvirt: make live migration possible with Virtuozzo 112b462 Small improvements to placement.rst a42de05 Better black list for py35 tests f918281 Fix class type error in attach_interface() function 2195e4d Hyper-V: Adds vNUMA implementation b8e1276 Don't bypass cellsv1 replication if cellsv2 maps are in place 07b6580 Adds Hyper-V OVS ViF driver 3e0daeb docs - Connect to placement service & retries af17b95 Improve flavor sample in notification sample tests 5dedd0b xenapi: support the hotplug of a neutron port e05f678 Update notification for flavor 9e54b29 Add service_token for nova-cinder interaction 938cbf1 Make allocate_for_instance take consistent args 2114958 XenAPI Remove useless files when use os-xenapi lib 062065c XenAPI Use os-xenapi lib for nova bbf9b43 Make placement client keep trying to connect 5593d74 releasenotes: Add missing releasenote for encryption provider constants cd82f8e Stop using mox stubs in test_attach_interfaces.py 8d8adac Remove mox from api/openstack/compute/test_floating_ip_dns.py 105c28f Remove mox in nova/tests/unit/compute/test_shelve.py (end) b1eb954 Remove mox in unit/api/openstack/test_wsgi.py 816b1c9 Document testing process for zero downtime upgrade 9a85f15 Remove mox in nova/tests/unit/compute/test_shelve.py (2) 8d9b3d6 Notifications for flavor operations 0e1734b conf: Deprecate yet more nova-net options 115d322 conf: Resolve formatting issues with 'quota' 70730c0 [2/3]Replace six.iteritems() with .items() d631ac0 Port xenapi test_vm_utils to Python 3 0e2b3ba Make the SingleCellSimple fixture a little more comprehensive cf1d3f8 Fix non-parameterized service id in hypervisors sample tests 2f1245a Fix TypeError in _update_from_compute_node race be2893e Trivial indentation fix dda01c5 Add missing CLI commands in support-matrix.ini dbbad4f tests: Replace use of CONF with monkey patching e4ae7e9 correct misleading wording 5d3f0a6 Fix a typo in documents 28fe229 Don't translate exceptions w/ no message 5593049 Fix ksa mocking in test_cinderclient_unsupported_v1 aeecfe0 [placement] fix typo in call to create auth middleware ea5d057 HTTP interface for resource providers by aggregates 03c2776 Return uuid attribute for aggregates 2c6fb02 Update docstring of _schema_validation_helper 29c6e08 api-ref: use the examples with paging links 6a6457b Port libvirt.test_vif to Python 3 83923ad Port libvirt.test_firewall to Python 3 de0eff4 Move quota options to a config group. 180e634 Handle Unauthorized exception in report client's safe_connect() b6574ad Remove mox from unit/virt/libvirt/test_imagebackend.py (4) cf6ac7a Remove mox from unit/virt/libvirt/test_imagebackend.py (3) daf9e98 Remove mox from unit/virt/libvirt/test_imagebackend.py (2) 200666a Do not post allocations that are zero 58d068d Add aggregate notification related enum values ce17c3d Transform aggregate.delete notification 8ee3e30 Transform aggregate.create notification 6198fc7 Added missing decorator for instance.create.error 6627de4 Enable Neutron by default 91f8a02 Port virt.libvirt.test_imagebackend to Python 3 95441ef move gate hooks to gate/ 6977d4c Use JSON-Schema to validate query parameters for keypairs API 77ad8b8 Adds support for versioned schema validation for query parameters ac22bda Remove mox from api/openstack/compute/test_extended_hypervisors.py 612134c Stop using mox in compute/test_server_actions.py 3da16fa Remove mox from unit/api/openstack/compute/test_cloudpipe.py 88609d2 Add support matrix for attach and detach interfaces 41b4e45 Make last remaining unit tests work with Neutron by default a5a9713 Make test_metadata pass with CONF.use_neutron=True by default b1b46c0 Make test_nova_manage pass with CONF.use_neutron=True by default b3b9217 Stub out os_vif.unplug in libvirt instance destroy tests 9a949a7 Make test_attach_interfaces work with use_neutron=True by default da9ea09 Make test_floating_ip* pass with CONF.use_neutron=True by default 55df51b Make several API unit tests pass with CONF.use_neutron=True by default d1982bd Make test_server_usage work with CONF.use_neutron=True by default cc75ca3 Make test_security_group_default_rules work with use_neutron=True by default 432556d Make test_tenant_networks pass with CONF.use_neutron=True by default a507856 Make test_security_groups work with CONF.use_neutron=True by default 531d54e Make test_virtual_interfaces work with CONF.use_neutron=True by default ee46f09 Make test_user_data and test_multiple_create work with use_neutron=True 6361be1 Make test_quota work with CONF.use_neutron=True by default 5b4758c Make test_compute pass with CONF.use_neutron=True by default 1278b1f api-ref: Fix parameters in os-server-groups.inc d155365 Remove mox in test_block_device_mapping_v1.py 3c217ac placement: Do not save 0-valued inventory 98d9319 Add 'disabled' to WatchdogAction field 15e962b Remove more deprecated nova-manage commands a9a2bca Make servers api view load instance fault from proper cell d68c042 Add support for setting boot order in Hyper-V f82b3fa Create schema generation for NetworkModel c5cb7e4 conf: added notifications group 38a1edf Missing usage next links in api-ref 692e596 [placement] start a placement_dev doc 4173e41 Enable TestOSAPIFixture.test_responds_to_version on Python 3 b691125 pci: Clarify SR-IOV ports vs direct passthrough ports c0a90ea nova-status: check for compute resource providers 65ad654 doc: add recomendation for delete notifications 6817d22 Move FlavorPayload to a seperate file c316aaa Remove Rules.load_json warning 539d351 Handle unicode when dealing with duplicate aggregate errors during migration eda54b1 Handle unicode when dealing with duplicate flavors during online migrations 641f5f4 Actually test online flavor migrations 46923c7 Remove unused init_only kwarg from wsgi app init f9bfb72 api-ref: add notes about POST/DELETE errors for os-tenant-networks 20743d0 Remove unnecessary attrs from TenantNetworksDeprecationTest 2335b02 api-ref: microversion 2.40 overview dc911b8 Fix assertion in test_instance_fault_get_by_instance 5c796cb Add more field's in InstancePayload 39cac35 objects: add new field cpu_emulator_threads_policy a29b1ee Support filtering resource providers by aggregate membership 25bc5a6 Resource tracker doesn't free resources on confirm resize c9de74a Stop using mox stubs in nova/tests/unit/cells 521cd72 Add release note to PCI passthrough whitelist regex support e7f5f02 api-ref: Fix parameter type in servers-admin-action.inc 99757f8 Port security group related tests to Python 3 45cb6df Add create image functional negative tests fb3b2d9 Don't apply multi-queue to SRIOV ports 1870c75 placement: correct improper test case inheritance e4f6689 Remove mox in tests/unit/objects/test_instance_info_cache e31af46 Port compute unit tests to Python 3 f516e5a Fix urllib.urlencode issue in functional tests on Python 3 cf4b2e7 Trival fix typo f110339 Enble network.test_neutronv2.TestNeutronv2 on Python 3 9a8a670 Enble compute.test_compute_mgr.ComputeManagerUnitTestCase on Python 3 282dd9a Port api.openstack.compute.test_disk_config to Python 3 71c4360 Updated from global requirements 8ea3c83 Ignore 404s when deleting allocation records 7a69da4 nova-status: return 255 for unexpected errors 05cc20b VMware: Update supported OS types for ESX 6.5 d0f3817 Replace "Openstack" with "OpenStack" 9cc564e Use bdm destination type allowed values hard coded a65551e Fix BDM JSON-Schema validation df2fd4a [TrivialFix] Fix comment and function name typo error 10fdc07 [TrivialFix] Fix comment typo error 1a2db4c Fix python3 issues with devstack ff8a2b2 [1/3]Replace six.iteritems() with .items() b2be1c7 Fix typo 1980942 Fix misleading port delete description a63aef8 conf: remove deprecated barbican options c2511e4 conf: Remove 'virt' file 2507995 Trival fix typos in api-ref 271d9f6 make 2.31 microversion wording better 5eb8297 Add soft delete wrinkle to api-ref db7360b Add document update for get console usage 972d01b Trivial: add ability to define action description bc2073c Added missed "raises:" docstrings into numa_get_constraints() method d99fd59 Removes unnecessary utf-8 encoding 8f4dfdb Port test_matchers.TestDictMatches.test__str__ to Python 3 4c05cb0 Skip network.test_manager.LdapDNSTestCase on Python 3 fc0e8bb Remove mox in tests/unit/objects/test_security_group 7049afd Remove v2.40 from URL string in usage API docs 5978013 nova-status: add basic placement status checking 4103f5e nova-status: check for cells v2 upgrade readiness a1f3a59 Add nova-status upgrade check command framework 1872eef rt: remove fluff from test_resource_tracker 3397987 rt: pass the nodename to public methods bd8a9ed conf: make 'default' upper case ffcdb42 conf: move few console opts to xenserver group 05c0d47 conf: remove deprecated ironic options 0e90396 conf: refactor conf_fixture.py 7cc0576 Add unit test for extract_snapshot with compression enabled a0d47fd Refactor the code to add generic schema validation helper d657690 Updated from global requirements 58bf5d0 Fix error if free_disk_gb is None in CellStateManager f6b947a nova-manage: squash oslo_policy debug logging 4fce45f Pre-load info_cache when handling external events and handle NotFound 446d9fe Make nova-manage cell_v2 discover_hosts tests use DBs 93a9aaa Fix nova-manage cell_v2 discover_hosts RequestContext 928f046 Make nova-manage emit a traceback when things blow up c4a88d5 XenAPI: Remove ovs_integration_bridge default value 27bec15 rt: pass nodename to internal methods 543bf18 Failing test (mac osx) - test_cache_ephemeral d679f9a Catch VolumeEncryptionNotSupported during spawn f981bc4 Updated from global requirements 7fe8333 Fix exception message formatting error in test c8b631b osapi_max_limit -> max_limit 06de083 Add more detail to help text for reclaim_instance_interval option 48c18ff Added PRSM to HVType class for support PR/SM hypervisor 463a2b6 conf: Deprecate more nova-net options 9abcf5a [test]Change fake image info to fit instance xml 453e9cb Cleanup Newton Release Notes ba81d24 Port libvirt.storage.test_rbd to Python 3 ad1c7ac libvirt: Stop misusing NovaException 8341e19 Fix the file permissions of test_compute_mgr.py 7c76863 Add detail to cellsv2-related release notes 12d782a Revert "Use liberty-eol tag for liberty release notes" 9281164 Fix some release notes in preparation for the o-2 beta release bcbfee1 Add schedule_and_build_instances conductor method d55c513 libvirt: Detach volumes from a domain before detaching any encryptors 0f26569 libvirt: Flatten 'get_domain' function 3167f74 fakelibvirt: Remove unused functions 49753c0 libvirt: Remove slowpath listing of instances 176c5c8 Only return latest instance fault for instances 223475f Remove dead begin/end code from InstanceUsageAuditLogController 4a237c0 Use liberty-eol tag for liberty release notes be379e3 api-ref: Fix description of os-instance-usage-audit-log 822057d conf: fix formatting in base 5fd0128 Merge v20 view builder for limit API 7cad745 Stop allowing tags as empty string 9c0cb54 libvirt: remove hack for dom.vcpus() returning None 2738e25 Add Python 3.5 functional tests in tox.ini 8340401 Simple tenant usage pagination e091b38 Modify mistake of scsi adapter type class 3fe0faa Port virt vmwareapi tests to Python 3 9f12b59 Mark sibling CPUs as 'used' for cpu_thread_policy = 'isolated' d2f12e2 Added missed "raises:" docstrings into numa_get_constraints() method 9d2ce8f Changed NUMACell to InstanceNUMACell in test_stats.py 6c8b49c TrivialFix: changed log message 6ab20bc api-ref: Fix 'id' (attachment_id) parameters 8f61868 Move tags validation code to json schema 4560d11 Let nova-manage cell_v2 commands use transport_url from CONF 5d3ae79 Make test_create_delete_server_with_instance_update deterministic 9fd8014 restore locking in notification tests 807e055 Remove mox from unit/compute/test_compute_api.py(2) 6a8924a Deprecate compute options 84f5c61 Remove support for the Cinder v1 API 34761e6 Make simple_cell_setup fully idempotent a2d7ebd Corrects the type of a base64 encoded string 6764ff0 Fix instructions for running simple_cell_setup 2346e64 Quiet unicode warnings in functional test_resource_provider a753bab conf: Detail the 'injected_network_template' opt 5c55442 Add more description for rx and tx param 521d049 move rest_api_version_history.rst to compute layer ce102be Enhance PCI passthrough whitelist to support regex deac17c Better wording for micorversion 2.36 29030c3 Port test_servers to py3 83e6dbf Catch InstanceNotFound exception e5c1762 Remove mox in tests/unit/objects/test_compute_node 117fad8 Refactor REGEX filters to eliminate 500 errors 15564eb Fix crashing during guest config with pci_devices=None ab05b90 Provide an online data migration to cleanup orphaned build requests 5ce65fa Add SecurityGroup.identifier to prefer uuid over name 979639b Setup CellsV2 environment in base test 50a7d5e conf: add warning for vm's max delete attempts 5e7f765 Cleanup after any failed libvirt spawn ce57744 Guestfs handle no passwd or group in image 874e666 Return 400 when name is more than 255 characters 9630b51 Check that all JSON files don't have \r\n in line d7d19a2 Enable test_bdm.BlockDeviceMappingEc2CloudTestCase on Python 3 c262584 network id is uuid instead of id 4a5ecf1 fix for auth during live-migration 2bb70e7 Don't trace on ImageNotFound in delete_image_on_error 693a535 Cascade deletes of RP aggregate associations bea29e6 Make resource provider objects not remotable b78b1f8 Bump prlimit cpu time for qemu from 2 to 8 06a990c test: drop unused config option fake_manager d9a7c16 conf: Remove config option compute_ manager 38c6a84 Extend get_all_by_filters to support resource criteria 6882b97 Port test_virt_drivers to Python 3 594b1b1 Don't use 'updated_at' to check service's status de5bb0c libvirt: Fix initialising of LVM ephemeral disks 5ae26f3 Remove extra ^M for json file 1b4d279 Port virt.disk.mount.test_nbd to Python 3 eff63c4 Remove unnecessary comment of BDM validation 1506c36 Update ironic driver get_available_nodes docstring a35de0c api-ref: note that os-virtual-interfaces is nova-network only fa4cde9 Fix up non-cells-aware context managers in test_db_api 419bbc8 Add SingleCellSimple fixture df6e2d3 [proxy-api] microversion 2.39 deprecates image-metadata proxy API 9dcab12 Make RPCFixture support multiple connections c719e22 tests: avoid starting compute service twice in sriov functional test 624e10f tests: generate correct pci addresses for fake pci devices c49e050 Fix nova-serialproxy when registering cli options 4b0f2b3 Updated from global requirements b8c88c6 Revert "reduce pep8 requirements to just hacking" 416d798 conf: Improve help text for network options b19511a conf: Deprecate all nova-net related opts 6edf11a libvirt: Mock imagebackend template funcs in ImageBackendFixture fbfaa81 libvirt: Combine injection info in InjectionInfo 71dcb52 Fix misuse of assertTrue 9bbce28 Return 400 when name is more than 200 characters d2925b9 Replace the assertEqual(None,A) with assertIsNone(A) d72aa30 Rename few tests as per new config options 72d28cc Handle MarkerNotFound from cell0 database 7f6f968 Removed unused ComputeNode create/update_inventory methods b7e9b18 Fix a typo in a comment in microversion history cc5d343 Handle ImageNotFound exception during instance backup f920589 Add a CellDatabases test fixture b26db17 Pass context as kwarg instead of positional arg to get_engine 2d92ab7 Transform instance.snapshot notifications 1f65925 libvirt: virtlogd: use virtlogd for char devices e718aad libvirt: create consoles in an understandable/extensible way bc44d66 Add more log when delete orphan node 2973597 libvirt: Add comments in _hard_reboot 87b9c2b Update cors-to-versions-pipeline release note ca4715c Unity the comparison of hw_qemu_guest_agent a152434 Add metadata functional negative tests ff6b999 Require cellsv2 setup before migrating to Ocata fbbcd31 Improving help text for xenapi_vmops_opts 77dee95 convert libvirt driver to use os-vif for vhost-user with ovs. f0d44c5 Handle ComputeHostNotFound when listing hypervisors ce417b6 Improve the error message for failed RC deletion 5aee293 refactor: move down ``dev_number`` in xenapi d9ec369 Fix placement API version history 1.1 title 332abf2 placement: Perform build list of standard classes once 1067c44 placement: REST API for resource classes 0ec1114 Add a retry loop to ResourceClass creation 694fee9 conf: Remove deprecated service manager opts 705b3d0 support polling free notification testing 4c59559 conf: Standardize formatting of virt b212b9f Updated from global requirements 1fda12a Merge v21 view builder for ips API 59a07a1 Merge v21 view builder for flavor API c7df051 Remove invalid tests for config option osapi_compute_workers 83a586e placement: adds ResourceClass.save() 706f104 Add CORS filter to versions pipeline 7f9e86b Create hyperv fake images under proper directory 5b158df Some improvement to the process doc ed994bb libvirt: Improve _is_booted_from_volume implementation 033d4d2 libvirt: Delete duplicate check when live-migrating 9a5c20a Add block_device_mapping_v2.uuid to api-ref ba27ae7 Correct the sorting of datetimes for migrations 9b88e75 Fix pci_alias that include white spaces 63b2c89 Raise DeviceNotFound detaching volume from persistent domain b05e996 Always use python2.7 for docs target 75b6d53 objects: Removes base code that already exists in o.vo f780b1d libvirt: Don't re-resize disks in finish_migration() 842a641 libvirt: Never copy a swap disk during cold migration c802bf3 libvirt: Rename Backend snapshot and image 2d886ec libvirt: Cleanup test_create_configdrive a475b12 libvirt: Test disk creation in test_hard_reboot dc9b19a libvirt: Rewrite _test_finish_migration e604946 guestfs: Don't report exception if there's read access to kernel e83a357 Fix for live-migration job 6af4b9b Handle maximum limit in schema for int and float type parameters 88746b8 Port compute.test_extended_ip* to Python 3 6969a18 Remove more tests from tests-py3.txt a5c38cc Support detach interface with same MAC from instance d1c75df placement: adds ResourceClass.destroy() e01eec4 Make test_shelve work with CONF.use_neutron=True by default 002f893 Restrict test_compute_cells to nova-network bacce31 Make test_compute_mgr work with CONF.use_neutron=True by default eda26f9 Make test_compute_api work with CONF.use_neutron=True by default 4caae1c Make nova.tests.unit.virt pass with CONF.use_neutron=True by default 6a5d936 Make xenapi tests work with CONF.use_neutron=True by default 405d9fa Make libvirt unit tests work with CONF.use_neutron=True by default 5969b63 Make vmware unit tests work with CONF.use_neutron=True 6d594bf Explicitly use nova-network in nova-network network tests 1986f94 Make test_serversV21 tests work with neutron by default 2e6aa7c neutron: handle no_allocate in create_pci_requests_for_sriov_ports 7d77fe0 Add a releasenote for bug#1633518 b89efa3 libvirt: prefer cinder rbd auth values over nova.conf 5595b46 libvirt: cleanup network volume driver auth config d079f37 Fix wait for detach code to handle 'disk not found error' dc1433b [api-ref] Minor text clean-up, formatting 90f5a72 Convert live migration uri back to string 496c403 conf: improve libvirt lvm 7418f79 conf: Trivial fix of indentation in 'api' ada7155 config options: improve libvirt utils 69ff7e5 Never pass boolean deleted to instance_create() a54c1bc Port xenapi test_xenapi to Python 3 0ae8cbf Port libvirt test_driver to Python 3 bee269c conf: Deprecate 'torrent_' options a862aa0 hacking: Use uuidutils or uuidsentinel to generate UUID fd99bd7 Replace uuid4() with uuidsentinel bcb9a5e Replace uuid4() with uuidsentinel 7bb82e2 Replace uuid4() with uuidsentinel 8b8a29c Add os-start/stop functional negative tests 9bfeecd Port ironic unit tests to Python 3 a4466d5 Port test_keypairs to Python 3 67af1ee Port test_metadata to Python 3 cbcff11 Fix expected_attrs kwarg in server_external_events f3a2809 Check deleted flag in Instance.create() cf72bb8 Revert "Revert "Make n-net refuse to start unless using CellsV1"" ade1cfc Revert "Log a warning when starting nova-net in non-cellsv1 deployments" 37ec9b9 Default deleted if the instance from BuildRequest is not having it 2f80a62 docs: cleanup wording for 'SOFT_DELETED' in api-guide 898bb13 libvirt: Acquire TCP ports for console during live migration 310562f conf: Deprecate 'remap_vbd_dev' option c5a76f9 conf: Covert StrOpt -> PortOpt 8d0c195 Check Config Options Consistency for xenserver.py f853a5c Add description for 2.9 microversion 015378b Remove AdminRequired usage in flavor 0c1e2fa Optional name in Update Server description in api-ref f2992f9 List support for force-completing a live migration in Feature support matrix c07caac Remove mox from nova/tests/unit/compute/test_virtapi.py d5fece1 Remove mox from nova/tests/unit/virt/test_virt.py 806c480 Catch ImageNotAuthorized during boot instance 8d4eac2 Remove require_admin_context 243c08c remove NetworkDuplicated exception d9ad364 InstanceGroupPolicyNotFound not used anymore 3333990 UnsupportedBDMVolumeAuthMethod is not used 5bed61d Port virt.xenapi.client.test_session to Python 3 146accf vif: allow for creation of multiqueue taps in vrouter b7b282e conf: Move api options to a group efcc911 [scheduler][tests]: Fix incorrect aggr mock values 4a7502a objects: Move 'vm_mode' to 'fields.VMMode' 747c0d0 objects: Move 'hv_type' to 'fields.HVType' 33a52cd objects: Move 'cpumodel' to 'fields.CPU*' 4440d10 objects: Move 'arch' to 'fields.Architecture' 3e0cad9 Show team and repo badges on README a05c4a9 Remove config option snapshot_name_template d304690 Remove deprecated compute_available_monitors option def4af2 Improve help text for interval_opts ce16fa8 config options: improve libvirt remotefs 0502c30 Improve consistency in libvirt 12485c7 Fix root_device_name for Xen af673db Move tag schema to parameter_types.py a338274 Remove tests from tests-py3.txt 3f0711c hardware: Flatten functions 4b5b3c2 add host to vif.py set_config_* functions 41d6018 linux_net: allow for creation of multiqueue taps b8897ab Fix notification doc generator 5920402 Config options: improve libvirt help text (2) 6a422d2 Placement api: Add informative message to 404 response. 646151f Remove sata bus for virtuozzo hypervisor ce0be98 Fix a typo in nova/api/openstack/compute/volumes.py 2e32ed1 Fix race in test_volume_swap_server_with_error 14199b7 libvirt: Call host connection callbacks asynchronously 52f108c conf: remove deprecated cert_topic option 3e46a44 Return build_requests instead of instances 4bac18b conf: remove deprecated exception option 3d39613 doc: Add guidline about notification payload bacd717 Port libvirt test_imagecache to Python 3 d830fd8 Port test_serversV21 to Python 3 cbbc218 encryptors: Introduce encryption provider constants 1552aeb Add TODO for returning a 202 from the volume attach API 8ff16ca Fix typo in image_meta.py & checks.py & flavor.py 65c43cf Refactor two nearly useless secgroup tests 4f75a50 Transform instance.finish_resize notifications fdd4d1c Remove redundant VersionedObject Fields 94563ad Transform instance.create.error notification 80bf21d Transform instance.create notification dba04d5 api-ref: add missing os-server-groups parameters 6a85a98 libvirt: prepare domain XML update for serial ports a941891 [placement] increase gabbi coverage of handlers.resource_provider d8d00d1 [placement] increase gabbi coverage of handlers.inventory efb0df6 [placement] increase gabbi coverage of handlers.allocation e4ed3a3 libvirt: do not return serial address if disabled on destination 2aee4e9 Remove mox from api/openstack/compute/test_fping.py 887cc52 Add index on instances table across project_id and updated_at 2ecbbd8 Complete verification for os-floating-ips 57f46c1 libvirt: handle os-brick InvalidConnectorProtocol on init 91f350f placement: adds ResourceClass.get_by_name() 624f184 placement: adds ResourceClass.create() ef19089 Improve help text for libvirt options 11d8dde Use byte string or utf8 depending on python version for wsgi 4a09c22 Separate CRUD policy for server_groups 86e1478 Stop using mox stubs in nova/tests/unit/virt/disk 97d13c6 Remove the description of compute_api_class option cef86ec Remove mox in virt/xenapi/image/test_bittorrent.py 41bf42a Add context param to confirm_migration virt call 9ffa622 Use pick_context_manager throughout DB APIs 128318d Database poison note dde40c8 tests: verify cpu pinning with prefer policy 2fff8a0 api-ref: Body verification for os-simple-tenant-usage.inc 9434abb remove additional param f46cae8 Fix typo for 'infomation'. b95b6d8 Remove unused code in nova/api/openstack/wsgi.py f8c69ef conf: remove deprecated cells driver option 383e795 Fix detach_interface() call from external event handler 44ca84a Implement get and set aggregates in the placement API b3745f9 Add {get_,set_}aggregates to objects.ResourceProvider 215dc29 Log a warning when starting nova-net in non-cellsv1 deployments dbf0b2c Revert "Make n-net refuse to start unless using CellsV1" 758a32f HyperV: use os-brick for volume related operations a586b6d INFO level logging should be useful in resource tracker 00fdf28 hyper-v: wait for neutron vif plug events 4b43e27 Remove mox in nova/tests/unit/api/openstack/compute (1) a67af1f Use available port binding constants b957534 Rename PCS to Virtuozzo in error message 0f152eb [PY3] byte/string conversions and enable PY3 test f80163d Fix mock arg list order in test_driver.py 01e2c5c Add handle for 2 exceptions in force_delete 490078d Typo error about help libvirt.py 5f137df Updated from global requirements 198d166 Introduce PowerVMLiveMigrateData c07046e Make n-net refuse to start unless using CellsV1 b26ef56 Store security groups in RequestSpec e975603 api-ref: body verification for abort live migration 512ebfb Fix data error in api samples doc 90f3959 Typo error servers.py 0b053ca Typo error allocations.yaml f84ae10 Refactor console checks in live migration process fb50ff3 Remove mox in tests/unit/objects/test_pci_device a4a7853 Add microversion cap information 42110d9 No return for flavor destroy f8e35e5 neutron: actually populate list in populate_security_groups 5665831 Clarify the approval process of specless blueprints ce600f7 Add uuid field to SecurityGroup object 3e210b4 api-ref: body verification for force_complete server migration c0774e6 api-ref: body verification for show server migration ca09cbd api-ref: body verification for list server migrations 6c6df6a api-ref: example verification for server-migrations 7d33dc8 api-ref: parameter verification for server-migrations 925dc7a api-ref: method verification for server-migrations b000989 [placement] Enforce min_unit, max_unit and step_size 19a52c9 Remove ceph install/config functions from l-m hook b71ceda Ceph bits for live-migration job 7c51cf9 Avoid unnecessary db_calls in objects.Instance._from_db_object() f1cd928 placement: genericize on resource providers 633c817 api-ref: fix server_id in metadata docs 310d66c Add the initial documentation for the placement API 168a500 API Ref: update server_id params 9535634 conf: fix formatting in wsgi 4058471 Transform requested secgroup names to uuids 971047b conf: fix formatting in availability_zone f25579c libvirt: Cleanup spawn tests c53d948 Rename security_group parameter in compute.API:create 3a01178 Change database poison warning to an exception 1078ebd Fix database poison warnings, part 25 ad2ea36 Updated from global requirements 00bc0cb Correct wrong max_unit in placement inventory da1148a Add flavor extra_spec info link to api_ref fcc8263 Fix database poison warnings in resource providers f87af91 Placement api: 404 response do not indicate what was not found 9345ed4 Instance obj_clone leaves metadata as changed 1b351ef Add a no-op wait method to NetworkInfo 03d8e51 Move driver_dict_from_config to libvirt driver 3921224 Create schema generation for AddressBase e759a07 conf: Improve help text for ldap_dns_opts 059872e conf: Fix indentation of network c3ac2a3 Fix config option types 50ad9d4 libvirt: Fix incorrect libvirt library patching in tests f11188f libvirt: refactor console device creation methods e781123 libvirt: read rotated "console.log" files 54a400e libvirt: change get_console_output as prep work for bp/libvirt-virtlogd cd15b70 Updated from global requirements cc84595 api-ref: Fix a 'port' parameter in os-consoles.inc a672176 Update nova api.auth tests to work with newer oslo.context 62b21ef Remove ironic instance resize from support matrix doc b761ea4 [placement] add a placement_aggregates table to api_db b05a32e libvirt: remove py26 compat code in "get_console_output" 6140821 Change RPC post_live_migration_at_destination from cast to call. a6053dd libvirt: add migration flag VIR_MIGRATE_PERSIST_DEST f67d110 Revert MTU hacks for bug 1623876 43565ff Pass MTU into os-vif Network object 0dc1bc3 Updated from global requirements 0f26e68 api-ref: fix addFloatingIp action docs 569e463 Fix a TypeError in notification_sample_base.py 1e4178b Add functional api_samples test for addFloatingIp action ce25736 Fix qemu-img convert image incompatability in alpine linux b816e3c migration.source_compute should be unchanged after finish_revert_resize. dfa2b62 Add explicit dependency on testscenarios 0132cc8 Updated from global requirements 086b7a7 cors: update default configuration in config be11fab api-ref: remove user_id from keypair list response and fix 2.10 53ab606 Don't parse PCI whitelist every time neutron ports are created 02fa59d conf: Remove deprecated 'compute_stats_class' opt c3353b8 conf: Remove extraneous whitespace 58db7d9 hardware: Split '_add_cpu_pinning_constraint' d442c1a libvirt: Delete the lase_device of find_disk_dev_for_disk_bus 03e2f04 EventReporterStub 077a909 Catch all local/catch-all addresses for IPv6 328c45b placement: add ResourceClass and ResourceClassList 69bac2f placement: raise exc when resource class not found 419cd6a fix connection context manager in rc cache 6689c96 pci: remove pci device from claims and allocations when freeing it d38d576 PCI: Fix PCI with fully qualified address 079396d Log warning when user set improper config option value 6683bf9 libvirt: fix incorrect host cpus giving to emulator threads when RT 42b6716 Transform instance.shutdown notifications 2010c13 encryptors: Workaround mangled passphrases d7b831e Fix cold migration with qcow2 ephemeral disks 74fadb4 Updated from global requirements a873375 config options: Improve help for SPICE 6d026c1 Remove manual handling of old context variables 1d54428 api-ref: cleanup bdm.delete_on_termination field c175c8d api-ref: document the power_state enum values 36322fd libvirt: Pass Host instead of Driver to volume drivers cf8b1e5 conf: Attempt to resolve TODOs in scheduler.py 41ad9ea conf: Remove 'scheduler_json_config_location' 6789335 Remove unreachable code 414afad [api-ref] Fix path parameter console_id 3e89c0f doc: add a note about conditional support for xenserver change password cb9300f Replace admin check with policy check in placement API 6fba36a Fix import statement order f7ed4b1 Fix database poison warnings, part 24 cd1af7a libvirt: sync time on resumed from suspend instances b85f235 Fix database poison warnings, part 23 54686bb Add RPC version aliases for Newton 2c68148 Transform instance.unpause notifications d32d8c0 Catch NUMA related exceptions in create server API method 0ac7c98 Notification object version test depends on SCHEMA f23646d Updated from global requirements 41591c9 Virt: add context to attach and detach interface 621470f Imported Translations from Zanata 64e3e2f Stop using mox stubs in test_shelve.py 2e9548c Fix SAWarning in TestResourceProvider 39bf87a Transform instance.unshelve notifications e9cd4ba TrivialFix: Fixed typo in 'MemoryPageSizeInvalid' exception name in docstrings fd7b3d6 Make build_requests.instance MediumText 94587dc Use six.wraps eca23d4 Transform instance.resume notifications b1b86c8 Transform instance.shelve_offload notifications 07e6507 api-ref: fix image GET response example f98e4aa Fix exception raised in exception wrapper 7e36553 Add missing compat routine for Usage object e875f24 Updated from global requirements 865f0d2 Transform instance.power_off notifications a59de48 conf: Removed TODO note and updated desc 95d56a8 Set 'last_checked' flag if start to check scheduler file e351cb6 Remove bandit.yaml in favor of defaults 960996d Pre-add instance actions to avoid merge conflicts 70b01c9 Add swap volume notifications (error) e5e4dfc libvirt: add supported vif types for virtuozzo virt_type 758307c fix testcase test_check_can_live_migrate_dest_fills_listen_addrs 864f65e doc: Integrate oslo_policy.sphinxpolicygen d3c7396 Using get() method to prevent KeyError 61bcb83 tests: verify pci passthrough with numa b0a451d tests: Adding functional tests to cover VM creation with sriov 77a8e5d [placement] Add support for a version_handler decorator da58ad9 pci: in free_device(), compare by device id and not reference 200d50b Mention API V2 should no longer be used f8a8180 doc: Update libvirt-numa guide 94a28d3 Remove deprecated nova-manage vm list command 44e7f6e Remove block_migration from LM rollback ab2653d PCI: Avoid looping over PCI devices twice a5bd35f Update docs for serial console support c36dbe1 Remove conductor local api:s and 'use_local' config option 0360e4c Cleanup before removal of conductor local apis e6593d3 compute: fixes python 3 related unit tests 22b8ae0 XenAPI: Fix VM live-migrate with iSCSI SR volume db23224 Fix the scope of cm in ServersTestV219 b09d99d Explicitly name commands target environments 67ceb74 _run_pending_deletes does not need info_cache/security_groups f77d07c Updated from global requirements 48e0c00 hardware: Standarized flavor/image meta extraction 5e9add3 api-ref: Fix wrong parameters in os-volumes.inc dfe4259 Remove mox from unit/virt/libvirt/test_imagebackend.py (1) a5b920a Send events to all relevant hosts if migrating 53da313 Catch error and log warning when not able to update mtimes 03f8f5a Clarify what changed with scheduler_host_manager. 046922c Add related options to floating ip config options 98d629a Correct bug in microversion headers in placement c9a6499 Ironic Driver: override get_serial_console() dd99692 Updated from global requirements fa4ad0a Drop deprecated support for hw_watchdog_action flavor extra spec 50f7b06 Remove watchdog_actions module b07efcc Removal of tests with different result depending on testing env df4cf3e Add debug to tox environment 26826bc Document experimental pipeline in Nova CI c0e8aa8 Update rolling upgrade steps from upgrades documentation 94f89e9 Add migrate_uri for invoking the migration f022d57 Fix bug in "nova/tests/unit/virt/test_virt_drivers.py" for os-vif 3fa6583 Remove redundant req setting 16f4bad Changed the name of the standard resource classes 5661f87 placement: change resource class to a StringField a2fbe44 Remove nova/openstack/* from .coveragerc c07c0d4 Remove deprecated nova-all binary c12d388 Fix issue with not removing rbd rescue disk 41adb9f Require WebOb>=1.6.0 97e7b97 conf: Remove deprecated ``use_glance_v1`` 50e0106 Adding hugepage and NUMA support check for aarch64 09e2bcf hacking: Use assertIs(Not), assert(True|False) 03b9937 Use more specific asserts in tests c632c93 Add quota related tables to the api database. 0a99fc1 doc: add dev policy about no new metrics monitors 32e533d Always use python2.7 for functional tests 610293f doc: note the future of out of tree support 77b23da docs: update the Public Contractual API link bf9fae9 Remove _set_up_controller() from attach tests 21961e7 Add InvalidInput handling for attach-volume c46b469 placement: add cache for resource classes d79d6f6 placement: add new resource_classes table e4141c1 hardware: Rework docstrings 608a01e doc: Comment on latin1 vs utf8 charsets b78f549 Improve help text for libvirt options b83cae0 block_device: Make refresh_conn_infos py3 compatible 47fb8b7 Add swap volume notifications (start, end) 4eb89c2 Add a hacking rule for string interpolation at logging 3be6e8d Stop using mox stubs in test_snapshots.py a11e750 Stop using mox from compute/test_multiple_create.py 87530b6 Don't attempt to escalate nova-manage privileges 7ab3063 Improve help text for upgrade_levels options 39af8d5 Remove dead link from notification devref 493a313 Stop using mox stubs in test_evacuate.py e263558 Tests: fix a typo 5c608ab ENOENT error on '/dev/log' b90df7c Patch mkisofs calls 7d0381c conf: Group scheduler options 2640f1f conf: Move consoleauth options to a group 66246c4 Fix exception due to BDM race in get_available_resource() d8e695c Delete traces of in-progress snapshot on VM being deleted 2afc4e4 Add error handling for delete-volume API 6051499 Catch DevicePathInUse in attach_volume f9a0f6f Enable release notes translation 2f073fd Fix drop_move_claim() on revert resize 9c39f37 Updated from global requirements d04e41e Fix API doc for os-console-auth-tokens 1f66c2e tests: avoid creation of instances dir in the working directory 5271aa5 config options: improve libvirt imagebackend 407e659 libvirt: fix DiskSmallerThanImage when block migrate ephemerals b713a62 Remove unnecessary credential sanitation for logging 5041bdd Replace uuid4() with uuidsentinel f085fbd Change log level to debug for migrations pairing ff14503 Remove the duplicated test function bf38f0d Move get_instance() calls from try-except block 6f00d3b Allow running db archiving continuously 453e71d Add some extra logging around external event handling 285e1cc Fix a typo in driver.py b2c9666 Avoid Forcing the Translation of Translatable Variables 5767220 Fix database poison warnings, part 21 0f4bd24 libvirt: Fix BlockDevice.wait_for_job when qemu reports no job d4cbc2b Updated from global requirements be49897 Remove mox from tests/unit/conductor/tasks/test_live_migrate.py(3) ff486f3 Remove mox from tests/unit/conductor/tasks/test_live_migrate.py(2) 39cefb9 Remove mox from tests/unit/conductor/tasks/test_live_migrate.py(1) 7e4082d Fix calling super function in setUp method 1af73d1 refresh instances_path when shared storage used c8e3cbc Prevent us from sleeping during DB retry tests edd86d9 Fix error status code on update-volume API d3194c6 conf: Trivial cleanup of console.py bd995da conf: Trivial cleanup of compute.py c7d0db4 conf: Trivial cleanup of 'cells' 6460303 conf: Deprecate all topic options 1f0d3e0 Updated from global requirements e60e95f Disable 'supports_migrate_to_same_host' HyperV driver capability 951dee3 Fix periodic-nova-py{27,35}-with-oslo-master 1a80c88 Report actual request_spec when MaxRetriesExceeded raised 85bf71b Make db archival return a meaningful result code d17a20d Remove the sample policy file 0a6d05a libvirt/guest.py: Update docstrings of block device methods e5f379f Fix small RST markup errors 4b95b03 [Trivial] changes tiny RST markup error 5fe5185 Add get_context helper method f6b7225 Use gabbi inner_fixtures for better error capture aaf2532 Hyper-V: Fixes os_type image property requirement 62555e2 conf: Cleanup of glance.py 4e5ed1c conf: Move PCI options to a PCI group 9a5748d Add Apache 2.0 license to source file cd99758 Updated from global requirements 7c3fd3c Make releasenotes reminder detect added and untracked notes 0b9b898 [placement] reorder middleware to correct logging context a0b85d6 Fixes RST markup error to create a code-box. 4445d48 libvirt: support user password settings in virtuozzo dc7c21f Removing duplicates from columns_to_join list 9b090ae Ignore BuildRequest during an instance reschedule 4f6f239 Remove stale pyc files when running the cover job 6f98810 Add a post-test-hook to run the archive command 5fdb922 [placement] ensure that allow headers are native strings 935bea2 Fix a few typos in API reference 4a6bf43 Fix typo on api-ref parameters cca7c7da Fix typo in comment 3d57c41 Remove mox in nova/tests/unit/compute/test_shelve.py (1) c5915eb Let schema validate image metadata type and key lengths 77d3619 Remove scheduled_at attribute from instances table 993a815 Fix database poison warnings, part 22 ceaf853 Archive instance-related rows when the parent instance is deleted 6686a3e Unwind circular import issue with api / utils e71f706 Fix database poison warnings, part 18 b3d58ed Remove context object in oslo.log method 9dc07a2 libvirt: pick future min libvirt/qemu versions bd0dc61 Improve consistency in serial_console 6832a41 conf: Improve consistency in scheduler opts c04c1a9 Move notification_format and delete rpc.py d896b62 config options: improve libvirt smbfs 8c753e9 Fix database poison warnings, part 17 c5c24f1 Updated from global requirements 2f670bf Fix database poison warnings, part 16 29dab99 Hyper-V: Adds Hyper-V UEFI Secure Boot d218f0d Stop overwriting thread local context in ClientRouter 8f74906 Cleanup some redundant USES_DB_SELF usage 9544906 Fix database poison warnings, part 20 62e818a Fix database poison warnings, part 19 7637d4a use proper context in libvirt driver unit test 456c8f7 Renamed parameters name in config.py f21e7e3 [placement] Allow both /placement and /placement/ to work fd6085f numa: Fixes NUMA topology related unit tests 5901455 libvirt: fixes python 3 related unit tests 6181398 Clean up stdout/stderr leakage in cmd testing ffaf1b6 Capture stdout in for test_wsgi:test_debug 5aa6c87 Add destroy method to the RequestSpec object 146499f Remove last sentence 2851cea VMware: Enforce minimum vCenter version of 5.5 d353645 test:Remove unused method _test_get_test_network_info 2fe5dae Determine disk_format for volume-backed snapshot from schema 0ada84c Fix database poison warnings, part 15 760629b Fix CONTAINER_FORMATS_ALL to have ova insteadk of vmdk 87426ef Config options consistency of ephemeral_storage.py 81dff50 docs: Clarify sections & note on filter scheduler 8e989bd Fixes python 3 unit tests 802a0af Add Hyper-V storage QoS support be8242c Add blocker migration to ensure for newton online migrations ebc0219 hacking: Always use 'assertIs(Not)None' 8c40c42 Hyper-V: fix image handling when shared storage is being used 3ddedc5 Annotate online db migrations with cycle added f75c06a properly capture logging during db functional tests 1c85944 [placement] 404 responses do not cause exception logs bbe3939 Fix pep8 E501 line too long e53f3ed Remove unused code ebb51d5 Replace uuid4() with generate_uuid() from oslo_utils a6e9463 Return instance of Guest from method write_instance_config d1662d5 Mock.side_effects does not exist, use Mock.side_effect instead 2a5b777 Remove redundant str typecasting fe98f68 VMware: deprecate wsdl_location conf option 8a21584 Remove nova.image.s3 and configs 94d5c88 Remove internal_id attribute from instances table 0f5edd6 Fix stdout leakage during opportunistic db tests 2ddcb58 Updated from global requirements 9eb9f99 Improve help text for glance options 2ce193e libvirt: ignore conflict when defining network filters 05304b5 Add placeholder DB migrations for Ocata 15cda71 Remove PCI parent_addr online migration 7e71a4e Make nova-manage online migrations more verbose 8ddf174 Fix check_config_option_in_central_place 6b3b729 Skip malformed cookies d98096b Fix database poison warnings, part 14 c0addfa Standardize output capture for nova-manage tests 759dfc0 Work around tests that don't use nova.test as a base 15b392a Don't print to stdout when executing hacking checks dc2f4f8 Make test logging setup fixture disable future setup 56703c6 Fix typo in docsting in test_migrations.py fe3d6db Remove support for deprecated driver import c1dd240 conf: Add 'deprecated_reason' to osapi opts 059d257 Add hacking checks for xrange() 7a20438 Using assertIsNone() instead of assertEqual(None) 735f710 move os_vif.initialize() to nova-compute start e9515ba Add deprecated_since parameter 687984b [placement] Manage log and other output in gabbi fixure 87494fd Reduce duplication and complexity in format_dom bf6280e Fix invalid exception mock for InvalidNUMANodesNumber dccaf9c libvirt: fix serial console not correctly defined after live-migration f81e32c Add more description when service delete 3e92d21 trivial: Rewrap guide at 79 characters 6bb1fd7 plugins/xenserver: Add '.py' extension c4ce5f1 conf: Fix opt indentation for scheduler.py 9723864 conf: Reorder scheduler opts 29f065d Updated from global requirements ee2c0a0 Revert "Set 'serial' to new volume ID in swap volumes" 5f887d8 [placement] Adjust the name of the gabbi tests a6cfc68 placement: refactor instance translate function d3dfeb4 Move wsgi-intercept to test-requirements.txt 859de9c Add missing slash to dir path bfe42de Expand feature classification matrix with gate checks 995d283 [placement] Stringify class and provider uuid in error a68cd91 [api-ref] Correct parameter type 13a5fc6 Remove default=None for config options 0fafb81 libvirt: cleanup never used migratable flag checking a468f8c Remove unnecessary setUp and tearDown 5e8f66d Remove unused parameters 4720fdf Remove duplicate key from dictionary b535632 Updated from global requirements 310e4dc placement: refactor translate from node to dict dc4d1a6 stub out instances_path in unit tests a7c0a84 Add a new release note 7f7324c XenAPI: add unit test for plugin test_pluginlib_nova.py b2ee12c Add link ref to nova api concept doc 8795b20 libvirt: Use the recreated disk.config.rescue during a rescue 43826e4 Add members in InstanceGroup object members field 2f202bb Updates URL and removes trailing characters fc0e281 Stop ovn networking failing on mtu 57bd7b9 Update reno for stable/newton 103f13e Don't pass argument sqlite_db in method set_defaults e202a01 Add is_cell0 helper method 836747b [placement] consolidate json handling in util module 644d310 Fix unnecessary string interpolation 0683fcd Handle TypeError when disabling host service c95c2f2 Remove deprecated flag in neutron.py 2b4ac81 Body Verification of api-ref os-volume-attachments.inc 845adc6 Add functional regression test for bug 1595962 a836139 Use tempest tox with regex first 58be202 Doc fix for Nova API Guide, added missing word. 5af99c7 conf: Make list->dict conversion more specific 67b19e8 Improve help text for xenapi_session_opts e843628 Improve help text for service options. 5982b94 Use assertEqual() instead of assertDictEqual() 8568cb4 Fixed suspend for PCI passthrough 6bd8029 Switching expression order within if condition 304bc20 Use to_policy_values for policy credentials 41aa264 Doc fix for Nova API Guide, fixed wording 32be810 Nova shelve creates duplicated images in cells 2dd231c HyperV: ensure config drives are copied as well during resizes 3ec1eca Fill destination check data with VNC/SPICE listen addresses b6b31c2 Using assertIsNotNone() instead of assertIsNot(None,) f8c1ee3 Fix SafeConfigParser DeprecationWarning in Python 3.2 e4c8084 Remove RateLimitFault class 3e29e55 Rate limit is removed , update doc accordingly 9a5ec4b Fix a typo from ID to Id 2e64261 context: change the name 'rule' to 'action' in context.can a4c8680 Add description for v2.20 changes in api-ref 7b9e340 Add keypairs_links into resp 6178700 Add hypervisor_links into hypervisor v2.33 c1a8b89 Add reserved param for v2.4 3634270 Add more description on v2.9 history d7376df Pin maximum API version of microversion 676babb XenAPI: resolve the fetch_bandwidth failure 174f5a0 [api-ref] Update configuration file 054e3a5 Trivial fix remove not used var in parameters e12fe76 Trival fix a typo bd2ccb9 Enable py3 tests for unit.api.openstack.compute.test_console_output 76b5379 [placement] clean up some nits in the requestlog middleware a2ff3aa Stop using mox in virt/libvirt/test_imagecache.py 876d408 Stop using mox in unit/fake_processutils.py 4d052f2 ironic: Rename private methods for instance info 5db0545 Remove mox from api/openstack/compute/test_networks.py 7d1ab19 Remove mox from api/openstack/compute/test_rescue.py 83fe182 Remove mox from api/openstack/compute/test_image_size.py 752a13f Remove mox from api/openstack/compute/test_extended_ips.py eed029d Remove mox from nova/tests/unit/virt/xenapi/test_driver.py 9f2f999 Remove mox from unit/api/openstack/compute/test_hide_server_addresses.py 58de262 Add bigswitch command to compute rootwrap filters 39bd43b Remove unused conf 8361d8d Allow linear packing of cores 4483d02 [placement] remove a comment that is no longer a todo fd58a6a Fix a typo in the driver.py file fcf2a64 Not allow overcommit ratios to be negative 0be9298 Use cls in class method instead of self _delete_domain is a class method, so cls should be used instead of self. d8fdeac TrivialFix: Remove cfg import unused 1b7b098 Update link in general purpose feature matrix e59ba69 Add warning if metadata_proxy_shared_secret is not configured d2abe0b TrivialFix: removed useless storing of sample directory 47275d0 Fix link reference in Nova API version 9d08e80 doc: fix disk=0 use case in flavor doc 3157861 Move some flavor fakes closer to where they are being used 55f3f98 Replace flavors.get_all_flavors_sorted_list() with object call 62c7eb8 Refactor and objectify flavor fakes used in api tests 754adc4 [vncproxy] log for closing web is misleading 99b30d8 VIF: add in missing translation aeb17fd Clean imports in code 4ca189a modify description of "Inject guest networking config" d60ff73 Remove unnecessary debug logs of normal API ops 63b781d Replace fake_utils by using Fixture c1a30f8 docs: update code-review guide for config options 7e6e336 use the HostPortGroupSpec.vswitchName instead of HostPortGroup.vswitch.split 1c04e18 Fix require thread policy for multi-NUMA computes 131686f Fix database poison warnings, part 13 36a0ba9 Avoid update resource if compute node not updated 3edc02d Document update_task_state for ComputeDriver.snapshot e245086 Fix database poison warnings, part 12 af9aa1c Fix database poison warnings, part 11 54b122c Update instance node on rebuild only when it is recreate 0d814ac Fix database poison warnings, part 10 46cf8af Fix database poison warnings, part 9 dce1f71 Fix invalid import order and remove import * ab5e67f XenAPI: add unit test for plugin bandwidth 65bcd21 Complete verification for os-virtual-interfaces 1e3e730 Do not try to backport when db has older object version da0dbd7 Cleanup instance device metadata object code 41c651e Remove mox from nova/tests/unit/virt/libvirt/test_utils.py 531b401 Stop using mox in test_firewall 8b199c6 Fix exception when vcpu_pin_set is set to "" 6701af8 VMware: add in context for log messages Diffstat (except docs and test files) ------------------------------------- .coveragerc | 2 +- .gitignore | 1 + .gitreview | 1 + .testr.conf | 2 +- HACKING.rst | 11 +- README.rst | 9 + api-guide/source/conf.py | 2 - api-guide/source/faults.rst | 12 +- api-guide/source/limits.rst | 52 +- api-guide/source/server_concepts.rst | 8 +- api-guide/source/versions.rst | 5 +- api-ref/source/conf.py | 7 +- api-ref/source/diagnostics.inc | 7 +- api-ref/source/images.inc | 4 +- api-ref/source/index.rst | 7 +- api-ref/source/ips.inc | 9 +- api-ref/source/limits.inc | 2 +- api-ref/source/metadata.inc | 30 +- api-ref/source/os-aggregates.inc | 9 +- api-ref/source/os-availability-zone.inc | 2 +- api-ref/source/os-baremetal-nodes.inc | 2 +- api-ref/source/os-certificates.inc | 2 +- api-ref/source/os-consoles.inc | 41 +- api-ref/source/os-fixed-ips.inc | 3 +- api-ref/source/os-flavor-extra-specs.inc | 5 + api-ref/source/os-floating-ip-dns.inc | 2 +- api-ref/source/os-floating-ip-pools.inc | 2 +- api-ref/source/os-floating-ips-bulk.inc | 2 +- api-ref/source/os-floating-ips.inc | 56 +- api-ref/source/os-fping.inc | 2 +- api-ref/source/os-hypervisors.inc | 34 +- api-ref/source/os-instance-usage-audit-log.inc | 19 +- api-ref/source/os-keypairs.inc | 6 +- api-ref/source/os-networks.inc | 2 +- api-ref/source/os-quota-sets.inc | 2 + api-ref/source/os-security-group-default-rules.inc | 2 +- api-ref/source/os-security-group-rules.inc | 2 +- api-ref/source/os-security-groups.inc | 2 +- api-ref/source/os-server-groups.inc | 13 +- api-ref/source/os-server-password.inc | 10 +- api-ref/source/os-server-tags.inc | 2 + api-ref/source/os-services.inc | 6 +- api-ref/source/os-simple-tenant-usage.inc | 52 +- api-ref/source/os-tenant-network.inc | 12 +- api-ref/source/os-virtual-interfaces.inc | 27 +- api-ref/source/os-volume-attachments.inc | 18 +- api-ref/source/os-volumes.inc | 22 +- api-ref/source/parameters.yaml | 616 ++-- api-ref/source/server-migrations.inc | 231 ++ api-ref/source/server-security-groups.inc | 4 +- api-ref/source/servers-action-console-output.inc | 20 +- api-ref/source/servers-action-evacuate.inc | 7 +- api-ref/source/servers-action-fixed-ip.inc | 10 +- api-ref/source/servers-action-shelve.inc | 31 +- api-ref/source/servers-actions.inc | 162 +- api-ref/source/servers-admin-action.inc | 58 +- api-ref/source/servers.inc | 71 +- api-ref/source/urls.inc | 14 +- api-ref/source/versions.inc | 12 +- bandit.yaml | 129 - devstack/tempest-dsvm-cells-rc | 3 + .../keypairs/v2.35/keypairs-list-user2-resp.json | 2 +- .../v2.41/aggregate-add-host-post-req.json | 5 + .../v2.41/aggregate-metadata-post-req.json | 9 + .../os-aggregates/v2.41/aggregate-post-req.json | 7 + .../os-aggregates/v2.41/aggregate-post-resp.json | 12 + .../v2.41/aggregate-remove-host-post-req.json | 5 + .../v2.41/aggregate-update-post-req.json | 7 + .../v2.41/aggregate-update-post-resp.json | 16 + .../v2.41/aggregates-add-host-post-resp.json | 18 + .../os-aggregates/v2.41/aggregates-get-resp.json | 16 + .../v2.41/aggregates-list-get-resp.json | 20 + .../v2.41/aggregates-metadata-post-resp.json | 17 + .../v2.41/aggregates-remove-host-post-resp.json | 16 + .../v2.40/simple-tenant-usage-get-detail.json | 35 + .../v2.40/simple-tenant-usage-get-specific.json | 33 + .../v2.40/simple-tenant-usage-get.json | 19 + .../server-migrations/v2.23/migrations-get.json | 4 +- .../server-migrations/v2.23/migrations-index.json | 4 +- .../servers/server-action-addfloatingip.json | 6 + .../servers/v2.42/server-create-req.json | 18 + .../servers/v2.42/server-create-resp.json | 22 + .../aggregate-create-start.json | 17 + .../aggregate-delete-start.json | 19 + .../instance-create-error.json | 70 + .../instance-create-start.json | 60 + .../instance-delete-start.json | 19 +- .../instance-power_off-end.json | 73 + .../instance-power_off-start.json | 73 + .../instance-power_on-end.json | 19 +- .../instance-power_on-start.json | 19 +- .../instance-resize-start.json | 17 +- .../instance-resize_finish-end.json | 73 + .../instance-resize_finish-start.json | 73 + .../instance-restore-start.json | 19 +- .../instance-resume-start.json | 73 + .../instance-shelve-start.json | 17 +- .../instance-shelve_offload-end.json | 73 + .../instance-shelve_offload-start.json | 74 + .../instance-shutdown-end.json | 73 + .../instance-shutdown-start.json | 73 + .../instance-snapshot-end.json | 73 + .../instance-snapshot-start.json | 73 + .../instance-suspend-start.json | 17 +- .../instance-unpause-start.json | 73 + .../instance-unshelve-end.json | 73 + .../instance-unshelve-start.json | 73 + .../instance-volume_swap-end.json | 75 + .../instance-volume_swap-error.json | 85 + .../instance-volume_swap-start.json | 75 + etc/nova/README-policy.yaml.txt | 4 + etc/nova/api-paste.ini | 13 +- etc/nova/policy.json | 2 - etc/nova/rootwrap.d/compute.filters | 6 + gate/README | 4 + gate/post_test_hook.sh | 21 + nova/api/auth.py | 14 +- nova/api/metadata/base.py | 69 +- nova/api/metadata/handler.py | 26 +- nova/api/metadata/password.py | 4 + nova/api/metadata/vendordata_dynamic.py | 71 +- nova/api/metadata/vendordata_json.py | 4 +- nova/api/openstack/__init__.py | 5 +- nova/api/openstack/api_version_request.py | 17 +- nova/api/openstack/auth.py | 2 +- nova/api/openstack/common.py | 41 +- nova/api/openstack/compute/__init__.py | 8 +- nova/api/openstack/compute/admin_actions.py | 4 +- nova/api/openstack/compute/aggregates.py | 26 +- nova/api/openstack/compute/attach_interfaces.py | 1 - nova/api/openstack/compute/block_device_mapping.py | 14 +- nova/api/openstack/compute/cells.py | 2 +- nova/api/openstack/compute/create_backup.py | 7 +- nova/api/openstack/compute/deferred_delete.py | 4 + nova/api/openstack/compute/evacuate.py | 2 +- nova/api/openstack/compute/extension_info.py | 6 +- nova/api/openstack/compute/flavor_access.py | 4 - nova/api/openstack/compute/flavor_manage.py | 2 +- nova/api/openstack/compute/flavors.py | 5 +- nova/api/openstack/compute/flavors_extraspecs.py | 2 +- nova/api/openstack/compute/fping.py | 8 +- .../api/openstack/compute/hide_server_addresses.py | 2 +- nova/api/openstack/compute/hypervisors.py | 42 +- nova/api/openstack/compute/image_metadata.py | 12 +- .../openstack/compute/instance_usage_audit_log.py | 19 +- nova/api/openstack/compute/keypairs.py | 10 + nova/api/openstack/compute/limits.py | 23 +- nova/api/openstack/compute/migrate_server.py | 2 +- nova/api/openstack/compute/quota_classes.py | 4 +- nova/api/openstack/compute/quota_sets.py | 12 +- nova/api/openstack/compute/remote_consoles.py | 6 +- nova/api/openstack/compute/rescue.py | 2 +- .../openstack/compute/rest_api_version_history.rst | 479 +++ .../compute/schemas/block_device_mapping.py | 26 +- .../compute/schemas/block_device_mapping_v1.py | 2 +- .../api/openstack/compute/schemas/create_backup.py | 4 +- nova/api/openstack/compute/schemas/keypairs.py | 23 + nova/api/openstack/compute/schemas/server_tags.py | 16 +- nova/api/openstack/compute/schemas/servers.py | 154 +- nova/api/openstack/compute/security_groups.py | 9 +- .../openstack/compute/server_external_events.py | 10 +- nova/api/openstack/compute/server_groups.py | 12 +- nova/api/openstack/compute/server_metadata.py | 6 +- nova/api/openstack/compute/server_tags.py | 42 +- nova/api/openstack/compute/servers.py | 86 +- nova/api/openstack/compute/simple_tenant_usage.py | 115 +- nova/api/openstack/compute/suspend_server.py | 4 +- nova/api/openstack/compute/tenant_networks.py | 6 +- nova/api/openstack/compute/used_limits.py | 3 +- nova/api/openstack/compute/versions.py | 4 - nova/api/openstack/compute/views/addresses.py | 24 +- nova/api/openstack/compute/views/flavors.py | 17 +- nova/api/openstack/compute/views/limits.py | 25 +- nova/api/openstack/compute/views/servers.py | 26 +- nova/api/openstack/compute/views/usages.py | 28 + nova/api/openstack/compute/volumes.py | 27 +- nova/api/openstack/extensions.py | 2 +- nova/api/openstack/placement/deploy.py | 20 +- nova/api/openstack/placement/handler.py | 52 +- nova/api/openstack/placement/handlers/aggregate.py | 76 + .../api/openstack/placement/handlers/allocation.py | 42 +- nova/api/openstack/placement/handlers/inventory.py | 88 +- .../openstack/placement/handlers/resource_class.py | 199 ++ .../placement/handlers/resource_provider.py | 197 +- nova/api/openstack/placement/handlers/root.py | 3 +- nova/api/openstack/placement/handlers/usage.py | 18 +- nova/api/openstack/placement/microversion.py | 98 + nova/api/openstack/placement/policy.py | 75 + nova/api/openstack/placement/requestlog.py | 20 +- .../placement/rest_api_version_history.rst | 83 + nova/api/openstack/placement/util.py | 36 +- nova/api/openstack/rest_api_version_history.rst | 417 --- nova/api/openstack/wsgi.py | 64 +- nova/api/validation/__init__.py | 160 +- nova/api/validation/parameter_types.py | 28 + nova/api/validation/validators.py | 33 +- nova/availability_zones.py | 8 +- nova/block_device.py | 20 +- nova/cells/manager.py | 10 +- nova/cells/messaging.py | 4 +- nova/cells/rpcapi.py | 5 +- nova/cells/state.py | 16 +- nova/cells/utils.py | 4 +- nova/cert/manager.py | 1 - nova/cert/rpcapi.py | 9 +- nova/cloudpipe/pipelib.py | 2 +- nova/cmd/all.py | 91 - nova/cmd/api.py | 3 +- nova/cmd/api_metadata.py | 4 +- nova/cmd/cert.py | 2 +- nova/cmd/common.py | 18 +- nova/cmd/compute.py | 16 +- nova/cmd/conductor.py | 3 +- nova/cmd/dhcpbridge.py | 11 +- nova/cmd/manage.py | 583 ++-- nova/cmd/network.py | 19 +- nova/cmd/scheduler.py | 1 + nova/cmd/status.py | 460 +++ nova/common/config.py | 39 +- nova/compute/api.py | 486 +++- nova/compute/arch.py | 162 -- nova/compute/cells_api.py | 13 +- nova/compute/claims.py | 18 +- nova/compute/cpumodel.py | 45 - nova/compute/flavors.py | 16 +- nova/compute/hv_type.py | 106 - nova/compute/manager.py | 422 ++- nova/compute/resource_tracker.py | 411 +-- nova/compute/rpcapi.py | 13 +- nova/compute/utils.py | 100 +- nova/compute/vm_mode.py | 87 - nova/conductor/__init__.py | 21 +- nova/conductor/api.py | 115 +- nova/conductor/manager.py | 326 ++- nova/conductor/rpcapi.py | 26 +- nova/conf/__init__.py | 14 +- nova/conf/api.py | 215 +- nova/conf/availability_zone.py | 8 +- nova/conf/base.py | 21 +- nova/conf/cache.py | 3 +- nova/conf/cells.py | 263 +- nova/conf/cert.py | 40 - nova/conf/cinder.py | 8 +- nova/conf/compute.py | 826 ++++-- nova/conf/conductor.py | 31 +- nova/conf/console.py | 103 +- nova/conf/consoleauth.py | 43 +- nova/conf/database.py | 20 +- nova/conf/ephemeral_storage.py | 45 +- nova/conf/exceptions.py | 39 - nova/conf/flavors.py | 3 +- nova/conf/floating_ips.py | 47 +- nova/conf/glance.py | 114 +- nova/conf/hyperv.py | 34 +- nova/conf/image_file_url.py | 3 + nova/conf/ironic.py | 34 +- nova/conf/key_manager.py | 50 +- nova/conf/libvirt.py | 577 ++-- nova/conf/network.py | 584 ++-- nova/conf/neutron.py | 3 - nova/conf/notifications.py | 49 +- nova/conf/opts.py | 11 - nova/conf/osapi_v21.py | 32 +- nova/conf/pci.py | 66 +- nova/conf/placement.py | 5 + nova/conf/quota.py | 365 ++- nova/conf/rpc.py | 56 - nova/conf/s3.py | 73 - nova/conf/scheduler.py | 1064 +++---- nova/conf/serial_console.py | 120 +- nova/conf/service.py | 172 +- nova/conf/service_token.py | 66 + nova/conf/spice.py | 163 +- nova/conf/ssl.py | 3 +- nova/conf/upgrade_levels.py | 179 +- nova/conf/vendordata.py | 42 + nova/conf/virt.py | 326 --- nova/conf/vmware.py | 5 + nova/conf/wsgi.py | 43 +- nova/conf/xenserver.py | 410 ++- nova/config.py | 5 + nova/console/fake.py | 52 - nova/console/manager.py | 11 +- nova/console/rpcapi.py | 9 +- nova/console/websocketproxy.py | 20 +- nova/consoleauth/manager.py | 2 +- nova/consoleauth/rpcapi.py | 7 +- nova/context.py | 39 +- nova/db/api.py | 12 +- nova/db/sqlalchemy/api.py | 591 ++-- .../migrate_repo/versions/021_placeholder.py | 23 + .../migrate_repo/versions/022_placeholder.py | 23 + .../migrate_repo/versions/023_placeholder.py | 23 + .../migrate_repo/versions/024_placeholder.py | 23 + .../migrate_repo/versions/025_placeholder.py | 23 + .../versions/026_add_resource_classes.py | 36 + .../migrate_repo/versions/027_quotas.py | 124 + .../028_build_requests_instance_mediumtext.py | 24 + .../versions/029_placement_aggregates.py | 37 + .../versions/030_require_cell_setup.py | 60 + nova/db/sqlalchemy/api_models.py | 143 +- .../migrate_repo/versions/335_placeholder.py | 23 + .../migrate_repo/versions/336_placeholder.py | 23 + .../migrate_repo/versions/337_placeholder.py | 23 + .../migrate_repo/versions/338_placeholder.py | 23 + .../migrate_repo/versions/339_placeholder.py | 23 + .../migrate_repo/versions/340_placeholder.py | 23 + .../migrate_repo/versions/341_placeholder.py | 23 + .../migrate_repo/versions/342_placeholder.py | 23 + .../migrate_repo/versions/343_placeholder.py | 23 + .../migrate_repo/versions/344_placeholder.py | 23 + .../345_require_online_migration_completion.py | 68 + .../versions/346_remove_scheduled_at_column.py | 29 + .../versions/347_add_updated_at_index.py | 58 + nova/db/sqlalchemy/models.py | 19 +- nova/db/sqlalchemy/resource_class_cache.py | 139 + nova/db/sqlalchemy/utils.py | 20 - nova/exception.py | 73 +- nova/exception_wrapper.py | 4 +- nova/hacking/checks.py | 166 +- nova/image/api.py | 2 + nova/image/glance.py | 109 +- nova/image/s3.py | 410 --- nova/locale/cs/LC_MESSAGES/nova-log-error.po | 33 +- nova/locale/cs/LC_MESSAGES/nova-log-info.po | 12 +- nova/locale/cs/LC_MESSAGES/nova-log-warning.po | 45 +- nova/locale/cs/LC_MESSAGES/nova.po | 107 +- nova/locale/de/LC_MESSAGES/nova-log-error.po | 33 +- nova/locale/de/LC_MESSAGES/nova-log-info.po | 12 +- nova/locale/de/LC_MESSAGES/nova.po | 192 +- nova/locale/es/LC_MESSAGES/nova-log-error.po | 33 +- nova/locale/es/LC_MESSAGES/nova-log-info.po | 12 +- nova/locale/es/LC_MESSAGES/nova-log-warning.po | 30 +- nova/locale/es/LC_MESSAGES/nova.po | 114 +- nova/locale/fr/LC_MESSAGES/nova-log-error.po | 33 +- nova/locale/fr/LC_MESSAGES/nova-log-info.po | 9 +- nova/locale/fr/LC_MESSAGES/nova-log-warning.po | 30 +- nova/locale/fr/LC_MESSAGES/nova.po | 115 +- nova/locale/it/LC_MESSAGES/nova-log-error.po | 25 +- nova/locale/it/LC_MESSAGES/nova-log-info.po | 8 +- nova/locale/it/LC_MESSAGES/nova.po | 113 +- nova/locale/ja/LC_MESSAGES/nova.po | 112 +- nova/locale/ko_KR/LC_MESSAGES/nova-log-error.po | 46 +- nova/locale/ko_KR/LC_MESSAGES/nova-log-info.po | 72 +- nova/locale/ko_KR/LC_MESSAGES/nova-log-warning.po | 51 +- nova/locale/ko_KR/LC_MESSAGES/nova.po | 126 +- nova/locale/pt_BR/LC_MESSAGES/nova-log-error.po | 46 +- nova/locale/pt_BR/LC_MESSAGES/nova-log-info.po | 12 +- nova/locale/pt_BR/LC_MESSAGES/nova.po | 114 +- nova/locale/ru/LC_MESSAGES/nova.po | 113 +- nova/locale/tr_TR/LC_MESSAGES/nova-log-error.po | 33 +- nova/locale/tr_TR/LC_MESSAGES/nova-log-info.po | 12 +- nova/locale/tr_TR/LC_MESSAGES/nova-log-warning.po | 30 +- nova/locale/tr_TR/LC_MESSAGES/nova.po | 96 +- nova/locale/zh_CN/LC_MESSAGES/nova-log-error.po | 33 +- nova/locale/zh_CN/LC_MESSAGES/nova-log-info.po | 12 +- nova/locale/zh_CN/LC_MESSAGES/nova-log-warning.po | 26 +- nova/locale/zh_CN/LC_MESSAGES/nova.po | 108 +- nova/locale/zh_TW/LC_MESSAGES/nova.po | 108 +- nova/manager.py | 23 + nova/network/api.py | 2 + nova/network/floating_ips.py | 2 +- nova/network/ldapdns.py | 2 +- nova/network/linux_net.py | 21 +- nova/network/manager.py | 34 +- nova/network/model.py | 22 +- nova/network/neutronv2/api.py | 118 +- nova/network/os_vif_util.py | 69 +- nova/network/rpcapi.py | 9 +- nova/network/security_group/neutron_driver.py | 8 +- nova/network/security_group/security_group_base.py | 16 +- nova/notifications/base.py | 25 +- nova/notifications/objects/aggregate.py | 53 + nova/notifications/objects/base.py | 6 +- nova/notifications/objects/exception.py | 4 +- nova/notifications/objects/flavor.py | 91 + nova/notifications/objects/instance.py | 135 +- nova/objects/aggregate.py | 19 +- nova/objects/base.py | 87 +- nova/objects/build_request.py | 77 +- nova/objects/cell_mapping.py | 3 + nova/objects/compute_node.py | 110 +- nova/objects/fields.py | 424 ++- nova/objects/flavor.py | 44 +- nova/objects/host_mapping.py | 76 + nova/objects/hv_spec.py | 5 +- nova/objects/image_meta.py | 11 +- nova/objects/instance.py | 83 +- nova/objects/instance_fault.py | 12 +- nova/objects/instance_group.py | 2 +- nova/objects/instance_mapping.py | 16 +- nova/objects/instance_numa_topology.py | 30 +- nova/objects/keypair.py | 4 +- nova/objects/migrate_data.py | 64 +- nova/objects/numa.py | 12 + nova/objects/pci_device.py | 37 +- nova/objects/pci_device_pool.py | 2 +- nova/objects/request_spec.py | 37 +- nova/objects/resource_provider.py | 740 ++++- nova/objects/security_group.py | 39 +- nova/objects/service.py | 5 +- nova/objects/virt_device_metadata.py | 17 +- nova/pci/devspec.py | 245 +- nova/pci/manager.py | 27 +- nova/pci/request.py | 16 +- nova/pci/stats.py | 4 +- nova/pci/utils.py | 6 +- nova/pci/whitelist.py | 5 - nova/policies/server_groups.py | 13 + nova/policy.py | 9 +- nova/profiler.py | 73 + nova/quota.py | 46 +- nova/rpc.py | 56 +- nova/scheduler/caching_scheduler.py | 2 +- nova/scheduler/client/report.py | 594 +++- nova/scheduler/driver.py | 2 +- nova/scheduler/filter_scheduler.py | 81 +- .../aggregate_image_properties_isolation.py | 14 +- .../filters/aggregate_instance_extra_specs.py | 4 +- .../filters/compute_capabilities_filter.py | 2 +- nova/scheduler/filters/image_props_filter.py | 10 +- nova/scheduler/filters/io_ops_filter.py | 8 +- nova/scheduler/filters/isolated_hosts_filter.py | 8 +- nova/scheduler/filters/num_instances_filter.py | 16 +- nova/scheduler/filters/numa_topology_filter.py | 27 +- nova/scheduler/filters/pci_passthrough_filter.py | 5 +- nova/scheduler/filters/trusted_filter.py | 10 +- nova/scheduler/host_manager.py | 47 +- nova/scheduler/ironic_host_manager.py | 20 +- nova/scheduler/manager.py | 46 +- nova/scheduler/rpcapi.py | 5 +- nova/scheduler/scheduler_options.py | 98 - nova/scheduler/utils.py | 11 +- nova/scheduler/weights/affinity.py | 19 +- nova/scheduler/weights/disk.py | 2 +- nova/scheduler/weights/io_ops.py | 2 +- nova/scheduler/weights/ram.py | 2 +- nova/service.py | 56 +- nova/service_auth.py | 39 + nova/servicegroup/drivers/db.py | 4 +- nova/servicegroup/drivers/mc.py | 2 +- nova/test.py | 105 +- .../functional/api/openstack/placement/fixtures.py | 44 +- .../api/openstack/placement/gabbits/aggregate.yaml | 104 + .../openstack/placement/gabbits/allocations.yaml | 29 +- .../api/openstack/placement/gabbits/inventory.yaml | 170 +- .../openstack/placement/gabbits/microversion.yaml | 4 +- .../placement/gabbits/resource-classes.yaml | 217 ++ .../gabbits/resource-provider-aggregates.yaml | 106 + .../gabbits/resource-provider-resources-query.yaml | 136 + .../placement/gabbits/resource-provider.yaml | 36 +- .../api/openstack/placement/gabbits/unicode.yaml | 32 - .../api/openstack/placement/gabbits/usage.yaml | 2 + .../placement/gabbits/with-allocations.yaml | 9 +- .../api/openstack/placement/test_placement_api.py | 14 + .../api/openstack/placement/test_report_client.py | 30 +- .../v2.35/keypairs-list-user2-resp.json.tpl | 2 +- .../limits/v2.39/limit-get-resp.json.tpl | 20 + .../v2.41/aggregate-add-host-post-req.json.tpl | 5 + .../v2.41/aggregate-metadata-post-req.json.tpl | 9 + .../v2.41/aggregate-post-req.json.tpl | 7 + .../v2.41/aggregate-post-resp.json.tpl | 12 + .../v2.41/aggregate-remove-host-post-req.json.tpl | 5 + .../v2.41/aggregate-update-post-req.json.tpl | 7 + .../v2.41/aggregate-update-post-resp.json.tpl | 16 + .../v2.41/aggregates-add-host-post-resp.json.tpl | 18 + .../v2.41/aggregates-get-resp.json.tpl | 16 + .../v2.41/aggregates-list-get-resp.json.tpl | 20 + .../v2.41/aggregates-metadata-post-resp.json.tpl | 17 + .../aggregates-remove-host-post-resp.json.tpl | 16 + .../hypervisors-detail-resp.json.tpl | 2 +- .../os-hypervisors/hypervisors-show-resp.json.tpl | 2 +- .../v2.28/hypervisors-detail-resp.json.tpl | 2 +- .../v2.28/hypervisors-show-resp.json.tpl | 2 +- .../v2.40/simple-tenant-usage-get-detail.json.tpl | 35 + .../simple-tenant-usage-get-specific.json.tpl | 33 + .../v2.40/simple-tenant-usage-get.json.tpl | 19 + .../v2.23/migrations-get.json.tpl | 4 +- .../v2.23/migrations-index.json.tpl | 4 +- .../servers/server-action-addfloatingip.json.tpl | 6 + .../servers/server-create-req-v237.json.tpl | 2 +- .../servers/v2.42/server-create-req.json.tpl | 18 + .../servers/v2.42/server-create-resp.json.tpl | 22 + .../test_assisted_volume_snapshots.py | 2 +- .../functional/db/test_resource_class_cache.py | 99 + .../functional/libvirt/test_pci_sriov_servers.py | 332 +++ .../notification_sample_base.py | 52 +- .../test_exception_notification.py | 6 +- .../functional/regressions/test_bug_1522536.py | 10 +- .../functional/regressions/test_bug_1541691.py | 4 - .../functional/regressions/test_bug_1548980.py | 10 +- .../functional/regressions/test_bug_1554631.py | 10 +- .../functional/regressions/test_bug_1558866.py | 1 + .../functional/regressions/test_bug_1595962.py | 145 + .../functional/regressions/test_bug_1620248.py | 5 +- .../functional/regressions/test_bug_1627838.py | 32 + .../unit/api/openstack/compute/test_access_ips.py | 3 +- .../api/openstack/compute/test_admin_password.py | 2 +- .../unit/api/openstack/compute/test_aggregates.py | 29 +- .../openstack/compute/test_attach_interfaces.py | 77 +- .../openstack/compute/test_availability_zone.py | 38 +- .../openstack/compute/test_block_device_mapping.py | 61 + .../compute/test_block_device_mapping_v1.py | 79 +- .../unit/api/openstack/compute/test_cloudpipe.py | 153 +- .../api/openstack/compute/test_config_drive.py | 40 +- .../api/openstack/compute/test_console_output.py | 3 +- .../unit/api/openstack/compute/test_consoles.py | 6 +- .../api/openstack/compute/test_create_backup.py | 32 + .../api/openstack/compute/test_deferred_delete.py | 25 + .../unit/api/openstack/compute/test_disk_config.py | 20 +- .../unit/api/openstack/compute/test_evacuate.py | 22 +- .../compute/test_extended_availability_zone.py | 21 +- .../openstack/compute/test_extended_hypervisors.py | 76 +- .../api/openstack/compute/test_extended_ips.py | 10 +- .../api/openstack/compute/test_extended_ips_mac.py | 5 +- .../compute/test_extended_server_attributes.py | 10 +- .../api/openstack/compute/test_extended_status.py | 12 +- .../api/openstack/compute/test_extended_volumes.py | 4 +- .../unit/api/openstack/compute/test_extensions.py | 3 - .../api/openstack/compute/test_flavor_disabled.py | 61 +- .../api/openstack/compute/test_flavor_manage.py | 11 +- .../unit/api/openstack/compute/test_flavor_rxtx.py | 62 +- .../unit/api/openstack/compute/test_flavor_swap.py | 60 +- .../api/openstack/compute/test_flavorextradata.py | 86 +- .../unit/api/openstack/compute/test_flavors.py | 219 +- .../openstack/compute/test_flavors_extra_specs.py | 2 +- .../api/openstack/compute/test_floating_ip_dns.py | 95 +- .../openstack/compute/test_floating_ip_pools.py | 12 +- .../api/openstack/compute/test_floating_ips.py | 15 +- .../compute/test_hide_server_addresses.py | 31 +- .../unit/api/openstack/compute/test_hypervisors.py | 81 +- .../api/openstack/compute/test_image_metadata.py | 25 + .../unit/api/openstack/compute/test_image_size.py | 22 +- .../unit/api/openstack/compute/test_images.py | 5 +- .../api/openstack/compute/test_instance_actions.py | 10 +- .../unit/api/openstack/compute/test_keypairs.py | 48 +- .../unit/api/openstack/compute/test_limits.py | 33 + .../api/openstack/compute/test_microversions.py | 32 +- .../api/openstack/compute/test_migrate_server.py | 2 +- .../unit/api/openstack/compute/test_migrations.py | 8 +- .../api/openstack/compute/test_multiple_create.py | 66 +- .../unit/api/openstack/compute/test_networks.py | 12 +- .../compute/test_neutron_security_groups.py | 26 +- .../api/openstack/compute/test_plugin_framework.py | 2 +- .../unit/api/openstack/compute/test_quotas.py | 59 +- .../unit/api/openstack/compute/test_rescue.py | 63 +- .../api/openstack/compute/test_scheduler_hints.py | 4 +- .../compute/test_security_group_default_rules.py | 1 + .../api/openstack/compute/test_security_groups.py | 20 +- .../api/openstack/compute/test_server_actions.py | 293 +- .../openstack/compute/test_server_diagnostics.py | 3 +- .../compute/test_server_external_events.py | 9 +- .../openstack/compute/test_server_group_quotas.py | 2 +- .../api/openstack/compute/test_server_groups.py | 140 +- .../api/openstack/compute/test_server_metadata.py | 15 +- .../openstack/compute/test_server_migrations.py | 14 +- .../unit/api/openstack/compute/test_server_tags.py | 14 +- .../api/openstack/compute/test_server_usage.py | 3 +- .../unit/api/openstack/compute/test_serversV21.py | 376 ++- .../unit/api/openstack/compute/test_shelve.py | 59 +- .../openstack/compute/test_simple_tenant_usage.py | 141 +- .../unit/api/openstack/compute/test_snapshots.py | 21 +- .../api/openstack/compute/test_tenant_networks.py | 75 +- .../unit/api/openstack/compute/test_urlmap.py | 21 +- .../unit/api/openstack/compute/test_used_limits.py | 4 +- .../unit/api/openstack/compute/test_user_data.py | 17 +- .../unit/api/openstack/compute/test_versions.py | 23 +- .../openstack/compute/test_virtual_interfaces.py | 4 + .../unit/api/openstack/compute/test_volumes.py | 189 +- .../unit/api/openstack/placement/test_handler.py | 47 +- .../api/openstack/placement/test_microversion.py | 107 + .../api/openstack/placement/test_requestlog.py | 15 +- .../unit/api/openstack/placement/test_util.py | 93 + .../unit/conductor/tasks/test_live_migrate.py | 237 +- .../network/security_group/test_neutron_driver.py | 6 +- .../unit/notifications/objects/test_flavor.py | 142 + .../notifications/objects/test_notification.py | 31 +- .../unit/objects/test_instance_device_metadata.py | 13 +- .../unit/objects/test_instance_numa_topology.py | 47 +- .../scheduler/filters/test_affinity_filters.py | 11 +- ...aggregate_image_properties_isolation_filters.py | 39 +- .../test_aggregate_instance_extra_specs_filters.py | 8 +- .../filters/test_availability_zone_filters.py | 6 +- .../unit/scheduler/filters/test_disk_filters.py | 3 - .../scheduler/filters/test_image_props_filters.py | 174 +- .../unit/scheduler/filters/test_io_ops_filters.py | 8 +- .../filters/test_isolated_hosts_filter.py | 7 +- .../filters/test_num_instances_filters.py | 8 +- .../filters/test_numa_topology_filters.py | 21 +- .../filters/test_pci_passthrough_filters.py | 22 +- .../unit/scheduler/test_ironic_host_manager.py | 60 +- .../scheduler/weights/test_weights_affinity.py | 18 +- .../unit/scheduler/weights/test_weights_disk.py | 6 +- .../scheduler/weights/test_weights_ioopsweight.py | 3 +- .../unit/scheduler/weights/test_weights_ram.py | 6 +- .../unit/servicegroup/test_db_servicegroup.py | 34 +- .../unit/virt/hyperv/test_block_device_manager.py | 69 + .../unit/virt/hyperv/test_livemigrationops.py | 13 +- .../unit/virt/libvirt/storage/test_dmcrypt.py | 1 - .../unit/virt/libvirt/volume/test_fibrechannel.py | 14 +- .../unit/virt/libvirt/volume/test_glusterfs.py | 17 +- .../unit/virt/libvirt/volume/test_vzstorage.py | 17 +- .../unit/virt/xenapi/image/test_bittorrent.py | 21 +- .../unit/virt/xenapi/image/test_vdi_through_dev.py | 2 +- .../xenapi/plugins/test_nova_plugin_version.py | 28 - .../virt/xenapi/plugins/test_partition_utils.py | 108 - .../unit/volume/encryptors/test_cryptsetup.py | 40 +- nova/utils.py | 34 +- nova/virt/block_device.py | 32 +- nova/virt/configdrive.py | 5 + nova/virt/diagnostics.py | 3 +- nova/virt/disk/api.py | 6 +- nova/virt/disk/vfs/guestfs.py | 24 +- nova/virt/driver.py | 32 +- nova/virt/fake.py | 32 +- nova/virt/hardware.py | 720 ++--- nova/virt/hyperv/block_device_manager.py | 42 + nova/virt/hyperv/constants.py | 23 +- nova/virt/hyperv/driver.py | 27 +- nova/virt/hyperv/hostops.py | 55 +- nova/virt/hyperv/imagecache.py | 37 +- nova/virt/hyperv/livemigrationops.py | 6 +- nova/virt/hyperv/migrationops.py | 22 +- nova/virt/hyperv/vif.py | 54 +- nova/virt/hyperv/vmops.py | 294 +- nova/virt/hyperv/volumeops.py | 557 ++-- nova/virt/images.py | 14 +- nova/virt/ironic/client_wrapper.py | 24 +- nova/virt/ironic/driver.py | 452 ++- nova/virt/ironic/patcher.py | 8 +- nova/virt/libvirt/blockinfo.py | 73 +- nova/virt/libvirt/config.py | 96 +- nova/virt/libvirt/designer.py | 5 +- nova/virt/libvirt/driver.py | 1597 +++++----- nova/virt/libvirt/firewall.py | 16 +- nova/virt/libvirt/guest.py | 237 +- nova/virt/libvirt/host.py | 231 +- nova/virt/libvirt/imagebackend.py | 126 +- nova/virt/libvirt/imagecache.py | 15 +- nova/virt/libvirt/migration.py | 121 +- nova/virt/libvirt/storage/lvm.py | 6 +- nova/virt/libvirt/storage/rbd_utils.py | 30 +- nova/virt/libvirt/utils.py | 67 +- nova/virt/libvirt/vif.py | 209 +- nova/virt/libvirt/volume/aoe.py | 4 +- nova/virt/libvirt/volume/disco.py | 4 +- nova/virt/libvirt/volume/fibrechannel.py | 4 +- nova/virt/libvirt/volume/fs.py | 4 +- nova/virt/libvirt/volume/hgst.py | 4 +- nova/virt/libvirt/volume/iscsi.py | 4 +- nova/virt/libvirt/volume/net.py | 76 +- nova/virt/libvirt/volume/quobyte.py | 4 +- nova/virt/libvirt/volume/scaleio.py | 4 +- nova/virt/libvirt/volume/scality.py | 8 +- nova/virt/libvirt/volume/volume.py | 22 +- nova/virt/libvirt/volume/vzstorage.py | 2 +- nova/virt/netutils.py | 10 + nova/virt/vmwareapi/constants.py | 26 +- nova/virt/vmwareapi/driver.py | 26 +- nova/virt/vmwareapi/host.py | 12 +- nova/virt/vmwareapi/images.py | 7 +- nova/virt/vmwareapi/network_util.py | 2 +- nova/virt/vmwareapi/vim_util.py | 4 +- nova/virt/vmwareapi/vm_util.py | 9 +- nova/virt/vmwareapi/vmops.py | 26 +- nova/virt/watchdog_actions.py | 24 - nova/virt/xenapi/agent.py | 18 +- nova/virt/xenapi/client/__init__.py | 0 nova/virt/xenapi/client/objects.py | 148 - nova/virt/xenapi/client/session.py | 351 --- nova/virt/xenapi/driver.py | 72 +- nova/virt/xenapi/fake.py | 74 +- nova/virt/xenapi/firewall.py | 5 +- nova/virt/xenapi/host.py | 20 +- nova/virt/xenapi/image/bittorrent.py | 2 +- nova/virt/xenapi/image/glance.py | 10 +- nova/virt/xenapi/pool.py | 2 +- nova/virt/xenapi/vif.py | 126 +- nova/virt/xenapi/vm_utils.py | 46 +- nova/virt/xenapi/vmops.py | 150 +- nova/virt/xenapi/volume_utils.py | 7 +- nova/virt/xenapi/volumeops.py | 13 +- nova/volume/cinder.py | 47 +- nova/volume/encryptors/__init__.py | 44 +- nova/volume/encryptors/cryptsetup.py | 25 +- nova/volume/encryptors/luks.py | 44 + nova/wsgi.py | 4 +- nova/wsgi/nova-api.py | 6 + plugins/xenserver/xenapi/README | 8 - .../xenapi/etc/xapi.d/plugins/_bittorrent_seeder | 129 - plugins/xenserver/xenapi/etc/xapi.d/plugins/agent | 266 -- .../xenserver/xenapi/etc/xapi.d/plugins/bandwidth | 53 - .../xenserver/xenapi/etc/xapi.d/plugins/bittorrent | 327 --- .../xenapi/etc/xapi.d/plugins/config_file | 34 - .../xenserver/xenapi/etc/xapi.d/plugins/console | 89 - plugins/xenserver/xenapi/etc/xapi.d/plugins/glance | 632 ---- plugins/xenserver/xenapi/etc/xapi.d/plugins/ipxe | 140 - plugins/xenserver/xenapi/etc/xapi.d/plugins/kernel | 143 - .../xenserver/xenapi/etc/xapi.d/plugins/migration | 84 - .../xenapi/etc/xapi.d/plugins/nova_plugin_version | 43 - .../xenapi/etc/xapi.d/plugins/partition_utils.py | 87 - .../xenapi/etc/xapi.d/plugins/pluginlib_nova.py | 147 - .../xenserver/xenapi/etc/xapi.d/plugins/utils.py | 519 ---- .../xenapi/etc/xapi.d/plugins/workarounds | 53 - .../xenserver/xenapi/etc/xapi.d/plugins/xenhost | 626 ---- .../xenapi/etc/xapi.d/plugins/xenstore.py | 218 -- ...d-api-config-to-api-group-af20a57a9e3e1b85.yaml | 26 + ...nfig-to-consoleauth-group-aaa4d9ab8db7c78a.yaml | 6 + ...cors-to-versions-pipeline-56277ca66e796569.yaml | 7 + ...figdrive-network-metadata-4e8f06dfd6d6d6d4.yaml | 7 + ...add-ivs-filter-to-compute-093734c1c5348e99.yaml | 5 + ...epage-support-for-aarch64-14279c307e44b147.yaml | 4 + .../add-osprofiler-support-b04f1e4cfa550440.yaml | 27 + ...d-pci-config-to-pci-group-5648cc0f307f24f8.yaml | 9 + ...config-to-scheduler-group-c83bc770e67ac115.yaml | 35 + ...swap-volume-notifications-bb7e14230fccfd6e.yaml | 9 + ...r-list-filter-sort-params-2ae766d03ba895e5.yaml | 115 + .../notes/archive-all-db-aadf2ce0394c24fa.yaml | 7 + ...cate-image-meta-proxy-api-7f21e1e6a94944ee.yaml | 9 + .../bp-ephemeral-disk-ploop-a9b3af1f36ae42ed.yaml | 3 + .../bp-flavor-notifications-7b3a56509c3f138d.yaml | 11 + .../bp-hyperv-storage-qos-d559634e5df0f1d4.yaml | 17 + .../bp-hyperv-use-os-brick-bf576a5bc97f0ea2.yaml | 11 + .../bp-inject-nmi-ironic-be5405065b6dd890.yaml | 5 + .../bp-soft-reboot-poweroff-203e0f33e3b8042e.yaml | 6 + .../bp-soft-reboot-poweroff-6215d216a6aedafa.yaml | 5 + ...o-instance-admin-password-8278cad73f3be98d.yaml | 4 + .../bp-xenapi-vif-hotplug-2a2b913c49123fe0.yaml | 4 + .../notes/bug-1604116-87a823c3c165d057.yaml | 7 + .../notes/bug-1633518-0646722faac1a4b9.yaml | 7 + .../notes/bug-1636157-2148ea3675969a5d.yaml | 10 + .../notes/bug-1661258-ee202843157f6a27.yaml | 9 + .../notes/bug-1662699-06203e7262e02aa6.yaml | 10 + .../notes/bug-hyperv-1629040-e1eb35a7b31d9af8.yaml | 5 + ...ll-id-db-sync-nova-manage-8504b54dd115a2e9.yaml | 5 +- ...-single-migration-command-0e98d66e31e02a50.yaml | 7 +- ...deprecate-compute-options-011c9a454182a8bf.yaml | 7 + ...recate-console_driver-opt-26475263aad3b655.yaml | 9 + ...igration-progress-timeout-b4640047dc5c8eed.yaml | 16 + ...precate-nova-network-opts-b6da6af4497ef4ca.yaml | 41 + ...precate-remap_vbd_dev-opt-c1690c5b447f0053.yaml | 5 + .../deprecate-topic-opts-68b1a752dba1eb24.yaml | 13 + ...cate-vmware-wsdl-location-97af576f53fef771.yaml | 7 + ...nserver-vif-driver-option-12eb279c0c93c157.yaml | 13 + ...recate_live_migration_uri-8ae6656664db5ba0.yaml | 13 + ...xenapi_torrent_downloader-ebcbb3d5f929d893.yaml | 16 + ...fault-cell0-db-connection-f9717053cc34778e.yaml | 10 + ...rtual-device-role-tagging-7cfdb14f2ba4fbcf.yaml | 10 + ...flavor_hw_watchdog_action-512d79155c91cb84.yaml | 6 + .../notes/hyper-v-ovs-vif-348fca68db4918fe.yaml | 10 + .../hyper-v-pci-passthrough-babf104d6bc2baa6.yaml | 27 + .../hyper-v-set-boot-order-1e76b08ca6783add.yaml | 8 + .../hyper-v-vnuma-support-ffedfaadac91bbac.yaml | 15 + .../hyperv-uefi-secure-boot-a2a617ac2c313afd.yaml | 20 + ...yption-provider-constants-a7cd0ce58da2bae8.yaml | 14 + ...ic-serial-console-support-82632bd4db6d1fda.yaml | 9 + ...itch-to-vif-attach-detach-cc8583c604510f95.yaml | 6 + ...rt-script-with-empty-path-2b49caa68b05278d.yaml | 27 + .../notes/live-migration-vz-3236af37a522e411.yaml | 4 + .../notes/minimum_vc_version-0695a79dc1df3caa.yaml | 7 + ...sole-opt-to-console-group-de693ac26bc9b090.yaml | 5 + ...ts-to-notifications-group-7dc9e76673472b8b.yaml | 11 + ...tion-transformation-ocata-ec42281e9df6019c.yaml | 23 + ...-network-only-for-cellsv1-dfb72fb1d3339bb3.yaml | 6 + ...nova-status-upgrade-check-8190e6061680ff1f.yaml | 12 + ...-bug-1635008-rbd-vol-auth-83277b02ea87e16e.yaml | 11 + .../ocata-cellsv2-support-4b3b5e70e76bc756.yaml | 17 + ...ta-drop-cinder-v1-support-e383bc3623dbdb21.yaml | 3 + .../ocata-requires-cellv2-96bd243be874d77f.yaml | 12 + ...ta-use-neutron-by-default-7a836e65e1c3ccaf.yaml | 9 + .../notes/ocata_prelude-cfa8793d07f963e7.yaml | 41 + .../pagination-for-usage-a313397f9a7e9a70.yaml | 17 + ...h-whitelist-regex-support-5004c5db4fbe09c8.yaml | 5 + ...pi-endpoint-interface-set-29af8b9400ce7775.yaml | 9 + .../placement-api-member-of-d8a08d0d0c5700d7.yaml | 14 + ...er-providers-by-resources-0ab51c9766fe654f.yaml | 19 + ...t-custom-resource-classes-a3f2175772983b0a.yaml | 10 + .../policy-discover-cli-a14a115cacbdc9c6.yaml | 2 +- .../notes/quota-config-group-8028127074d43c48.yaml | 26 + ...remove-deprecated-cmd-all-c91c8fc2f3a56a97.yaml | 5 + ...eprecated-compute-options-dbf2be75d6bdbcc8.yaml | 6 + ...-deprecated-glance-v1-opt-976e680457f8b2c7.yaml | 5 + .../notes/remove-image-s3-ae6164a0d524602f.yaml | 3 + ...ntegration-bridge-default-0b838f0816829b68.yaml | 9 + ...on_config_location-option-c669e8c9867ce0fb.yaml | 5 + ...ated_barbican_config_opts-7eb4e801d0ac252f.yaml | 10 + ...ted_cells_driver_conf_opt-dbb80137b3632500.yaml | 6 + ...cated_cert_topic_conf_opt-6402aeca8629da95.yaml | 4 + ...ecated_exception_conf_opt-94bfea599c2ebf5c.yaml | 5 + ...eprecated_ironic_conf_opt-0bff87f16412d4b8.yaml | 11 + ...ce_manager_config_options-2e1eaae92ea82d84.yaml | 15 + ...pci-parent_addr-migration-f7dfa2b441cf30e8.yaml | 7 + ...ders_scheduler_db_filters-16b2ed3da00c51dd.yaml | 18 + ...-attribute-for-aggregates-70d9f733f86fb1a3.yaml | 5 + .../rm-conductor-local-apis-f121afaee99f6fa4.yaml | 9 + ...on-snapshot_name_template-1d8b1ee431d30e4d.yaml | 6 + ...available_monitors-option-c8d0b81304452786.yaml | 6 + ...nova-manage-cmds-ocata-b3-813d3bcecfb939e2.yaml | 9 + ...ed-nova-manage-cmds-ocata-bada0a4dbbc50eb6.yaml | 6 + ...sched-host-mgr-class-load-2a86749a38f0688d.yaml | 4 +- ...d_remove_classpath_import-5d0f48eb388e6948.yaml | 6 + ...eduler-can-discover-hosts-4b799cbd14dbc7dc.yaml | 13 + ...on_live-migration_failure-d1f6f29ceafdd598.yaml | 9 + ...through-neutron-port-vlan-7d19df7ac6e2730a.yaml | 13 + ...pported-virtuozzo-version-569db9259a7ee579.yaml | 5 + ...idate-expired-user-tokens-57a265cb4ee4ba6f.yaml | 14 + ...a-reboot-cache-boot-roles-6051fabcd4981928.yaml | 8 + ...rdata-reboot-hard-failure-42beeb1044680a50.yaml | 7 + ...vendordata-service-tokens-876505167395a56d.yaml | 14 + ...verbose-online-migrations-bd6f57e43328d554.yaml | 6 + .../vif-vrouter-multiqueue-077785e1a2d242a0.yaml | 7 + .../virtuozzo_vif_types-6e50217b295a1589.yaml | 5 + ...nserver-plugin-extensions-57e01c9473073d0a.yaml | 6 + releasenotes/source/conf.py | 7 +- releasenotes/source/index.rst | 9 +- releasenotes/source/newton.rst | 7 + requirements.txt | 48 +- setup.cfg | 6 +- test-requirements.txt | 28 +- tools/hooks/post_test_hook.sh | 1 + tools/pretty_tox3.sh | 8 +- tools/releasenotes_tox.sh | 2 +- tools/test-setup.sh | 54 + tools/xenserver/destroy_cached_images.py | 14 +- tools/xenserver/stress_test.py | 12 + tox.ini | 56 +- 1151 files changed, 47065 insertions(+), 29127 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index a728c7e..3183f7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +5 @@ -pbr>=1.6 # Apache-2.0 +pbr>=1.8 # Apache-2.0 @@ -7 +6,0 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT -boto>=2.32.1 # MIT @@ -10,3 +9,3 @@ eventlet!=0.18.3,>=0.18.2 # MIT -Jinja2>=2.8 # BSD License (3 clause) -keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0 -lxml>=2.3 # BSD +Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause) +keystonemiddleware>=4.12.0 # Apache-2.0 +lxml!=3.7.0,>=2.3 # BSD @@ -16 +15 @@ cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0 -WebOb>=1.2.3 # MIT +WebOb>=1.6.0 # MIT @@ -20 +19 @@ Paste # MIT -PrettyTable<0.8,>=0.7 # BSD +PrettyTable<0.8,>=0.7.1 # BSD @@ -25,0 +25 @@ Babel>=2.3.4 # BSD +enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD @@ -29 +29 @@ python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0 -keystoneauth1>=2.10.0 # Apache-2.0 +keystoneauth1>=2.18.0 # Apache-2.0 @@ -31,2 +31,2 @@ python-neutronclient>=5.1.0 # Apache-2.0 -python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0 -requests>=2.10.0 # Apache-2.0 +python-glanceclient>=2.5.0 # Apache-2.0 +requests!=2.12.2,>=2.10.0 # Apache-2.0 @@ -34 +34 @@ six>=1.9.0 # MIT -stevedore>=1.16.0 # Apache-2.0 +stevedore>=1.17.1 # Apache-2.0 @@ -39 +39 @@ oslo.concurrency>=3.8.0 # Apache-2.0 -oslo.config>=3.14.0 # Apache-2.0 +oslo.config!=3.18.0,>=3.14.0 # Apache-2.0 @@ -41 +41 @@ oslo.context>=2.9.0 # Apache-2.0 -oslo.log>=1.14.0 # Apache-2.0 +oslo.log>=3.11.0 # Apache-2.0 @@ -44,2 +44,2 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.utils>=3.16.0 # Apache-2.0 -oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0 +oslo.utils>=3.18.0 # Apache-2.0 +oslo.db>=4.15.0 # Apache-2.0 @@ -47,2 +47,2 @@ oslo.rootwrap>=5.0.0 # Apache-2.0 -oslo.messaging>=5.2.0 # Apache-2.0 -oslo.policy>=1.9.0 # Apache-2.0 +oslo.messaging>=5.14.0 # Apache-2.0 +oslo.policy>=1.17.0 # Apache-2.0 @@ -52 +52 @@ oslo.service>=1.10.0 # Apache-2.0 -rfc3986>=0.2.2 # Apache-2.0 +rfc3986>=0.3.1 # Apache-2.0 @@ -54,5 +54,5 @@ oslo.middleware>=3.0.0 # Apache-2.0 -psutil<2.0.0,>=1.1.1 # BSD -oslo.versionedobjects>=1.13.0 # Apache-2.0 -os-brick>=1.6.1 # Apache-2.0 -os-vif>=1.1.0 # Apache-2.0 -os-win>=0.2.3 # Apache-2.0 +psutil>=3.0.1 # BSD +oslo.versionedobjects>=1.17.0 # Apache-2.0 +os-brick>=1.8.0 # Apache-2.0 +os-vif>=1.4.0 # Apache-2.0 +os-win>=1.4.0 # Apache-2.0 @@ -61 +61 @@ microversion-parse>=0.1.2 # Apache-2.0 -wsgi_intercept>=0.6.1 # MIT License +os-xenapi>=0.1.1 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 249bca6..0af1013 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6,2 @@ hacking<0.11,>=0.10.0 -coverage>=3.6 # Apache-2.0 +coverage>=4.0 # Apache-2.0 +ddt>=1.0.1 # MIT @@ -9 +10 @@ mock>=2.0 # BSD -mox3>=0.7.0 # Apache-2.0 +mox3!=0.19.0,>=0.7.0 # Apache-2.0 @@ -11 +12 @@ psycopg2>=2.5 # LGPL/ZPL -PyMySQL!=0.7.7,>=0.6.2 # MIT License +PyMySQL>=0.7.6 # MIT License @@ -13 +14 @@ python-barbicanclient>=4.0.0 # Apache-2.0 -python-ironicclient>=1.6.0 # Apache-2.0 +python-ironicclient>=1.11.0 # Apache-2.0 @@ -15,2 +16,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD -requests-mock>=1.0 # Apache-2.0 -sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +requests-mock>=1.1 # Apache-2.0 +sphinx!=1.3b1,<1.4,>=1.2.1 # BSD @@ -18 +19 @@ os-api-ref>=1.0.0 # Apache-2.0 -oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +oslosphinx>=4.7.0 # Apache-2.0 @@ -20 +21,2 @@ oslotest>=1.10.0 # Apache-2.0 -os-testr>=0.7.0 # Apache-2.0 +os-testr>=0.8.0 # Apache-2.0 +osprofiler>=1.4.0 # Apache-2.0 @@ -22,0 +25 @@ testresources>=0.2.4 # Apache-2.0/BSD +testscenarios>=0.4 # Apache-2.0/BSD @@ -27 +30 @@ openstackdocstheme>=1.5.0 # Apache-2.0 -gabbi>=1.24.0 # Apache-2.0 +gabbi>=1.26.1 # Apache-2.0 @@ -30 +33 @@ gabbi>=1.24.0 # Apache-2.0 -oslo.vmware>=2.11.0 # Apache-2.0 +oslo.vmware>=2.17.0 # Apache-2.0 @@ -33 +36,4 @@ oslo.vmware>=2.11.0 # Apache-2.0 -reno>=1.8.0 # Apache2 +reno>=1.8.0 # Apache-2.0 + +# placement functional tests +wsgi-intercept>=1.4.1 # MIT License