The original version of the nova 14.0.0 release announcement failed to include the release notes due to human error. My apologies to the nova team for the oversight. -- Doug We are stoked to announce the release of: nova 14.0.0: Cloud computing fabric controller This release is part of the newton release series. For more details, please see below. 14.0.0 ^^^^^^ New Features ************ * Add perf event support for libvirt driver. This can be done by adding new configure option 'enabled_perf_events' in libvirt section of nova.conf. This feature requires libvirt>=2.0.0. * Starting from REST API microversion 2.34 pre-live-migration checks are performed asynchronously. "instance-actions" should be used for getting information about the checks results. New approach allows to reduce rpc timeouts amount, as previous workflow was fully blocking and checks before live-migration make blocking rpc request to both source and destination compute node. * New configuration option live_migration_permit_auto_converge has been added to allow hypervisor to throttle down CPU of an instance during live migration in case of a slow progress due to high ratio of dirty pages. Requires libvirt>=1.2.3 and QEMU>=1.6.0. * New configuration option live_migration_permit_post_copy has been added to start live migrations in a way that allows nova to switch an on-going live migration to post-copy mode. Requires libvirt>=1.3.3 and QEMU>=2.5.0. If post copy is permitted and version requirements are met it also changes behaviour of 'live_migration_force_complete', so that it switches on-going live migration to post-copy mode instead of pausing an instance during live migration. * Fix os-console-auth-tokens API to return connection info for all types of tokens, not just RDP. * Hyper-V RemoteFX feature. Microsoft RemoteFX enhances the visual experience in RDP connections, including providing access to virtualized instances of a physical GPU to multiple guests running on Hyper-V. In order to use RemoteFX in Hyper-V 2012 R2, one or more DirectX 11 capable display adapters must be present and the RDS-Virtualization server feature must be installed. To enable this feature, the following config option must be set in the Hyper-V compute node's 'nova.conf' file: [hyperv] enable_remotefx = True To create instances with RemoteFX capabilities, the following flavor extra specs must be used: **os:resolution**. Guest VM screen resolution size. Acceptable values: 1024x768, 1280x1024, 1600x1200, 1920x1200, 2560x1600, 3840x2160 '3840x2160' is only available on Windows / Hyper-V Server 2016. **os:monitors**. Guest VM number of monitors. Acceptable values: [1, 4] - Windows / Hyper-V Server 2012 R2 [1, 8] - Windows / Hyper-V Server 2016 **os:vram**. Guest VM VRAM amount. Only available on Windows / Hyper-V Server 2016. Acceptable values: 64, 128, 256, 512, 1024 There are a few considerations that needs to be kept in mind: * Not all guests support RemoteFX capabilities. * Windows / Hyper-V Server 2012 R2 does not support Generation 2 VMs with RemoteFX capabilities. * Per resolution, there is a maximum amount of monitors that can be added. The limits are as follows: For Windows / Hyper-V Server 2012 R2: 1024x768: 4 1280x1024: 4 1600x1200: 3 1920x1200: 2 2560x1600: 1 For Windows / Hyper-V Server 2016: 1024x768: 8 1280x1024: 8 1600x1200: 4 1920x1200: 4 2560x1600: 2 3840x2160: 1 * Added microversion v2.35 that adds pagination support for keypairs with the help of new optional parameters 'limit' and 'marker' which were added to GET /os-keypairs request. * Added microversion v2.28 from which hypervisor's 'cpu_info' field returned as JSON object by sending GET /v2.1/os- hypervisors/{hypervisor_id} request. * Virtuozzo Storage is available as a volume backend in libvirt virtualization driver. Note: Only qcow2/raw volume format supported, but not ploop. * Virtuozzo ploop disks can be resized now during "nova resize". * Virtuozzo instances with ploop disks now support the rescue operation * A new nova-manage command has been added to discover any new hosts that are added to a cell. If a deployment has migrated to cellsv2 using either the simple_cell_setup or the map_cell0/map_cell_and_hosts/map_instances combo then anytime a new host is added to a cell this new "nova-manage cell_v2 discover_hosts" needs to be run before instances can be booted on that host. If multiple hosts are added at one time the command only needs to be run one time to discover all of them. This command should be run from an API host, or a host that is configured to use the nova_api database. Please note that adding a host to a cell and not running this command could lead to build failures/reschedules if that host is selected by the scheduler. The discover_hosts command is necessary to route requests to the host but is not necessary in order for the scheduler to be aware of the host. It is advised that nova-compute hosts are configured with "enable_new_services=False" in order to avoid failures before the hosts have been discovered. * On evacuate actions, the default behaviour when providing a host in the request body changed. Now, instead of bypassing the scheduler when asking for a destination, it will instead call it with the requested destination to make sure the proposed host is accepted by all the filters and the original request. In case the administrator doesn't want to call the scheduler when providing a destination, a new request body field called "force" (defaulted to False) will modify that new behaviour by forcing the evacuate operation to the destination without verifying the scheduler. * On live-migrate actions, the default behaviour when providing a host in the request body changed. Now, instead of bypassing the scheduler when asking for a destination, it will instead call it with the requested destination to make sure the proposed host is accepted by all the filters and the original request. In case the administrator doesn't want to call the scheduler when providing a destination, a new request body field called "force" (defaulted to False) will modify that new behaviour by forcing the live-migrate operation to the destination without verifying the scheduler. * The 2.37 microversion adds support for automatic allocation of network resources for a project when "networks: auto" is specified in a server create request. If the project does not have any networks available to it and the "auto-allocated-topology" API is available in the Neutron networking service, Nova will call that API to allocate resources for the project. There is some setup required in the deployment for the "auto-allocated-topology" API to work in Neutron. See the Additional features section of the OpenStack Networking Guide for more details for setting up this feature in Neutron. Note: The API does not default to 'auto'. However, python- novaclient will default to passing 'auto' for this microversion if no specific network values are provided to the CLI. Note: This feature is not available until all of the compute services in the deployment are running Newton code. This is to avoid sending a server create request to a Mitaka compute that can not understand a network ID of 'auto' or 'none'. If this is the case, the API will treat the request as if "networks" was not in the server create request body. Once all computes are upgraded to Newton, a restart of the nova-api service will be required to use this new feature. (http://docs.openstack.org/networking-guide/intro-os-networking- features.html) * Nova now defaults to using the glance version 2 protocol for all backend operations for all virt drivers. A "use_glance_v1" config option exists to revert to glance version 1 protocol if issues are seen, however that will be removed early in Ocata, and only glance version 2 protocol will be used going forward. * Adds a new feature to the ironic virt driver, which allows multiple nova-compute services to be run simultaneously. This uses consistent hashing to divide the ironic nodes between the nova- compute services, with the hash ring being refreshed each time the resource tracker runs. Note that instances will still be owned by the same nova-compute service for the entire life of the instance, and so the ironic node that instance is on will also be managed by the same nova-compute service until the node is deleted. This also means that removing a nova-compute service will leave instances managed by that service orphaned, and as such most instance actions will not work until a nova-compute service with the same hostname is brought (back) online. When nova-compute services are brought up or down, the ring will eventually re-balance (when the resource tracker runs on each compute). This may result in duplicate compute_node entries for ironic nodes while the nova-compute service pool is re-balancing. However, because any nova-compute service running the ironic virt driver can manage any ironic node, if a build request goes to the compute service not currently managing the node the build request is for, it will still succeed. There is no configuration to do to enable this feature; it is always enabled. There are no major changes when only one compute service is running. If more compute services are brought online, the bigger changes come into play. Note that this is tested when running with only one nova-compute service, but not more than one. As such, this should be used with caution for multiple compute hosts until it is properly tested in CI. * Multitenant networking for the ironic compute driver is now supported. To enable this feature, ironic nodes must be using the 'neutron' network_interface. * The Libvirt driver now uses os-vif plugins for handling plug/unplug actions for the Linux Bridge and OpenVSwitch VIF types. Each os-vif plugin will have its own group in nova.conf for configuration parameters it needs. These plugins will be installed by default as part of the os-vif module installation so no special action is required. * Added hugepage support for POWER architectures. * Microversions may now (with microversion 2.27) be requested with the "OpenStack-API-Version: compute 2.27" header, in alignment with OpenStack-wide standards. The original format, "X-OpenStack-Nova- API-Version: 2.27", may still be used. * Nova has been enabled for mutable config. Certain options may be reloaded by sending SIGHUP to the correct process. Live migration options will apply to live migrations currently in progress. Please refer to the configuration manual. * DEFAULT.debug * libvirt.live_migration_completion_timeout * libvirt.live_migration_progress_timeout * The following legacy notifications have been been transformed to a new versioned payload: * instance.delete * instance.pause * instance.power_on * instance.shelve * instance.suspend * instance.restore * instance.resize * instance.update * compute.exception 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. * Nova is now configured to work with two oslo.policy CLI scripts that have been added. The first of these can be called like "oslopolicy- list-redundant --namespace nova" and will output a list of policy rules in policy.[json|yaml] that match the project defaults. These rules can be removed from the policy file as they have no effect there. The second script can be called like "oslopolicy-policy- generator --namespace nova --output-file policy- merged.yaml" and will populate the policy-merged.yaml file with the effective policy. This is the merged results of project defaults and config file overrides. * Added microversion v2.33 which adds paging support for hypervisors, the admin is able to perform paginate query by using limit and marker to get a list of hypervisors. The result will be sorted by hypervisor id. * The nova-compute worker now communicates with the new placement API service. Nova determines the placement API service by querying the OpenStack service catalog for the service with a service type of 'placement'. If there is no placement entry in the service catalog, nova-compute will log a warning and no longer try to reconnect to the placement API until the nova-worker process is restarted. * A new [placement] section is added to the nova.conf configuration file for configuration options affecting how Nova interacts with the new placement API service. This contains the usual keystone auth and session options. * The pointer_model configuration option and hw_pointer_model image property was added to specify different pointer models for input devices. This replaces the now deprecated use_usb_tablet option. * The nova-policy command line is implemented as a tool to experience the under-development feature policy discovery. User can input the credentials infomation and the instance info, the tool will return a list of API which can be allowed to invoke. There isn't any contract for the interface of the tool due to the feature still under- development. * Add a nova-manage command to refresh the quota usages for a project or user. This can be used when the usages in the quota- usages database table are out-of-sync with the actual usages. For example, if a resource usage is at the limit in the quota_usages table, but the actual usage is less, then nova will not allow VMs to be created for that project or user. The nova-manage command can be used to re- sync the quota_usages table with the actual usage. * Libvirt driver will attempt to update the time of a suspended and/or a migrated guest in order to keep the guest clock in sync. This operation will require the guest agent to be configured and running in order to be able to run. However, this operation will not be disruptive. * This release includes a new implementation of the vendordata metadata system. Please see the blueprint at http://specs.openstack.org/openstack/nova- specs/specs/newton/approved/vendordata-reboot.html for a detailed description. There is also documentation in the Nova source tree in vendordata.rst. * The 2.32 microversion adds support for virtual device role tagging. Device role tagging is an answer to the question 'Which device is which, inside the guest?' When booting an instance, an optional arbitrary 'tag' parameter can be set on virtual network interfaces and/or block device mappings. This tag is exposed to the instance through the metadata API and on the config drive. Each tagged virtual network interface is listed along with information about the virtual hardware, such as bus type (ex: PCI), bus address (ex: 0000:00:02.0), and MAC address. For tagged block devices, the exposed hardware metadata includes the bus (ex: SCSI), bus address (ex: 1:0:2:0) and serial number. The 2.32 microversion also adds the 2016-06-30 version to the metadata API. Starting with 2016-06-30, the metadata contains a 'devices' sections which lists any devices that are tagged as described in the previous paragraph, along with their hardware metadata. Known Issues ************ * If a deployer has updated their deployment to using cellsv2 using either the simple_cell_setup or the map_cell0/map_cell_and_hosts/map_instances combo and they add a new host into the cell it may cause build failures or reschedules until they run the "nova-manage cell_v2 discover_hosts" command. This is because the scheduler will quickly become aware of the host but nova-api will not know how to route the request to that host until it has been "discovered". In order to avoid that it is advised that new computes are disabled until the discover command has been run. * When using Neutron extension 'port_security' and booting an instance on a network with 'port_security_enabled=False' the Nova API response says there is a 'default' security group attached to the instance which is incorrect. However when listing security groups for the instance there are none listed, which is correct. The API response will be fixed separately with a microversion. * When running Nova Compute and Cinder Volume or Backup services on the same host they must use a shared lock directory to avoid rare race conditions that can cause volume operation failures (primarily attach/detach of volumes). This is done by setting the "lock_path" to the same directory in the "oslo_concurrency" section of nova.conf and cinder.conf. This issue affects all previous releases utilizing os-brick and shared operations on hosts between Nova Compute and Cinder data services. * When using virtual device role tagging, the metadata on the config drive lags behind the metadata obtained from the metadata API. For example, if a tagged virtual network interface is detached from the instance, its tag remains in the metadata on the config drive. This is due to the nature of the config drive, which, once written, cannot be easily updated by Nova. Upgrade Notes ************* * All cloudpipe configuration options have been added to the 'cloudpipe' group. They should no longer be included in the 'DEFAULT' group. * All crypto configuration options have been added to the 'crypto' group. They should no longer be included in the 'DEFAULT' group. * Aggregates are being moved to the API database for CellsV2. In this release, the online data migrations will move any aggregates you have in your main database to the API database, retaining all attributes. Until this is complete, new attempts to create aggregates will return an HTTP 409 to avoid creating aggregates in one place that may conflict with aggregates you already have and are yet to be migrated. * Note that aggregates can no longer be soft-deleted as the API database does not replicate the legacy soft-delete functionality from the main database. As such, deleted aggregates are not migrated and the behavior users will experience will be the same as if a purge of deleted records was performed. * The nova-manage db online_data_migrations command will now migrate server groups to the API database. New server groups will be automatically created in the API database but existing server groups must be manually migrated using the nova-manage command. * The get_metrics API has been replaced by populate_metrics in nova.compute.monitors.base module. This change is introduced to allow each monitor plugin to have the flexibility of setting it's own metric value types. The in-tree metrics plugins are modified as a part of this change. However, the out-of-tree plugins would have to adapt to the new API in order to work with nova. * For the Virtuozzo Storage driver to work with os-brick <1.4.0, you need to allow "pstorage-mount" in rootwrap filters for nova-compute. * You must update the rootwrap configuration for the compute service if you use ploop images, so that "ploop grow" filter is changed to "prl_disk_tool resize". * 'nova-manage db sync' can now sync the cell0 database. The cell0 db is required to store instances that cannot be scheduled to any cell. Before the 'db sync' command is called a cell mapping for cell0 must have been created using 'nova-manage cell_v2 map_cell0'. This command only needs to be called when upgrading to CellsV2. * A new nova-manage command has been added which will upgrade a deployment to cells v2. Running the command will setup a single cell containing the existing hosts and instances. No data or instances will be moved during this operation, but new data will be added to the nova_api database. New instances booted after this point will be placed into the cell. Please note that this does not mean that cells v2 is fully functional at this time, but this is a significant part of the effort to get there. The new command is "nova-manage cell_v2 simple_cell_setup --transport_url <transport_url>" where transport_url is the connection information for the current message queue used by Nova. * The deprecated configuration option "client_log_level" of the section "[ironic]" has been deleted. Please use the config options "log_config_append" or "default_log_levels" of the "[DEFAULT]" section. * A new nova-manage command 'nova-manage cell_v2 map_cell0' is now available. Creates a cell mapping for cell0, which is used for storing instances that cannot be scheduled to any cell. This command only needs to be called when upgrading to CellsV2. * The default value of the "pointer_model" configuration option has been set to 'usbtablet'. * The following policy enforcement points have been removed as part of the restructuring of the Nova API code. The attributes that could have been hidden with these policy points will now always be shown / accepted. * os_compute_api:os-disk-config - show / accept "OS- DCF:diskConfig" parameter on servers * os-access-ips - show / accept "accessIPv4" and "accessIPv6" parameters on servers The following entry points have been removed * nova.api.v21.extensions.server.resize - allowed accepting additional parameters on server resize requests. * nova.api.v21.extensions.server.update - allowed accepting additional parameters on server update requests. * nova.api.v21.extensions.server.rebuild - allowed accepting additional parameters on server rebuild requests. * The 2.37 microversion enforces the following: * "networks" is required in the server create request body for the API. Specifying "networks: auto" is similar to not requesting specific networks when creating a server before 2.37. * The "uuid" field in the "networks" object of a server create request is now required to be in UUID format, it cannot be a random string. More specifically, the API used to support a nic uuid with a "br-" prefix but that is a legacy artifact which is no longer supported. * It is now required that the glance environment used by Nova exposes the version 2 REST API. This API has been available for many years, but previously Nova only used the version 1 API. * imageRef input to the REST API is now restricted to be UUID or an empty string only. imageRef input while create, rebuild and rescue server etc must be a valid UUID now. Previously, a random image ref url containing image UUID was accepted. But now all the reference of imageRef must be a valid UUID (with below exception) otherwise API will return 400. Exception- In case boot server from volume. Previously empty string was allowed in imageRef and which is ok in case of boot from volume. Nova will keep the same behavior and allow empty string in case of boot from volume only and 400 in all other case. * Prior to Grizzly release default instance directory names were based on instance.id field, for example directory for instance could be named "instance-00000008". In Grizzly this mechanism was changed, instance.uuid is used as an instance directory name, e.g. path to instance: "/opt/stack/data/nova/instances/34198248-5541-4d52-a0b4-a6635a7802d d/". In Newton backward compatibility is dropped. For instances that haven't been restarted since Folsom and earlier maintanance should be scheduled before upgrade(stop, rename directory to instance.uuid, then start) so Nova will start using new paths for instances. * The ironic driver now requires python-ironicclient>=1.5.0 (previously >=1.1.0), and requires the ironic service to support API version 1.20 or higher. As usual, ironic should be upgraded before nova for a smooth upgrade process. * The ironic driver now requires python-ironicclient>=1.6.0, and requires the ironic service to support API version 1.21. * Keypairs have been moved to the API database, using an online data migration. During the first phase of the migration, instances will be given local storage of their key, after which keypairs will be moved to the API database. * Default value of live_migration_tunnelled config option in libvirt section has been changed to False. After upgrading nova to Newton all live migrations will be non-tunnelled unless live_migration_tunnelled is explicitly set to True. It means that, by default, the migration traffic will not go through libvirt and therefore will no longer be encrypted. * With the introduction of os-vif, some networking related configuration options have moved, and users will need to update their "nova.conf". For OpenVSwitch users the following options have moved from "[DEFAULT]" to "[vif_plug_ovs]" - network_device_mtu - ovs_vsctl_timeout For Linux Bridge users the following options have moved from "[DEFAULT]" to "[vif_plug_linux_bridge]" - use_ipv6 - iptables_top_regex - iptables_bottom_regex - iptables_drop_action - forward_bridge_interface - vlan_interface - flat_interface - network_device_mtu For backwards compatibility, and ease of upgrade, these options will continue to work from "[DEFAULT]" during the Newton release. However they will not in future releases. * The minimum required version of libvirt has been increased to 1.2.1 * The minimum required QEMU version is now checked and has been set to 1.5.3 * The network_api_class option was deprecated in Mitaka and is removed in Newton. The use_neutron option replaces this functionality. * The newton release has a lot of online migrations that must be performed before you will be able to upgrade to ocata. Please take extra note of this fact and budget time to run these online migrations before you plan to upgrade to ocata. These migrations can be run without downtime with *nova-manage db online_data_migrations*. * The deprecated auth parameter *admin_auth_token* was removed from the [ironic] config option group. The use of *admin_auth_token* is insecure compared to the use of a proper username/password. * The previously deprecated config option "listen```of the group ``serial_console" has been removed, as it was never used in the code. * The 'manager' option in [cells] group was deprecated in Mitaka and now it is removed completely in newton. There is no impact. * The following deprecated configuration options have been removed from the "cinder" section of nova.conf: * ca_certificates_file * api_insecure * http_timeout * The config options 'osapi_compute_ext_list' and 'osapi_compute_extension' were deprecated in mitaka. Hence these options were completely removed in newton, as v2 API is removed and v2.1 API doesn't provide the option of configuring extensions. * The deprecated config option "remove_unused_kernels" has been removed from the "[libvirt]" config section. No replacement is required, as this behaviour is no longer relevant. * The legacy v2 API code was deprecated since Liberty release. The legacy v2 API code was removed in Newton release. We suggest that users should move to v2.1 API which compatible v2 API with more restrict input validation and microversions support. If users are still looking for v2 compatible API before switch to v2.1 API, users can use v2.1 API code as v2 API compatible mode. That compatible mode is closer to v2 API behaviour which is v2 API compatible without restrict input validation and microversions support. So if using openstack_compute_api_legacy_v2 in /etc/nova/api-paste.ini for the API endpoint /v2, users need to switch the endpoint to openstack_compute_api_v21_legacy_v2_compatible instead. * The 'live_migration_flag' and 'block_migration_flag' options in libvirt section that were deprecated in Mitaka have been completely removed in Newton, because nova automatically sets correct migration flags. New config options has been added to retain possibility to turn tunnelling, auto-converge and post-copy on/off, respectively named *live_migration_tunnelled*, *live_migration_permit_auto_converge* and *live_migration_permit_post_copy*. * The 'memcached_server' option in DEFAULT section which was deprecated in Mitaka has been completely removed in Newton. This has been replaced by options from oslo cache section. * The service subcommand of nova-manage was deprecated in 13.0. Now in 14.0 the service subcommand is removed. Use service-* commands from python-novaclient or the os-services REST resource instead. * The network_device_mtu option in Nova is deprecated for removal in 13.0.0 since network MTU should be specified when creating the network. * Legacy v2 API code is already removed. A set of policy rules in the policy.json, which are only used by legacy v2 API, are removed. Both v2.1 API and v2.1 compatible mode API are using same set of new policy rules which are with prefix *os_compute_api*. * Removed the "security_group_api" configuration option that was deprecated in Mitaka. The correct security_group_api option will be chosen based on the value of "use_neutron" which provides a more coherent user experience. * The deprecated "volume_api_class" config option has been removed. We only have one sensible backend for it, so don't need it anymore. * The libvirt option 'iscsi_use_multipath' has been renamed to 'volume_use_multipath'. * The following deprecated configuration options have been removed from the "neutron" section of nova.conf: * ca_certificates_file * api_insecure * url_timeout * The ability to load a custom scheduler host manager via the "scheduler_host_manager" configuration option was deprecated in the 13.0.0 Mitaka release and is now removed in the 14.0.0 Newton release. * DB2 database support was removed from tree. This is a non open source database that had no 3rd party CI, and a set of constraints that meant we had to keep special casing it in code. It also made the online data migrations needed for cells v2 and placement engine much more difficult. With 0% of OpenStack survey users reporting usage we decided it was time to remove this to focus on features needed by the larger community. * Only virt drivers in the nova.virt namespace may be loaded. This has been the case according to nova docs for several releases, but a quirk in some library code meant that loading things outside the namespace continued to work unintentionally. That has been fixed, which means "compute_driver = nova.virt.foo" is invalid (and now enforced as such), and should be "compute_driver = foo" instead. * The default policy for updating volume attachments, commonly referred to as swap volume, has been changed from "rule:admin_or_owner" to "rule:admin_api". This is because it is called from the volume service when migrating volumes, which is an admin-only operation by default, and requires calling an admin-only API in the volume service upon completion. So by default it would not work for non-admins. * Now VMwareVCDriver will set disk.EnableUUID=True by default in all guest VM configuration file. To enable udev to generate /dev/disk /by-id Deprecation Notes ***************** * All barbican config options in Nova are now deprecated and may be removed as early as 15.0.0 release. All of these options are moved to the Castellan library. * The cells.driver configuration option is now deprecated and will be removed at Ocata cycle. * The feature to download *Glance* images via file transfer instead of HTTP is now deprecated and may be removed as early as the 15.0.0 release. The config options "filesystems" in the section "image_file_url" are affected as well as the derived sections "image_file_url:<list entry name>" and their config options "id" and "mountpoint". * As mentioned in the release notes of the Mitaka release (version 13.0.0), the EC2API support was fully removed. The *s3* image service related config options were still there but weren't used anywhere in the code since Mitaka. These are now deprecated and may be removed as early as the 15.0.0 release. This affects "image_decryption_dir", "s3_host", "s3_port", "s3_access_key", "s3_secret_key", "s3_use_ssl", "s3_affix_tenant". * The "default_flavor" config option is now deprecated and may be removed as early as the 15.0.0 release. It is an option which was only relevant for the deprecated EC2 API and is not used in the Nova API. * The "fatal_exception_format_errors" config option is now deprecated and may be removed as early as the 15.0.0 release. It is an option which was only relevant for Nova internal testing purposes to ensure that errors in formatted exception messages got detected. * The "image_info_filename_pattern", "checksum_base_images", and "checksum_interval_seconds" options have been deprecated in the "[libvirt]" config section. They are no longer used. Any value given will be ignored. * The following nova-manage commands are deprecated for removal in the Nova 15.0.0 Ocata release: * nova-maange account scrub * nova-manage fixed * * nova-manage floating * * nova-manage network * * nova-manage project scrub * nova-manage vpn * These commands only work with nova-network which is itself deprecated in favor of Neutron. * The "nova-manage vm list" command is deprecated and will be removed in the 15.0.0 Ocata release. Use the "nova list" command from python-novaclient instead. * The auth parameters *admin_username*, *admin_password*, *admin_tenant_name* and *admin_url* of the [ironic] config option group are now deprecated and will be removed in a future release. Using these parameters will log a warning. Please use *username*, *password*, *project_id* (or *project_name*) and *auth_url* instead. If you are using Keystone v3 API, please note that the name uniqueness for project and user only holds inside the same hierarchy level, so you must also specify domain information for user (i.e. *user_domain_id* or *user_domain_name*) and for project, if you are using *project_name* (i.e. *project_domain_id* or *project_domain_name*). * The config option "snapshot_name_template" in the "DEFAULT" group is now deprecated and may be removed as early as the 15.0.0 release. The code which used this option isn't used anymore since late 2012. * The "nova-all" binary is deprecated. This was an all in one binary for nova services used for testing in the early days of OpenStack, but was never intended for real use. * Nova network is now deprecated. Based on the results of the current OpenStack User Survey less than 10% of our users remain on Nova network. This is the signal that it is time migrate to Neutron. No new features will be added to Nova network, and bugs will only be fixed on a case by case basis. * The "/os-certificates" API is deprecated, as well as the "nova- cert" service which powers it. The related config option "cert_topic" is also now marked for deprecation and may be removed as early as 15.0.0 Ocata release. This is a vestigial part of the Nova API that existed only for EC2 support, which is now maintained out of tree. It does not interact with any of the rest of nova, and should not just be used as a certificates as a service, which is all it is currently good for. * All the APIs which proxy to other services were deprecated in this API version. Those APIs will return 404 on Microversion 2.36 or higher. The API user should use native API as instead of using those pure proxy for other REST APIs. The quotas and limits related to network resources 'fixed_ips', 'floating ips', 'security_groups', 'security_group_rules', 'networks' are filtered out of os-quotas and limit APIs respectively and those quotas should be managed through OpenStack network service. For using nova-network, you only can use API and manage quotas under Microversion '2.36'. The 'os-fping' API was deprecated also, this API is only related to nova-network and depend on the deployment. The deprecated APIs are as below: * /images * /os-networks * /os-fixed-ips * /os-floating-ips * /os-floating-ips-bulk * /os-floating-ip-pools * /os-floating-ip-dns * /os-security-groups * /os-security-group-rules * /os-security-group-default-rules * /os-volumes * /os-snapshots * /os-baremetal-nodes * /os-fping * Nova option 'use_usb_tablet' will be deprecated in favor of the global 'pointer_model'. * The quota_driver configuration option is now deprecated and will be removed in a subsequent release. Security Issues *************** * The qemu-img tool now has resource limits applied which prevent it from using more than 1GB of address space or more than 2 seconds of CPU time. This provides protection against denial of service attacks from maliciously crafted or corrupted disk images. Bug Fixes ********* * Corrected response for the case where an invalid status value is passed as a filter to the list servers API call. As there are sufficient statuses defined already, any invalid status should not be accepted. As of microversion 2.38, the API will return 400 HTTPBadRequest if an invalid status is passed to list servers API for both admin as well as non admin user. * Fixed bug #1579706: "Listing nova instances with invalid status raises 500 InternalServerError for admin user". Now passing an invalid status as a filter will return an empty list. A subsequent patch will then correct this to raise a 400 Bad Request when an invalid status is received. * When instantiating an instance based on an image with the metadata hw_vif_multiqueue_enabled=true, if flavor.vcpus is less than the limit of the number of queues on a tap interface in the kernel, nova uses flavor.vcpus as the number of queues. if not, nova uses the limit. The limits are as follows: * kernels prior to 3.0: 1 * kernels 3.x: 8 * kernels 4.x: 256 * 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. Other Notes *********** * The API policy defaults are now defined in code like configuration options. Because of this, the sample policy.json file that is shipped with Nova is empty and should only be necessary if you want to override the API policy from the defaults in the code. To generate the policy file you can run: oslopolicy-sample-generator --config-file=etc/nova/nova-policy-generator.conf * network_allocate_retries config param now allows only positive integer values or 0. * The "api_rate_limit" configuration option has been removed. The option was disabled by default back in the Havana release since it's effectively broken for more than one API worker. It has been removed because the legacy v2 API code that was using it has also been removed. * The network configuration option 'fake_call' has been removed. It hasn't been used for several cycles, and has no effect on any code, so there should be no impact. * The XenServer configuration option 'iqn_prefix' has been removed. It was not used anywhere and has no effect on any code, so there should be no impact. * Virt drivers are no longer loaded with the import_object_ns function, which means that only virt drivers in the nova.virt namespace can be loaded. * New configuration option sync_power_state_pool_size has been added to set the number of greenthreads available for use to sync power states. Default value (1000) matches the previous implicit default value provided by Greenpool. This option can be used to reduce the number of concurrent requests made to the hypervisor or system with real instance power states for performance reasons. Changes in nova 13.0.0.0rc1..14.0.0 ----------------------------------- d81fcf8 Ignore BuildRequest during an instance reschedule 35f7942 Stop overwriting thread local context in ClientRouter d83c277 Add extra release note material about online migrations 625f203 Update newton release notes for default API policy ceb8525 Imported Translations from Zanata 7c4a5b1 Determine disk_format for volume-backed snapshot from schema e2d2d42 Imported Translations from Zanata 8647d91 Updated from global requirements eae8775 Revert "Set 'serial' to new volume ID in swap volumes" 0b04df1 Imported Translations from Zanata b49fa82 Use tempest tox with regex first 6641852 Add a new release note dbca6ef Stop ovn networking failing on mtu a45082e Update UPPER_CONSTRAINTS_FILE for stable/newton f9e4701 Update .gitreview for stable/newton 77f5466 Override MTU for os_vif attachments 30a85c8 Fix object assumption in remove_deleted_instances() 71d6333 Set a bigger TIMEOUT_SCALING_FACTOR value for migration tests bad2497 Update minimum requirement for netaddr 1dfd794 Fix an error in archiving 'migrations' table 9374566 Clean up allocation when update available resources a4b5b0c [placement] Mark HTTP error responses for translation 281a78e [placement] prevent a KeyError in webob.dec.wsgify f04dd04 libvirt: add ps2mouse in choice for pointer_model 2331606 Revert "tox: Don't create '.pyc' files" 485ae14 Correct image.inc for heading 3309ad7 Complete verification for os-cloudpipe.inc 8211d3f Fix typo of stevedore b922af9 [placement] functional test for report client 9b9bc0a Add regression test for immediate server name update d9c1d8b libvirt: Rewrite test_rescue and test_rescue_config_drive 84defc2 Guard against failed cache refresh during inventory 99929b6 More conservative allocation updates b221f11 [placement] Correct serialization of inventory collections d794838 Correct sort_key and sort_dir parameter for flavor b343e96 Correct address, version parameter in ips.inc d5e03de More conservative inventory updates 99e0122 Fix server group name on api-ref 723ee01 Update BuildRequest if instance currently being scheduled 0fca575 Fix reno for removal of nova-manage service command 762e3d5 Add note about display_name in _populate_instance_names 328d8a1 Extended description for sync_power_state_pool_size option 61235cb Use recursive obj_reset_changes in BuildRequest 09db0ba [placement] make PUT inventory consistent with GET 2ba8fd4 Revert "libvirt: move graphic/serial consoles check to pre_live_migration" c651572 Fix MonitorMetric obj_make_compatible 73c4c00 [api-ref] fix availability_zone for server create be553fb Set 'serial' to new volume ID in swap volumes 110c12b Fix policy tests for project_id enforcement 6a2691c neutron: don't trace on port not found when unbinding ports 386812e Add sync_power_state_pool_size option e92d753 Additional logging for placement API d0775c5 Fix resizing in imagebackend.cache() 8e33d7a [placement] cleanup some incorrect comments 9a19dda Updated from global requirements 97ce9e5 Compute: ensure that InvalidDiskFormat is handled correctly 47d8aa5 Throw exception if numa_nodes is not set to integer greater than 0 691eb01 libvirt: inject files when config drive is not requested fc9a540 Fix api-ref doc for server-rebuild 59dd4a4 fix broken link in api-ref 80795f2 Increase BDM column in build_requests table 2df83ab VMware: Refactor the image transfer 43b36a4 Pass GENERATE_HASHES to the tox test environment eab8100 [placement] add two ways to GET allocations 193e71b Handle ObjectActionError during cells instance delete 2e45b95 [placement] Add some tests ensuring unicode resource provider info f0bcc0d cleanup: separate the creation of a local root to it's own method b63d6f9 standardize release note page ordering 99d692d Remove misleading warning message dd6c1c2 Add deprecated_reason for use_usb_tablet option df15e46 db: retry on deadlocks while adding an instance 2b57b3d virt: handle unicode when logging LifecycleEvents b6edbce Ensure ResourceProvider/Inventory created before add Allocations record a2d0b8d Libvirt: Correct PERF_EVENTS_CPU_FLAG_MAPPING 55f3d47 Implement setup_networks_on_host for Neutron networks 92f3bfc Add tests for safe_connect decorator 93419de libvirt: improve logging for shared storage check cc18f7d Cleanup allocation todo items 09627f2 [placement] Allow inventory to violate allocations cdb9b68 Refresh info_cache after deleting floating IP 14da85a Remove deprecated configuration option network_device_mtu f5b7a33 Example & Parameter verification of os-security-group-default-rules.inc e84396b correctly join the usage to inventory for capacity accounting 60fa308 Annotate db models that have moved to the nova_api db c2cc950 [api-ref]: Correcting server_groups_list parameter's type. 6b20239 Fix race condition bug during live_snapshot 59fff83 [placement] Fix misleading comment in wsgi loader 2ad6aa9 fixing block_device_mapping_v2 data_type abc24ac libvirt: add hugepages support for Power 0d4ad97 incorrect description in nova-api.log about quota check 7e435fa Removed enum duplication from nova.compute fb15c00 Remove deprecated cinder options 96926a8 Simple instance allocations from resource tracker f441ee5 Add support for allocations in placement API 8ed5120 Add create_all and delete_all for AllocationList f8ced1f Pull from cell0 and build_requests for instance list e8f8971 Remove hacked test that fails with latest os-brick 3a56da1 Report compute node inventories through placement 0ba1d41 Delete BuildRequest regardless of service_version 5196b9c Fix service version lookups f577f65 Remove BuildRequest when scheduling fails edf0468 Run cell0 db migrations during nova-manage simple_cell_setup 4df0869 Move cell message queue switching and add caching 344705f Add basic logging to placement api 65b72f2 Fixed indentation a6ad102 Update placement config reno be68e3c Ignore generated merged policy files d805875 Register keystone opts for placement sample config efe193c Remove deprecated neutron options cc64a45 ironic_host_manager: fix population of instances info on start 7a391e4 Eliminate additional DB queries in nova lists 02b3259 Remove the incomplete wsgi script placement-api.py af218ca ironic_host_manager: fix population of instances info on schedule 5fb6f8f rt: ensure resource provider records exist from RT 86bce56 Return 400 error for non-existing snapshot_id d957bfb create placement API wsgi entry point 9df0c5e Fix qemu version check. 2c49b1e Documentation for the vendordata reboot. 7586561 Add more vd2 unit tests 3eb4d1f Add a TODO and add info to a releasenote 476f126 Make api-ref bug link point to nova d6d41bf Api-ref: Improve os-migrateLive input parameters c032792 New discover command to add new hosts to a cell d250aae Clean up instance mappings, build requests on quota failure 719b5ab Updated from global requirements aeb1537 Use StableObjectJsonFixture from o.vo 260bb7c test_keypairs_list_for_different_users for v2.10 3d9de24 Fix using filter() to meet python2,3 9d9bfea Emit warning when use 'user_id' in policy rule 9864801 Adds nova-policy-check cmd 003aa06 Reduce code complexity - api.py 39fb302 Revert "Optional separate database for placement API" 2a70e96 Changed exception catching order 5ba1ff9 Add BuildRequestList object 2bb527b In InventoryList.find() raise NotFound if invalid resource class 3b95a3d Updated from global requirements 4885d59 Imported Translations from Zanata 83bab97 Add oslopolicy script runs to the docs tox target 3b609a5 Add entry_point for oslo policy scripts d995e2e Tests: use fakes.HTTPRequest in compute tests ee9f631 Remove conversion from dict to object from xenapi live_migration 5ee7f3b Hyper-V: properly handle shared storage during migrations 5db92a2 TrivialFix: Remove logging import unused b48ed52 Hyper-V: properly handle UNC instance paths 389ded4 Get ready for os-api-ref sphinx theme change 7cdd5da List system dependencies for running common tests b5073eb [api-ref]: Update link reference f5b512c Abort on HostNotCompatibleWithFixedIpsClient c56f6ef devspec: remove unused dev_count in devspec 0cfc126 [api-guide]: Update reference links 4caabaf Provide more duplicate VLAN network error info a4d1bf1 Correct microversions URL in api_plugins.rst a0594c6 Create Instance from BuildRequest if not in a cell 899ff72 Added todo for deletion LiveMigrateData.detect_implementation usage 824c8a3 driver.pre_live_migration migrate_data is always an object 24f0c5b Manage db sync command for cell0 2132cfa Updated common create server sample request because of microversion 2.37 a7fafdb Remove TODO for service version caching 51575f8 removed db_exc.DBDuplicateEntry in bw_usage_update d35e157 Add online migration to move instance groups to API database b9610fb Remove locals() for formatting strings. a4d2327 Hyper-V: update live migrate data object ab741d7 Config options consistency of notifications.py 767b3db Add networks to quota's update json-schema when network quota enabled dd2b388 rt: isolate report and query sched client tests 9dcf023 rt: remove ComputeNode.create_inventory ba4ff10 rt: rename test_tracker -> test_resource_tracker 0685b23 rt: remove old test_resource_tracker.py 1285a02 Updated from global requirements 34eed4a Remove deprecated security_group_api config option e0d6e46 Added min_version field to 'host_status' in 'api-ref' c5c4f71 Make InstanceGroup object favor the API database a4f030c Doc: Update PCI configuration options 6376bd2 Don't maintain user_id and project_id in context 8aa87b3 Add support for usages in the placement API 51afe54 Add a Usage and UsageList object 83d2eef Add support for inventories to placement API cee4348 Check capacity and allocations when changing Inventory 6597858 Add release note to warn about os-brick lock dir 9fd1507 config options: improve help netconf 12cf567 Config options consistency for consoleauth.py 2ea2399 Support Identity v3 when connecting to Ironic 7ab6397 Copy edit feature classification 4461cdf don't report network limits after 2.35 f34c91a Adding details in general purpose feature matrix [1] d3bc56f Improve placement API 404 and 405 response tests a76954b Config options: improve libvirt help text (1) b49cd77 Dump json for nova.network.model.Model objects cdb9a84 Improve error message for empty cached_nwinfo 984d009 Return HTTP 400 on list for invalid status d177395 Fix 'No data to report' error 7957b91 Change api-site to v2.1 format e3386a5 Refuse to run simple_cell_setup on CellsV1 2f71097 In placement API send microversion header when error 32be7a4 libvirt: Improve mocking of imagebackend disks 309ea53 Updated flags for XVP config options 37d1acd Add unit tests for nova.virt.firewall.IpTablesFirewallDriver (Part 4) a48b614 [libvirt] Remove live_migration_flag & block_migration_flag b838f22 placement: add filtering by attrs to resource_providers 125cfc9 Add support for resource_providers urls 4fb6c10 Remove nova/api/validator.py bae943b Updated from global requirements 61f1226 Change default value of live_migration_tunnelled to False 279ae6a Remove code duplication in enums e728261 Return None in get_instance_id_by_floating_address 630eed5 Make simple_cell_setup work when multiple nodes are present d727795 Add REST API support for get me a network ac9b37e plugins/xenserver: Resolve PEP8 issues 00e46a3 Fix migration list + MigrationList operation c02fa16 rt: Create multiple resize claim unit test c000c45 rt: Refactor unit test for trackable migrations be72923 Fix neutron security group tests for 5.1.0 neutronclient 1d57c1f os-vif: do not set Route.interface if None d8dca9e Check opt consistency for neutron.py 1178029 Improve help text for compute manager options 9747bc4 Make simple_cell_setup idempotent 442077d Add cell_v2 verify_instance command bcf4c51 Replace mox with mock in test_validate_bdm 0f078a2 Replace mox with mock in test_cinder 434d7d9 Allow Nova Quotas to be Disabled fe3550f Allow authorization by user_id for server evacuate ab0a30e Allow authorization by user_id for server update c80cc93 Allow authorization by user_id for server delete c2e0c69 Allow authorization by user_id for server changePassword action d31a576 Update binding:profile for SR-IOV ports on resize-revert cd3b57d Verified deprecation status for vnc options b0570a2 Add tests for user_id policy enforcement on trigger_crash_dump af4552c Allow authorization by user_id for server shelve action 54235cb Allow authorization by user_id for force_delete server d779dbe Allow authorization by user_id for server resize action 0fa8234 Allow authorization by user_id for server pause action feb84af Add tests for user_id policy enforcement on stop 526c998 Fix consistency in crypto conf 4e923eb Add placement API web utility methods 21d7382 Improve help text for XenServer Options b3ad315 Improve help text for xenapi_vm_utils_opts 26399c7 network: fix handling of linux-bridge in os-vif conversion f50f498 Fix consistency in API conf b3ab394 Improve consistency in WSGI opts 07b8a35 Add unit tests for nova.virt.firewall.IpTablesFirewallDriver (Part 3) 0047a76 Improve help text for xenapi_opts 46a6be4 Maintain backwards compat for listen opts 2e530e7 Allow authorization by user_id for server rescue action 7878588 Allow authorization by user_id for server rebuild 90f0e3d Allow authorization by user_id for server suspend action 19edf68 Allow authorization by user_id for server lock action 1b5f9f8 Optional separate database for placement API 242674b virt/image: between two words without a space in output message c5b0242 config options: improve help text of database (related) options (2/2) aeee454 config options: improve help text of database (related) options (1/2) 0b0e7da Remove hacking check [N347] for config options. 2f68cd3 Skipping test_volume_backed_live_migration for live_migration job 9fff828 rt: New unit test for rebuild_claim() e70468e List instances for secgroup without joining on rules 37bd630 Improve help text for vmwareapi_opts 6e508da Updated from global requirements 9289e62 vnc host options need to support hostnames 319a62a Removed flag "check_opt_group_and_type" from pci.py abf24b6 Removed flag "check_opt_group_and_type" 745f5fb libvirt: convert over to use os-vif for Linux Bridge & OVS 584b090 Remove left over conf placeholders a059c84 libvirt: Rename import of nova.virt.disk.api in driver 16a3856 Fix server operations' policies to admin only 64cbd7c Add support for vd2 user context to other drivers 51073b3 api-ref: Example verification for os-simple-tenant-usage.inc 3bc9c91 Remove unused exception: ImageNotFoundEC2 98dd53b Fix opt description for s3.py ad0047e virt/hardware: Check for threads when "required" 6091de7 Improve consistency in VNC opts 1af54f2 Improve help text for compute_opts 8bbb3fc Config options: Improve help text for console options 1b7b8fe Config options: Consistency check for remote_debug options 616102a Add separate create/delete policies to attach_interface 3623aba Fix handling of status in placement API json_error_formatter af13871 Use constraints for all tox environments 190081c Move JSON linting to pep8 c7af24c HyperV: remove instance snapshot lock cde31df rt: Move monitor unit tests into test_tracker 1c27f0c rt: Move unit tests for update usage for instance 8c74a4b rt: Move unit tests for update mig usage 040f68b rt: Remove useless unit test in resource tracker 53304fd rt: Remove dup tests in test_resource_tracker 0ebd87a rt: Remove incorrect unit test of resize revert 074f126 rt: Refactor test_dupe_filter unit test 15184ed rt: Remove duplicate unit test for missing mig ctx a04db0f rt: Refactor resize claim abort unit test f0cc967 rt: Refactor resize_claim unit test e6a0538 Set enforce_type=True in method flags 52f03d9 Use constraints for releasenotes c1bc469 Add some logging and a comment for shelve/unshelve operations e285eb1 Run shelve/shelve_offload_instance in a semaphore 1894130 Check opt consistency for api.py 72fb672 Allow empty CPU info of hypervisors in API response 8412c81 Config options consistency of rdp.py 94a33a3 Improve consistency in workarounds opts ddeb0e8 Refresh README and its docs links 5bba451 Correct InventoryList model references 4e85f1d instance.name should be blank if instance.id is not set 3207626 Cells: Handle delete with BuildRequest b284af8 Add NoopConductorFixture ec56270 Make notification objects use flavor capacity attributes 1e0b2b5 Fix busted release notes b382c09 config options: Improve help for conductor c73d5a9 Config options: base path configuration 9a6fd30 PCI: Fix network calls order on finish_revert_resize() c05d08b Remove deprecated legacy_api config options 07f7aa3 Config Options: Improve help text for Ipv6 options 4cbfed4 Update tags for Image file url from filesystems config option 80c0d07 Check options consistency in hyperv.py c7242b6 Improve help text for floating ips options. ce27150 config options: Improve help for base 6a6db22 Improve consistency in API 685aaab cleanup: some update xml cases in test_migration 33510d4 Use stashed volume connector in _local_cleanup_bdm_volumes 6047d79 Ironic: allow multiple compute services 8e0b98f api-ref: Parameter verification for os-simple-tenant-usage.inc 7b8195a Ironic: report node.resource_class a8a0d89 network: introduce helper APIs for dealing with os-vif objects 0e24e9e ironic: Cleanup instance information when spawn fails 98ad916 update wording around pep8 exceptions 5ce0dbd Remove backward compatibility with pre-grizzly releases 332a67a Replace functions 'Dict.get' and 'del' with 'Dict.pop' 37835ab Updated from global requirements cbd3ec4 Strict ImageRef validation to UUID only eb5dc52 Add the ability to configure glanceclient debug logging 5afc8e5 Deprecate cert option b30b16d Merged barbican and key_manager conf files into one. aedbc88 Config options consistency of pci.py 720e5af config option: rename libvirt iscsi_use_multipath 5129f48 Allocate PCI devices on migration 318fc82 TrivialFix: Fixed a typo in nova/test.py 74526f8 Updated from global requirements 8cb80c4 Improve help text of image_file_url e55cf73 Ironic: enable multitenant networking c5ddf7f libvirt: Remove some unnecessary mocking in test_driver 19f5ba9 libvirt: Pass object to _create_images_and_backing in test b9122df libvirt: Reset can_fallocate in test setUp() ec6ed24 libvirt: Create console.log consistently 6c8d882 Fixed invalid UUIDs in unit tests 28803fa Remove deprecated manager option in cells.py 00ebb72 Refactor deallocate_fixed tests to use one mock approach instead of three 1f528e3 Improve consistency in virt opts affde84 Updated header flag in SSL opts fd1e672 Updated from global requirements dc6b3ab Don't cache RPC pin when service_version is 0 b68ac0b Imported Translations from Zanata c97f3ee Remove white space between print and () 2de2c99 Flavor: correct confusing error message about flavorRef a5b0646 Consistency changes for osapi config options 777977e Fixed typos in nova: compute, console and conf dir 45317d6 Add objects.ServiceList.get_all_computes_by_hv_type 8d007b4 Add InstanceList.get_uuids_by_host() call 0045817 Conf options: updated flags for novnc 3b8bd65 Address feedback on cell-aggregate-api-db patches 2182d2f Updated from global requirements d55ffba Add data migration methods for Aggregate. 63261cb Config options: Consistency check for quota options d016958 Add server name verification in instance search 47d1c07 Fix typo in DeviceDetachFailed exception message a280d2e Straddle python-neutronclient 5.0 for testing 4a8f2b0 Initialise oslo.privsep early in main a86d78f Cells: Simple setup/migration command 7f82c5e Aggregate create and destroy work against API db ffe8b92 Make Aggregate.save work with the API db cb4bb82 Improve help text for vmware 2488fbd Config options consistency of exceptions.py 2f374ff Help text for the mks options c4e7a04 Trivial option fixes 270be69 Properly quote IPv6 address in RsyncDriver 3405a28 rbd_utils: wrap blocking calls in tpool.Proxy() 433fe51 Resolve PCI devices on the host during Guest boot-up. 5ef2f3c Fixed typos in nova, nova/api, nova/cells directory 9561d47 Fix misspellings 60935aa Trivial: add 'DEPRECATED' for os-certificates API ref b4d0b9a Mention proxy API deprecation microversion in api-ref 17ed8bf xenserver: fix an output format error in cleanup_smp_locks 9361b48 Add log for instance without host field set 281fb2b Improve consistency in crypto 899a140 Deprecate barbican options 9c0454a Improve consistency in flavors 9b15e56 Improve the help text for the guestfs options 5ee95b3 Reminder that release notes are built from commits 2ae10ce Add initial framing of placement API 89bf802 Add missing ComputeHostNotFound exception in live-migration 3ca3a2d Free new pci_devices on revert-resize f574b29 Use oslo_config new type PortOpt for port options ac409b8 Updated from global requirements ecbce6d Remove unused imports in api/openstack/fakes.py 45b21e4 Add docs about microversion testing in Tempest 7596c1f Remove leftover list_opts entry points 5c08552 Remove nova.cache_utils oslo.config.opts entrypoint a2219b8 Remove nova.network namespace from nova-config-generator.conf 760826f Remove neutronv2.api oslo.config.opt entry point 3db49d3 Follow up on Update binding:profile for SR-IOV ports 138037c Improve consistency in servicegroup opts 850874c Improve help text for cloudpipe 8639559 Remove the useless version calculation for proxy api deprecated version a7e7be2 numa: remove the redundant check for hw_cpu/hw_mem list 80738df Add support for oslo.context 2.6.0 48f9b32 Update tags for Cache config option 5e3a9fb Remove unused validation code for quota_sets 66127c5 Revert "Don't assert exact to_dict output" a774399 cleanup_live_migration_destination_check spacing 7a16c75 Default image.size to 0 when extracting v1 image attributes efc713c Add details to general purpose feature matrix 47b19ff Adding functional tests for 2.3 microversion fdf3328 compute: Skip driver detach calls for non local instances 8e13a00 libvirt: Fix invalid test data 0b4b2cf libvirt: Fix fake _disk_info data in LibvirtDriverTestCase 2f2b0e9 Don't set empty kernel_id and ramdisk_id to glance image 1169756 Config options consistency for cell.py c3e9870 Refuse to have negative console ttls b790332 Option Consistency for availability_zone.py dd9a002 Add a small debug line to show selection location 30c3667 Fix wrong override value of config option vswitch_name cb8b206 Fix wrong override value of config option proxyclient_address f9e9b30 Call release_dhcp via RPC to ensure correct host 5a173eb Adjust MySQL access with eventlet ca36040 Improve consistency in cert 0c3f0d9 Updated from global requirements 0f79018 rt: don't log pci_devices twice when updating resources 355f360 Config options consistency for configdrive.py a764d7d Remove deprecated ironic.api_version config option d67ea6e Improve the help text for compute timeout_opts b82b987 Deprecate the nova-manage commands that rely on nova-network 6b7a07c Improve consistency in xenserver ada4298 Add the 'min' param to IntOpts where applicable b8fea03 Remove unused config option 'fake_call' 93b44ff Make Aggregate metadata functions work with API db 6dafc66 Use deprecated_reason for network quota options 50c4033 "nova list-extensions" not showing summary for all 4a7deee Fix typos in deprecates-proxy-apis release note 54b8d77 Enable deferred IP on Neutron ports 541c272 Improve help text for XenServer pool opts 9c238c1 remove config option iqn_prefix 789edad Deprecate os-certificates 74ab427 Update RequestSpec nested flavor when a resize comes in 34b5ea5 New style vendordata support. 9326c1e Add metadata server fixture 2eebb5e Improve help text for quota options 38da9f7 Improve help text for consoleauth config options 1794fae Bump Microversion to 2.36 for Proxy API deprecation 1b715cf api: use 'if else' instead of 'try exception' to get password value 180011b Add better help to rdp options f2be1f8 Adding details in general purpose feature matrix ec2301e Enables Py34 tests for unit.api.openstack.compute.test_server_actions 62d57e5 Filter network related limits from limits API 603859e Filter network related quotas out of quotas API b6f2d83 Deprecate Baremetal and fping API 83bd45b Deprecate volumes related APIs 53fffba Deprecate SecurityGroup related proxy API 5044db5 Deprecated floating ip related proxy APIs 974535b Complete verification of os-instance-actions.inc 38c094b Check opt group and type for nova.conf.service.py d2bd83b Fix links to network APIs from api-ref 4b73cd9 Add comment about how status field changed d0b8fec Deprecate network quota configuration f277d64 Verify os-aggregates.inc on sample files 883bae3 Cleanup: validate option at config read level 987decc :Add missing %s in print message f27a0e7 api-ref: unify the no response output in delete operation dba6713 Return 400 when SecurityGroupCannotBeApplied is raised ead6597 network: handle forbidden exception from neutron 6f72b75 Config Option consistency for crypto.py 2e99598 Don't check cinder volume states during attach 3ab5b00 Clean up test_check_attach_availability_zone_differs 5c15ee8 Fix opt description and indentation for flavors.py 2f7e45b Remove redundant flag value check. c8c2d28 Improve help context of ironic options 79a7e33 Remove unneeded bounds-checking code 8ebd58f Improve the help text for the linuxnet options (4) 9f99f6c Don't assert exact to_dict output c78759c config options: help text for enable_guestfs_debug_opts 16d8b55 Improve help text of s3 options 6af8d2c Remove deprecated config option volume_api_class 19cc6e2 Fix inappropriate notification send 6617932 libvirt: Fix signature and behaviour of fake get_disk_backing_file ca6dbaa libvirt: Pass path to Image base class cc2ae75 Remove max_size argument to images.fetch and fetch_to_raw 064c4db Update tox.ini: Constraints are possible for api* jobs bceeecc Separate api-ref for list security groups by server d9a01d9 Deprecate FixedIP related proxy APIs f419c7b Deprecated networks related proxy APIs 13991c9 Check option descriptions and indentations for configdriver.py c601bb03 Make Aggregate host operations work against API db f281950 libvirt: open RBD in read-only mode for read-only operations cbc34d7 Remove unnecessary code added for ec2 deprecation e5798f9 Enhance notification doc generation with samples ea0befc Depracate Images Proxy APIs f97ddf0 Correct the network config option help text 6467abf config options: improve help for noVNC ecb24c5 Replace deprecated LOG.warn with LOG.warning 2a1aad9 Fixed typos in api-ref and releasenotes directory 7c28d7d Improve the help text for the network options (4) a7f83fc Add async param to local conductor live_migrate_instance 0376da0 libvirt: update guest time after suspend a221eb4 libvirt: Modify the interface address object assignment dfdae01 Update binding:profile for SR-IOV ports a5fa543 Port nova test_serversV21.Base64ValidationTest to Python 3 d14fc79 Refactor instance action notification sample test de2df72 Config option update tasks for availability_zone 3ccba23 Expand initial feature classification lists 027b92d Add prototype feature classification matrix bc4b998 [libvirt] Live migration fails when config_drive_format=iso9660 81310c5 Modify docstring of numa_get_reserved_huge_pages method 1a95ac4 Use constraints for coverage job 1abac25 Remove compute host from all host aggregates when compute service is deleted b327006 Fix incorrect cellid numbering for NUMA memnode dd2f156 Fix opt descripton for cells.py daad6c2 Fix host mapping saving 3919110 Example and body verification of os-quota-sets.inc d82db52 Remove deprecated network_api_class option 7a8f136 neutron: destroy VIFs if allocating ports fails 3a61ae3 Validate pci_passthrough_whitelist when starting n-cpu 27b1551 Rename compute manager _check_dev_name to _add_missing_dev_names 8d9cf4e Remove unused context argument to _default_block_device_names() 400cc5c Fix typo in AdminPasswordController 13b5ab2 Use from_environ when creating a context 2a61074 Pass kwargs through to base context ceed7ae Fix opt description and check deprecate status for hyperv.py 2a6bdf8 VMware: Enable disk.EnableUUID=True in vmx d47b5f9 hyper-v: device tagging 6a2a1a7 Add release notes for notification transformation 08d66e2e Assert reservation_id in notification sample test d4bbabf Remove redundant DEPRECATED tag from help messages b644a0d Fix PUT server tag 201 to return empty content 0709f65 Clean up helper methods in ResourceProvider bd0ba82 Transform instance.restore notifications 92a388a neutron: delete VIFs when deallocating networking ae9c587 Add VirtualInterface.destroy() c521ba7 Make notifications module use flavor capacity attributes 3b80ed8 Make ironic driver use flavor fields instead of legacy ones 0353b43 Make xenapi driver use flavor fields instead of legacy ones bb7e7ec Make libvirt driver use flavor fields instead of legacy ones a25e0b3 Make hyperv driver use flavor fields instead of legacy ones 7a4356c Make vmware driver use flavor fields instead of legacy ones 916f01e Bump service version for BuildRequest deletion 6ce01a6 Stop instance build if BuildRequest deleted d9d3b16 Add block_device_mappings to BuildRequest ae00ce6 Improve help text of flavors config options 614d8b4 Improve help text for cinder config options 4735844 Microversion 2.35 adds keypairs pagination support b52876f Fix up legacy resource fields in simple-tenant-usage af11fb4 Use flavor attributes instead of deprecated instance resources 5af5d05 Typo fix: remove multiple whitespace 80d39a6 network: handle unauthorized exception from neutron a5581d8 Fix the broken links 777386b 'limit' and 'marker' support for db_api and keypair_obj 9117ec4 Improve help text for exceptions 87de7dd Improve help text for compute running_deleted_opts 452be38 rest api version bumped for async pre live migration checks 05c7b6f Add user_id request parameter in os-keypairs list c1a83a3 Revert "Detach volume after deleting instance with no host" 146876c Don't overwrite MarkerNotFound error message 17630d3 tox: Use conditional targets 0d6d161 tox: Don't create '.pyc' files ff10a41 Improve help text for allocation_ratio_opts e58e111 Release note for vzstorage volume driver 8911559 Fix typo in _update_usage_from_migrations 029f92d Transform instance.resize notifications a049967 Refactors nova.cmd utils 9fafcc7 Replace DOS line ending with UNIX ab1d401 migration volume failed for invalid type f860cb5 api-ref: fix wrong description about response example in os-hypervisor 04de167 api-ref: body verification of os-agents 31ad01f Fix wrong JSON format in API samples 83bf4bb Implement ResourceProvider.destroy() eb7cdb0 Add Allocation and AllocationList objects 5a5b06f Deprecate nova-manage vm list command c1d7fc7 Remove live-migration from nova-manage man page 4306388 Deprecate the quota_driver config option 83b59ea Allow irrelevant,self-defined specs in ComputeCapacityFilter 5bd8e2d Transform instance.pause notifications c2aabe7 Fix opt description for scheduler.py 3495330 Verify "needs:check_deprecation_status" for serial_console.py 16b092d API: catch InstanceNotReady exception. 1d0326c Transform instance.shelve notifications 926776f Replace unicode with six.text_type 76c6359 Added support for new block device format in vmops 377948b api-ref: unify the delete response infomation 8d25383 Add nova-manage quota_usage_refresh command c2dd3cd Quota changes for the nova-manage quota_usage_refresh command ec03633 Remove DictCompat from SecurityGroup 9955d16 Replace use of eval with ast.literal_eval dc393ef libvirt: fix missed test in migration 645d6c6 Improve the help text for the network options (3) 2648cf2 Correct reraising of exception 4315838 api-ref: Parameter verification for servers-actions.inc Part 1 61e5232 Body verification of os-interface.inc f6ef9b4 Parameter verification of os-instance-actions.inc 46b3a3c xvp: change the default xvp conf path to CONF.xvp group 9ce8d44 libvirt:code flow problem in wait_for_job 84473e5 Clean up service version history comments 4a44027 Add a ResourceProviderList object dc6a3f4 Refactor block_device_mapping handling during boot 45c84fd Remove spaces around keyword argument e36bc6e Use ovo in test_obj_make_compatible() ac3341a Improve the help text for the network options (2) 49f547b Update mutable-config reno with LM timeout params b109489 Added better error messages during (un)pinning CPUs 9a7384c Remove duplicate policy test e551452 api-ref: os-volumes.inc a24f5b3 Enable python34 tests for nova.tests.unit.pci.test_manager and test_stats 039d062 api-ref: merge multiple create to servers.inc 7451862 Improve the help text for configdrive options d4e6bd8 Revert "Remove manual creation of console.log" 046f342 Fix invalid import order 051f6f4 Fix invalid import order df2b338 Fix invalid import order 9d64952 config options: improve help for notifications 80e61c2 Fix invalid import order 4c3b9c7 Fix invalid import order 5ad9808 Remove unused itype parameter from get migration context 5ce74fa Detach volume after deleting instance with no host db064bb Transform instance.suspend notifications 219d970 Hacking check for _ENFORCER.enforce() 7ee75f6 Remove final use of _ENFORCER.enforce f8f83b4 Hacking check for policy registration 9480ffc Extract _update_ports_for_instance 9c45d6d Extract port create from allocate_for_instance a9263cc Improve help text for resource tracker options 2a99eb1 Transform instance.power_on notifications df0aa8a Add a py35 environment to tox c43e8bd api-ref: add note about os-certificates API fc0dfb3 XenAPI: UT: Always mock logging configuration b703327 Fix api_validation for Python 3 26d4c05 api-ref: verify assisted-volume-snapshots.inc 0b74a1f Delete reduplicate code in test_compute_mgr.py c0cf1f3 Port test_hacking to Python 3 9dc6945 Fix comment for version 1.15 ComputeNodeList ec53c6c Microversion 2.33 adds pagination support for hypervisors 29dd421 VMware: create vif with resource limitations 7d01bce policy: clean-up a739ca9 Make VIF.address unique with port id for neutron 33c8729 Device tagging metadata API support cdc938f trivial: remove unnecessary mock from servers API test ee4d69e Return HTTP 200 on list for invalid status bc6c343 Complete verification for os-floating-ips-bulk 87e1311 Transform instance.update notification 084478d Pre-add instance actions to avoid merge conflicts 998235d Transform instance.delete notifications 5f58754 XenAPI: Add UT for independent compute option 2d6a4fe Log DB exception if VIF creation fails c2241b6 Fixes compute API unit tests for python3 40267b7 Reduce complexity in _stub_allocate_for_instance c185e60 Reorder allocate_for_instance preamble ed22ec2 Make _validate_requested_network_ids return a dict 911c02d Extract _validate_requested_network_ids 408c4a6 Create _validate_requested_port_ids e320abc Extract _filter_hypervisor_macs 15c583c Always call port_update in allocate_for_instance e83e114 Device tagging API support 4e750df Mapping power_state from integer to string e2eb665 Compute manager device tagging support 101def2 trivial: comment about vif object address field 9c34101 Example verification for os-fixed-ips.inc 80e56ad Revert "Detach volume after deleting instance with no host" 955c921 policy: Replaces 'authorize' in nova-api (part 5) faf50a7 libvirt: add todo about bdms in _build_device_metadata d60d705 libvirt: virtuozzo instance rescue mode support 7010aad api-ref: os-certificates.inc 8d16b1f policy: Replaces 'authorize' in nova-api (part 4) d2a89a8 Make LM timeout params mutable e1f29a7 Help text for the ephemeral storage options e6d0cc5 Config Options: Improve help text for debugger 92a796c Make Ironic options definitions consistent 28ecb88 Fix some typos cf83ecc Add namespace oslo.db.concurrency in nova-config-generator.conf 2f5c65b Remove mox in tests/unit/objects/test_quotas 5dc7bce Remove network information from IOVisor vif 1651850 Add automatic switching to postcopy mode when migration is not progressing 2de3879 Extend live-migration-force-complete to use postcopy if available ba7077b Add a test utility for checking mock calls with objects 135df11 Remove invalid test for config option scheduler_host_manager 09701be Complete verification for api-ref os-flavor-extra-specs a46e3c8 policy: Replaces 'authorize' in nova-api (part 3) 3b9e7c5 libvirt: Add migration support for perf event support b466c38 Libvirt driver implementation of device tagging 5e38fa3 Add policy sample generation d4aa455 libvirt: virtuozzo instance resize support 4647f41 Fix test_ipv6 and simplify to_global() 9102e10 Remove russian from unit/image/test_glance.py e641e5c Py3: fix serial console output 5336e60 _security_group_get_by_names cleanup 659e0a1 Add reminder comments for compute rpcapi version bump aeebd66 Update get_instance_diagnostics for instance objects 6fb35d6 Improve help text for wsgi options 59f55a1 Don't immediately null host/node when shelving f1320a7 Evaluate 'task_state' in resource (de)allocation 0c0f600 Add new configuration option to turn auto converge on/off 3d83c46 Add new configuration option to turn postcopy on/off 5b27592 Improve nova.rpc conf options documentation 2054082 Fix spelling mistake 0196f46 Add ability to select specific tests for py34 7fb8971 Remove mox from unit/compute/test_compute.py (4) 4904cbe Remove mox from unit/compute/test_compute.py (end) a5f9e96 Remove mox from unit/compute/test_compute.py (11) 0df82b7 Remove mox from unit/compute/test_compute.py (10) 02e966a Remove mox from unit/compute/test_compute.py (9) eb5d799 Remove mox from unit/compute/test_compute.py (8) 419fd05 Remove mox from unit/compute/test_compute.py (7) a3211be Remove mox from unit/compute/test_compute.py (6) 5e1626e Remove mox from unit/compute/test_compute.py (5) c880a7e UT: cleanup typo in libvirt test_config f7a1b92 Remove mox from unit/compute/test_compute.py (3) c3a28cf Remove mox from unit/compute/test_compute.py (2) 6b1363a Remove mox from unit/compute/test_compute.py (1) f39e660 Improve image signature verification failure notification c5c2671 libvirt: attach configdrive after instance XML b71a594 libvirt: add nova volume driver for vzstorage b19e377 Moving test helpers to a common place c634f78 On port update check port binding worked 8665873 Refactor to create _ensure_no_port_binding_failure 93cc5e3 policy: Replaces 'authorize' in nova-api (part 2) eac75d4 XenAPI: Add option for running nova independently from hypervisor 5915da7 XenAPI: Stream config drive to XAPI 3e85b80 XenAPI: Perform disk operations in dom0 3204a46 Port test_ipv6 to py3 and simplify to_global() ba71b8d api-ref: Example verification for os-agents.inc 2a53063 Allow monitor plugins to set own metric object ae0116c api-ref: correct the order of APIs in server-tags 99c11e5 Remove unused LOG 7940258 Remove unnecessary __init__ 31547f5 Release notes: fix typos a0f5a56 Make print py3 compatible b1753b0 libvirt: fix disk size calculation for VZ container instances 01917d6 Fix error message for VirtualInterfaceUnplugException 3bc7a6a libvirt: Add boot ordering to individual disks fb01c84 image_meta: Add hw_rescue_device and hw_rescue_bus 36daca0 collapse servers.ViewBuilderV21 into servers.ViewBuilder 76b58b8 remove personality extension f267393 remove preserve-ephemeral rebuild extension 600480e remove access_ips extension df0a4e0 Bump the service version for get-me-a-network support d7320be neutron: handle 'auto' network request in allocate_for_instance 1729f26 Add unit tests for nova.virt.firewall.IpTablesFirewallDriver (Part 2) e1e68eb libvirt: split out code for recovering after migration tasks b26852d libvirt: split out code for processing migration tasks 44d0acb libvirt: split off code for updating migration stats in the DB 471736c libvirt: split off code for updating live migration downtime a41d396 api-ref: verify images.inc ab90751 libvirt: split out code for determining if migration should abort 66b7771 libvirt: split out code for detecting live migration job type 8473204 policy: Replaces 'authorize' in nova-api (part 1) b9303e6 Check if flavor.vcpus is more than MAX_TAP_QUEUES 89a3cd8 policy: Add defaults in code (part 6) 1aa4941 objects: Add devices_metadata to instance object 885cf20 objects: new InstanceDeviceMetadata object cf6cde9 db: add a device_metadata column to instance_extra 71f24df libvirt: add perf event support when create instance 43bffb0 Improve help text of crypto.py 6b989db objects: adding an update method to virtual_interface 3b62698 Rename driver method check_can_live_migrate_destination_cleanup 5417d83 api-ref: added docs for microversion 2.26 f6e81bf policy: Add defaults in code (part 5) f13a933 policy: Add defaults in code (part 4) ba24210 policy: Add defaults in code (part 3) 51b3fef policy: Add defaults in code (part 2) 728559a add ploop support into qemu-img info eacdbc3 policy: Add defaults in code (part 1) e4dc81f Handle UnableToAutoAllocateNetwork in _build_and_run_instance aa0d318 Add note about preserve_ephemeral limitations 0c5ff50 Add console auth tokens db api methods 60a9169 Remove mox from unit/virt/libvirt/volume/*.py ff8d607 Port cinder unit tests to Python 3 3542060 Port test_pipelib and test_policy to Python 3 d58d786 Adding missing log translation hints 0263e9b Add instance groups tables to the API database 15f5aa0 Make live migration checks async d4c3687 Check for None max_count for Python 3 compat baaeec1 Updated from global requirements c9f7b84 fix developer docs on API 03eca41 libvirt: virtlogd: use "log" element in char devices 3c3925e Fix ConsoleAuthTokens to work for all console types 525285e remove os-disk-config part 4 fbc3c5a remove os-disk-config part 3 4acfd82 remove load_standard_extensions method f967d5c Modify "policy.conf" to "policy.json" 6283b16 Ensures that progress_watermark and progress_time are updated 2066e43 Add a note for policy enforcement by user_id bebc0a4 XenAPI: Support neutron security group 51fdeaf Added instance actions for conductor 8f613e7 Stop using mox stubs in nova/tests/unit/test_metadata.py f50d48a remove support for legacy v2 generator extensions 4f34294 Remove duplicate unit test resource tracker 3cafa7f Prevent instance disk overcommit against itself 0d450c4 api-ref: parameter verification os-agents 574a9a3 make failures on api_samples more clear 3cdb385 api-ref, os-services.inc ebe8fd9 api-ref: docs for microversion v2.28 5643d03 Update dhcp_opts on both create and update a7cbc90 api-ref: Improve os-instance_usage_audit_log samples e0bda50 Add ironic mac address when updating and creating 3ea6f08 pci: Deprecate is_new from pci requests 2b47c83 Enhance notification sample test base 8279b1e Handle multiple samples per versioned notification 6329d72 Transform wrap_exception notification to versioned format 97745f2 XenAPI: OVS agent updates the wrong port with Neutron ababf73 Stop using mox from unit/fake_server_actions.py 6e8c84d objects: you want'em ed6a82e libvirt: enhance method to return pointer_model from image prop d5c00fe Improve help text for service group options. 12692e6 Updated from global requirements 2a0ed44 Skip network allocation if 'none' is requested 5cb46ed Separete notification object version test fd0442a [typo] replaced comupte to compute in test a7fa4f4 api-ref, os-availability-zone.inc b424ee6 Config: no need to set default=None 7402d13 Add delete_, update_ and add_ inventory to ResourceProvider 38d4b53 libvirt: fix typos in comments 81540d1 Remove the nova.compute.resources entrypoint 6e81fa4 Re-deprecate use_usb_tablet config option 2ce5c8c Log the network when neutron won't apply security groups 37376b9 api-ref: parameter verification os-fixed-ips 34834d8 Add CellMappingList object 718fca9 Add console auth tokens table and model c2f57a1 live migration check source failed caused bdm.device_path lost a83ab0a Use is_valid_ipv4 from oslo.utils e825ef7 Include exception in _try_deallocate_network error log b726a12 Remove mox from tests/unit/virt/test_imagecache.py 98e27fe Fix docstring nits from ResourceProvider.set_inventory() review ce01ef3 fix errors in revert resize api docs 3e4497d Add set_inventory() method on ResourceProvider 579c98a Improve the help text for cells options (8) 621191f VMware: Fix bug of TypeError when getting reference of VCenter cluster is None. 111b365 XenAPI: Integers returned from XAPI are actually strings ada6afb Remove virt.block_device._NoLegacy exception b05e098 rename libvirt has_default_ephemeral 8255567 Remove ec2_code from exception e992972 Add specific lazy-load method for instance.tags e74b5b7 Don't attempt to lazy-load tags on a deleted instance ffe2487 Pre-load tags when showing server details 19f9a4b Policy-in-code servers rules 3f8076a Fix image meta which is sent to glance v2 ea377ab Extract update_port call into method d4e2752 Refactor to create _populate_mac_address 63ed965 Rename _populate_mac_address adding pci 3508110 Rename created_port to created_port_id dad8ed8 Flip allocate_for_instance create or update if ef92e3f libvirt: cleanup baselineCPU return value checking 662995f Updated from global requirements bd0c7bc Remove mox from tests/unit/objects/test_aggregate.py 4317166 Handle keypair not found from metadata server 11bd005 Skip network validation if explicitly requesting no networks 2d8ae09 nova-net: handle 'auto' network request in allocate_for_instance 9e176a6 neutron: validate auto-allocate is available 6fe1359 Add helpers to NetworkRequest(List) objects for auto/none cases 3dd9d05 Remove api_rate_limit config option 56dce76 Tear down of os-disk-config part 2 2c437c0 Tear down os-disk-config part 1 4cb366f Disallow instance tag set for invalid instance states 9b9e3bc Make instance as second arg in compute api calls a7aafd9 TrivialFix: Remove extra comma from json 6976033 Skip NFS and Ceph in live migration job test run 15a9458 Added missed response to test_server_tags 32d45f1 api-ref: console types. 036833d api-ref: add version 2.3 parameters to servers f5b8319 Remove extra expected error code (413) from image metadata 29ec93d Use instance object instead of db record 40ea165 Publish proxy APIs deprecation in api ref doc cdcf9ac Fix outdated parameter network_info description in virt/driver 58785c4 api-ref: Fix parameters in os-instance-usage-audit-log 36ce472 Remove python code validation specific to legacy_v2 a586083 Remove DictCompat from instance_info_cache 12a2358 Remove redundant test in test_resource_tracker 05b7f63 nova shared storage: rbd is always shared storage 0337014 Modify the disk bus and device name for Aarch64 d87377a Remove mox from unit/compute/test_compute_mgr.py (end) cb5f7de Remove mox in tests/unit/objects/test_instance_faults 4be2d9c Remove mox from unit/compute/test_compute_mgr.py (6) 19fc11e Remove mox from unit/compute/test_compute_mgr.py (8) 4f125c3 Remove mox from unit/compute/test_compute_mgr.py (7) 9ebf9a5 Trivial-Fix: Fix typos 9fd3e02 Fix some typos df9c973 Remove mox from unit/compute/test_compute_mgr.py (5) ed58c78 Remove mox from unit/compute/test_compute_mgr.py (4) 192fda1 Remove mox from unit/compute/test_compute_mgr.py (3) 09306db Remove mox from unit/compute/test_compute_mgr.py (2) 62a9d38 Updated from global requirements 59f4394 Make Aggregate.get_by_uuid use the API db. 2057ed7 api-ref: parameter verification for os-aggregates b985208 Improve help text for neutron_opts d8673cb remove processing of blacklist/whitelist/corelist extensions 43f6904 fix OS-SCH-HNT:scheduler_hints location in sample 2d94ae5 Fix reno from hyper-v-remotefx a40f4be Yield the thread when verifying image's signature 0a471bb Remove invalid test methods for config option port_range 1885a39 libvirt: Prevent block live migration with tunnelled flag 458ddde Trivial: remove none existing py3 test from tests-py3.txt 19b3ef2 Make host as second arg in compute api calls 55469df Stop using mox stubs in tests/unit/fake_notifier dd7015c Remove unused _get_flags method from integrated_helpers f44d1af Enable all extension for all remaining sample tests c30562f tox.ini: Remove unnecessary comments in api-ref target c0b8177 Stop using mox stubs in nova/tests/unit 3c29c1a Updated from global requirements 47d70de Raise exception if BuildRequest deleted twice 4e5015f Replace mox with mock for xenapi vm_utils.lookup b7f8333 Detach volume after deleting instance with no host 6d4403c pci: Allow updating pci_requests in instance_extra 5240396 Change default fake_ server status to ACTIVE 824569a Fix update inventory for multiple providers f71cd2c Default to using glance v2 08f1850 Enable all extension for remaining server API tests f26f18e Enable all extension for server API tests part-1 b9f64e2 Remove mox from unit/compute/test_compute_mgr.py (1) a95aef8 Fixes py3 unit tests for nova.tests.unit.test_block_device.* 1978c41 Reno for mutable-config ff46efb Remove invalid test of config option default_notification_level d7d67e4 Improve the help text for cells options (7) 6962cad test: pass enable_pass as kwarg in test_evacuate 436563f Remove config option config_drive_format's invalid value test 4d53736 test: remove invalid test method in libvirt/test_imagebackend dea38f8 xenapi: Remove invalid values for config option image_compression_level d78e06e Remove mox from api/openstack/compute/test_pci.py 6f434cb Stop using mox from openstack/compute/test_cells.py 30cfa1d Enable all extension for server actions sample tests 8291e5e Enable all extension for Flavor API sample tests f2706b2 Fix resource tracking for instances with no numa topology 58bac47 Clarified "user" to plural type adcc0e4 Revert "Optimize _cleanup_incomplete_migrations periodic task" c5b8b3b Remove unused authorizer methods 1fba0bc Remove legacy v2 policy rules 76f80ba Add unit tests for nova.virt.firewall.IpTablesFirewallDriver (Part 1) 8da53e9 Make create_inventory() handle name change fbf87c4 Add ResourceProvider.save() 6d2470a Remove the skip_policy_check flags f06a126 api-ref: verify keypairs 78fbb47 Make Xenplugin to work with glance v2 api fa5f6ee Trival: version history 2.30 is not indented as others 520ee65 Do not register notification objects cdfecc6 Move notification objects to a separate package 5e074a5 Move notification related code to separate package b2ecdcf Adjust field types and defaults on Inventory 56d41ae Add InventoryList.find() method a85c8f5 Add a get_by_uuid for aggregates ab43963 Imported Translations from Zanata 0a533df get rid of the old _vhd methods 70cd68a Make Hyper-V to work with glance v2 api b5f8cee Stop using mox stubs in stub_out_key_pair_funcs 00b29d8 Remove v2 extension setting from functional tests 063b5e4 Add name and generation to ResourceProvider object c0cbea9 Remove duplicate test of DELETED instances ea4ac44 Added support for new block device format in Hyper-V 48aa5f2 Enable mutable config in Nova 732fdf8 Improve help text for availability zones options e421ea4 tests: make XMLMatches work with Python3 a182120 Catch PciRequestAliasNotDefined exception 126400a api-ref: parameter verification for os-hypervisors 4d72060 xen: skip two more racey mox py34 test classes fc96434 libvirt: handle reserved pages size 8093b76 Fix nova-compute start failed when reserved_huge_pages has value. eed2243 Make the base options definitions consistent 068d851 virt: set address space & CPU time limits when running qemu-img ea3904b Remove manual creation of console.log 6044c6d Fix imagecache.get_cache_fname() to work in python3 0cb9182 Remove policy checkpoints for SecurityGroupAPI and NetworkAPI 54a5e73 Remove policy checkpoints from ComputeAPI 18051b5 Stop using mox from objects/test_instance.py (3) fa10167 Stop using mox from objects/test_instance.py (2) 3f4fed9 Stop using mox from objects/test_instance.py (1) 78941dc Fix wrong patch of unittest in unit/test_metadata.py 3988911 Remove code referencing inventory table in cell DB c6ffec0 Handle SetAdminPasswdNotSupported raised by libvirt driver c7de854 Prevent boot if ephemeral disk size > flavor value 0a6985a [libvirt] Incorrect parameters passed to migrateToURI3 ea4754b Revert inventory/allocation child DB linkage f1adea0 Only chown console log in rescue 8cda74d Don't chown a config disk which already exists 0cbfaae Don't overwrite config disk when using Rbd 383a0c9 Add 'update' method to GlanceImageServiceV2 4a39b8b Add 'create' method to GlanceImageServiceV2 8eca306 Add 'detail' method to GlanceImageServiceV2 6276ffc Add 'delete' method to GlanceImageServiceV2 f6b2eda Add 'download' method to GlanceImageServiceV2 b1a3ee1 Add 'show' method to GlanceImageServiceV2 fc33c4b Split the glance API path based on config ec18b52 Remove image_meta 08f7f7a add "needs:*" tags to the config option modules cc47aca api-ref method verification for os-cells 7aa2285 API change for verifying the scheduler when live migrating 24e2ab2 Stop using mox stubs in volume/encryptors/test_base.py 16dd86f Introduce a CONF flag to determine glance client version 7f5be3f fix a typo in comment 9d41696 Fix white spaces in api-ref 597f079 Updated from global requirements 3422f6f virt/hardware: Add diagnostic logs for scheduling a87a7a8 Use assertNotIn instead of assertTrue(all(A != B)) 5a27cb7 Use assert(Not)Equal instead of assertTrue(A == X) 6debcf4 Use assertLess(Equal) instead of assertTrue(A > X) e34fd54 Use assertGreater(A, X) instead of assertTrue(A > X) f5c9ebd Fall back to flat config drive if not found in rbd 216e1c1 libvirt: Fix the content of "disk.config" lost after migrate/resize c9f5ad3 remove /v2.1/{tenant_id} from all urls 6213f0f Remove "or 'reserved'" from _create_volume_bdm c2c3b97 pci: Move PCI devices and PCI requests into migration context 11e2334 Updated from global requirements ca8f4d9 Fixes invalid uuid usages in test_neutronv2 5a911ae Clarify message for Invalid/Bad Request exception 58cb7e5 Cancelled live migration are not in progress 11ed7bd set wrap_width for config generator to 80 8670678 API change for verifying the scheduler when evacuating 7c10322 Fix invalid uuid warnings in virt testcases 89a61ab Fix multipath iSCSI encrypted volume attach failure beea9b4 libvirt: add "get_job_info" to Guest's object 52aea25 Modify 'an network' to 'a network' a31d917 Remove legacy v2 API code completely e1e5f67 Remove the usage of RateLimitingMiddleware 8922a29 Remove unused inner_app_v21 and ext_mgr 337cfe7 Remove legacy API code from sample tests 84d03e9 Remove InstanceUsageAuditLogTest for legacy API 6445cac Change instance_claim parameter from instance_ref to instance dd3078e Make AggregateList.get_ return API & cell db items 41b658d Make Aggregate.get operation favor the API db 35748e7 Add aggregates tables to the API db. 228e916 Microversion 2.28 changes cpu_info string to JSON object afa31e6 libvirt: Skip CPU compatibility check for emulated guests 36998c0 Specify the default cdrom type "scsi" for AARCH64. bd37ab2 Remove mox from nova/tests/unit/test_iptables_network.py 7e0f846 Updated from global requirements b9858b2 pci: Make sure PF is 'available' when last VF is freed 0b85bb4 pci: related updates are done without DB lookups c469b84 pci: make sure device relationships are kept in memory d3bbd77 Remove mox from nova/tests/unit/virt/libvirt/test_vif.py a7dde84 verify api-ref os-migrations.inc be62910 Nova UTs broken due to modifying loopingcall global var 09e3d13 Remove mox from unit/api/openstack/compute/test_consoles.py 484fffe Stop using mox from virt/libvirt/storage/test_lvm.py b8b70e2 Update functional tests for fixtures 3 cfc6429 Add tests to attach/detach vols for shelved server 4d48247 Remove unused _vlan_is_disabled test flag 7b6f7ec libvirt: New configuration classes to parse device address element d7b8d99 Fixed clean up process in confirm_resize() after resize/cold migration f9daab6 VMware: remove dead code in test_get_vm_create_spec() ea20915 Remove mox from compute/test_scheduler_hints.py 028091d Updated from global requirements f24e580 Remove normal API operation logs from API layer bcb0662 Remove unused LOG from v2.1 API code a397102 Adds RemoteFX support to the Hyper-V driver fcdec6c libvirt: fix serial ports lost after hard-reboot 7edc030 Stop using mox stubs in test_server_usage.py 85bf38c Remove mox from compute/test_instance_usage_audit_log.py a29c263 api-ref: os-consoles.inc 6051f30 Add proxy middleware to application pipeline fc529de api-ref: Example verification for os-interface.inc b02e37a Remove redundant orphan instances unit test da5d638 Remove duplicate migration RT unit tests 05f4559 Redundant test of CPU resources in test_tracker 7eb33b5 Remove duplicate test of RT.stats.current_workload c563446 Remove duplicate test of claim context manager 2ca4cbd Remove pointless "additive claims" unit test 838b322 Remove oversubscribe test in test_resource_tracker 0aca2d7 api: Improve the _check_multiple* function names readability 7038391 api-ref verify servers-action-deferred-delete.inc 494f6ec Fix the order of expected error codes 12ff592 Remove DictCompat from NetworkRequest 3838f9c api-ref: Add a sample test for os-interface 6df3276 Use oslo_log instead of logging 7755b75 Verify requested_destination in the scheduler 2358eba Add requested_destination field to RequestSpec d53cd53 Remove mox from compute/test_extended_ips_mac.py ffe3093 Ironic nodes with instance_uuid are not available 3e2d0c3 Updated from global requirements 47d0e14 Fixes python 3 urllib quote / unquote usage ae7a4d5 Make compute nodes update their own inventory records 5aa2d48 Remove unused WsgiLimiter 4e04de0 Remove unused args from RateLimitingMiddleware 8175017 Remove unused use_no_auth from wsgi_app_v21() 7e06ffe Fix incorrectly named vmwareapi test 280685c Make Inventory and ResourceProvider objects use the API DB instead cb15d34 Rename ImageCacheManager._list_base_images to _scan_base_images d661db6 Remove all references to image_popularity from image cache 2c389cc Remove image cache image verification f124b85 Fix test_age_and_verify_swap_images ac3d221 api and availablity_zone opt definition consistent c859509 Rename Image.check_image_exists to Image.exists() 4f50c41 Remomve mox from api/openstack/compute/test_console_output.py a54f546 Remove mox from api/openstack/compute/test_config_drive.py bd508a5 VMware: set service status based on vc connection 9e00323 Return 400 HTTP error for invalid flavor attributes d9f2a82 Get transport_url from config in Cells v2 cell map utility bd199e3 Support for both microversion headers d76e865 Fix unit test after the replace of key manager 6a42282 Fix "KeyError: u'instance_id'" in string format operation e75e918 Save all instance extras in a single db call 120d77e Remove APIRouter of legacy v2 API code b4c1c9f Remove legacy v2 API tests which use wsgi_app() 09875f6 limits.inc example verification 9d99081 Remove duplicate unit test in test_tracker 0de190b Remove delete stubs in test_resource_tracker 3e7e8cc Remove service crud from test_resource_tracker 0510f1d Remove conductor from test_resource_tracker 96e7773 Remove StatsDicTestCase from test_resource_tracker 9aef61c rt-unit: Replace hard-coded strings with constants e05944d Remove useless test of incorrect stats value cad010b Remove RT duplicate unit test for PCI stats 5d9ced6 Remove more duplicate RT unit tests 1f84ab0 Removes test_claim_saves_numa_topology() 3b0c9a3 objects: added 'os_secure_boot' property to ImageMetaProps object 9fb086a Trivial: Fixes serial console minor nits c90c38d Revert "glance:add helper method to get client version" b1973fc Add length check in comparing object lists 74d6c42 Update Support Matrix 7f860b2 Improve the help text for the rdp options 4eb95a1 No disable reason defined for new services 8e0d8b7 api-ref: limits.inc validate parameters 9053a46 Make available to build docs with python3 da61fec Updated from global requirements cdf74c5 remove db2 support from tree df499b5 Adds Hyper-V imagecache cleanup c824982 raise exception ComputeHostNotFound if host is not found 00dc082 Skip instance name templating in API cell b609a3b Add http_proxy_to_wsgi to api-paste 32ca314 Stop using mox stubs in test_pipelib.py 0c18394 api-ref: Parameter verification for os-interface.inc 7d26e73 devspec: remove unused VIRTFN_RE and re dc5ed96 Remove duplicate test of set inst host/node 68b171b Remove SchedulerClientTrackerTestCase e9e5597 Move unit tests of set_instance_host_and_name() addc133 Remove MissingComputeNodeTestCase for res tracker d3f99a1 Remove tests for missing get_available_resource() 1f33455 api-ref, os-fping.inc c19dd49 Pass OS_DEBUG to the tox test environment 3f96f30 Hyper-V: Implement nova rescue 007a3a3 Add resource provider tables to the api database e215e6c HyperV: Nova serial console access support ece7b8f Let setup.py compile_catalog process all language files d8474e0 use_neutron_default_nets: StrOpt ->BoolOpt 4f3d13c api-ref: Add fault parameter details ca4ec76 be more explicit that rate limits are gone in v2.1 59192cf Warn when using null cache backend 22c87390 Enable 'null' value for user_data in V2.1 API cc980b1 Updated from global requirements d3c9778 fix Quota related error return incorrect problem b8aac79 Add online migration to move keypairs from main to API database e5b8060 Completed migrations are not "in progress" 43e6a06 Make flavor-manage api call destroy with Flavor object d6210a4 Move is_volume_backed_instance to compute.utils 008727c Updated from global requirements e268827 api-ref: verify flavors.inc 942eca9 Fix use of invalid assert calls 9363f52 Config options: remove import_opts from cloudpipe section e78b39b Enables Py34 tests for unit.api.openstack.compute.test_server_tags 8811989 Fix the versions API for api-ref cd52935 Update link for hypervisor support matrix message 0e5aa68 api-ref: complete verification of baremetal api 9fe1559 Keep BuildRequest db entry around longer 98a05bc Drop fields from BuildRequest object and model 8c8b63b Resize API operation passing down original RequestSpec ed308b9 Augment release note for import_object_ns removal 7268006 pci: add safe-guard to __eq__ of PciDevice 6919b25 deprecate config option "fatal_exception_format_errors" a31505f config options: centralize exception options c8ceeb4 libvirt: Add serial ports to the migration data object f3ad794 Hyper-V: Fixes disk overhead claim issue f86a3a4 Config options: move set default opt of db section to centralized place 51bddcc [Trivial] Fix a grammar error in comments 03c1161 api-ref: Example verification for servers-action-shelve.inc 5baca35 [Ironic] Correct check for ready to deploy 7d56f89 api-ref: Fix parameters in servers-action-shelve.inc e7d2a1d api-ref: parameter verification for os-server-groups 39fc07b api-ref: servers-action-evacuate.inc c414b71 remove FlavorCreateFailed exception 11433ca Add tests for floating_ip private functions 775bda6 Trivial: remove os-security-groups needs:method_verification line 0bffed5 Add RC file for excluding tempest tests for LVM job b6dd96c Move config options from nova/api directory (5) 4107bb5 libvirt: add method to configure max downtime when migrating 4258577 libvirt: add "abort_job" to Guest's object 33d77b8 libvirt: add method "migrate" to Guest's object eb42295 Only attempt to inject files if the injection disk exists 547dc45 Remove deprecated option libvirt.remove_unused_kernels cff4d78 Rename Raw backend to Flat be86b27 deprecate s3 image service config options 76dfb4b Cold migrate using the RequestSpec object 09f2d4d Add a RequestSpec generation migration script a6bc68a Enables Py34 tests for unit.compute.test_compute e0f61db Fixes invalid uuid usages in functional tests a0bedb3 Make neutronapi get_floating*() methods return objects 6a09c00 Switch api unit tests to use v2.1 API 56ac441 Remove mox used in tests/unit/api/openstack/compute/test_server_start_stop 4679f18 Remove marker from nova-manage cells_v2 map_instances UI 9bc797c api-ref: complete verification for os-flavor-access 4a02f34 Make some build_requests columns nullable bdf984a Add message queue switching through RequestContext 50e2792 trivial: remove unused argument from a method 77f9958 baseproxy: stop requiring CONF.verbose 5657dc5 Cleanup validation logic in _get_requested_networks d790fe0 api-ref: complete verification of servers-action-crash-dump.inc 2b7d5de migrate to os-api-ref cf69f5c api-ref: image.inc - Update method validation 2811ff4 config options: centralize section "database" + "api_database" 2813c83 api-ref: parameter verification for os-quota-sets 37f26ad Fix network mtu in network_metadata 31e798d Add a note about egress rules to os-security-group-rules api-ref d2875b7 ironic: fix call to _cleanup_deploy on config drive failure af36b0d Follow-up for the API config option patch 94010b5 api-ref: reorder parameters.yaml 4d2327a Network: fix typo 119f2c5 Add online migration to store keypairs with instances f3a6a46 Make Keypair object favor the API database 22a7d30 api-ref: ips.inc example verification 563f6dc Fix spelling mistake in libvirt 1031db1 Body Verification of os-aggregates.inc 345febe Move placement api request logging to middleware 7f69d0d Updated from global requirements 512fb41 conf: Move cloudpipe options to a group 8224be1 conf: Address nits in I92a03cb f0dd4d6 Fix corrupt "host_aggregates_map" in host_manager 8da225a Fix spelling mistake 79f030f api-ref: Example verification for os-volume_attachments.inc 05b0da8 api-ref: Parameter verification for os-volume_attachments.inc 93a475c Remove fake_imagebackend.Raw and cleanup dependent tests 0590215 Remove unused arguments to images.fetch and images.fetch_to_raw 36c688f api-ref: finish validation for os-server-external-events.inc 1f67ab3 report info if parameters are out of order 3b0f95e Method verification of os-floating-ips-bulk.inc 032395c api-ref: os-volumes.inc method verification d3a1fd5 config options: move s3 related options b7660e0 deprecate "default_flavor" config option 88703e1 config options: centralize default flavor option 26dcd06 Return HTTP 400 on boot for invalid availability zone 5252f33 Config options: remove import_opts from completed section 11babbb Fix migration query with unicode status 466bce5 Config options: centralize cache options 7db39b1 Change 5 space indent to 4 spaces 505bc44 Remove deprecated "memcached_server" in Default section 12385e1 Updated from global requirements 1083a51 Add a functional test for instance fault message with retry 04f8612 api-ref: complete verification for extensions resource 9572066 live-migration ceph: fix typo in ruleset parsing 6987a1f api-ref: os-floating-ip-dns.inc method verification 1f4515d api-ref: Method verification for servers-actions fa3453f Eager load keypairs in instance metadata dfaf614 Complete method verification of os-networks 05af505 Method verification of os-security-group-default-rules d52ceaf virt: reserved number of mempages on compute host 9931ef9 deprecate "file transfer" feature for Glance images 32b510a centralized conf: nova/network/rpcapi.py 7ee0046 Config options: centralize remotefs libvirt options (end) e50afe1 Config options: centralize smbfs libvirt options (16) 671bb26 imagebackend: Check that the RBD image exists before trying to cleanup 84e1213 Rewrite _cleanup_resize and finish_migration unit tests to use mock instead of mox 4e5d645 Remove mox in test_volume_snapshot_create_outer_success 8bb1081 api-ref: Method verification for os-volume_attachments.inc 5b9929d Improve the help text for the API options (4) e2f7bed Improve the help text for the API options (3) f7e4018 api-ref: ips.inc parameter verification e2c7643 Add Keypairs to the API database 9880a16 Create Instances with keypairs d4aeb86 Method verification for server-action-deferred-delete d68e80c method verification for server-action-remote-consoles 671ad71 method verification of os-server-external-events 8d68435 method verification of os-instance-usage-audit-log e83842b Add keypairs to Instance object ab58788 Complete method verification of os-baremetal-nodes.inc ad739f8 api-ref: parameter validation for os-security-group-rules d95a972 Fixed missing variable 247cb29 api-ref: Method verification for os-floating-ips 86a8006 force_live_migration remove redundant check d7cc32b pci: create PCI tracker in RT._init_compute_node 2194b10 Fix race condition for live-migration-force-complete 0d4127a api-ref: servers-action-shelve.inc 54dfffb Added fault response parameter to Show Server Details API. a198da0 pci: Remove unused 'all_devs' method 3300cdf Corrected the typo. 31976c4 Denormalize personality extension fcce678 method verification of os-assisted-volume-snapshots 8b1298f api-ref: os-certificates.inc method verification a7b1d22 Complete method verification of os-cloudpipe.inc 854c39e Fix service version to update the DB f6ac9f3 method verification for servers-action-fixed-ip 2c52aca Added new exception to handle CinderClientException 6b1293f Drop paramiko < 2 compat code 960363f Config options: centralize scality libvirt options (15) 5c2f95a Compute: Adds driver disk_gb instance overhead estimation 9f6bb41 config options: move image_file_url download options c05b338 crypto: Add support for Paramiko 2.x 20e1d6c Denormalize extensions for clarity d8d8adf Complete method verification of os-fping 3860d7e Complete method verification of os-security-group-rules b1d9c3e Fix invalid uuid warnings 84f09c6 Correct some misspell words in nova 1fce522 Remove 404 for list and details actions of servers 15e643e Improve the help text for the API options (2) 9766a79 Improve the help text for the API options (1) f8870c6 Complete method verification of os-migrations 82b0129 Move config options from nova/api directory (4) 549fe62 api-ref: perform all 4 phases of verification for action console output 534320c api-ref: add url parameter to expand all sections 8f4e803 api-ref: complete verification for diagnostics.inc e131317 api-ref: update parameter validation on servers 68e7462 Complete method verification of os-tenant-networks 67af54d trivial: removed unused networks var from os-tenant-networks:create ca69025 Complete method verification of os-security-groups a74fd10 Move config options from nova/api directory (3) 39e2bc9 Move config options from nova/api directory (2) 515eacc Move config options from nova/api directory (1) daad02b api-ref: method verification and fixes for servers.inc 649774e Instance mapping save, properly load cell mapping a924b1d config: remove deprecated ironic.client_log_level e7bf2d7 Complete method verification of os-quotas e3b0edb Compelete method verification of os-servers-admin 6939da3 Complete method verification of os-shevle 2f4f098 Add api-sample test for showing quota detail 9fbcc50 Remove legacy v2 tests which use APIRouter 1f259e2 pci: eliminate DB lookup PCI requests during claim 74fbff8 pci: pass in instance PCI requests to claim f3b1103 Remove rate_limit param in builder 3860954 Remove comment on v3 API a90488e Not talking about V2 API code in review doc guide 51a60d3 Add keypairs to instance_extra 8a0cc0d Trivial: No need to exclude TestMoveClaim from py34 tests 012bc7e Remove 400 as expected error 64cbefb Cleaned up request and response formats page a91d24e Complete method verification of os-agents 92a73de update servers policy in code to use formats 04fb00d Complete method verification of os-fixed-ips 938b71c Consolidate image_href to image uuid validation code 94b40cf Fix TestNeutronv2.test_deallocate_for_instance_2* race failures 61eb338 Centralize config option for nova/network/driver.py 85a307d Don't raise error when filtering on custom metadata 16ea2ca Config options: centralize quobyte libvirt options (14) 8778a9e Config options: centralize volume nfs libvirt options (13) 643aed6 Config options: centralize volume net libvirt options (12) f25512a Config options: centralize iser libvirt options (11) 00eccf5 Config options: centralize iscsi libvirt options (10) 463f854 Config options: centralize glusterfs libvirt options (9) e691edf Config options: centralize aoe vol libvirt options (8) 43caf37 Config options: centralize volume libvirt options (7) 15abb39 Config options: centralize vif libvirt options (6) 27fcf2a Config options: centralize utils libvirt options (5) 51ab83c Config options: centralize lvm libvirt options (4) de67ca5 Remove legacy v2 unit tests[q-v] 7eb7a3d Remove legacy v2 unit tests[f-n] a2e6a55 Remove Limits dependency of legacy v2 API code 5eef706 Remove mox in unit/virt/xenapi/test_agent.py d61e158 Set migration status to 'error' on live-migration failure 82b525f Add pycrypto explicitly fadde1d Centralize vif,xenpool & vol_utils config options 1ad0ab6 Config options: centralize imagecache libvirt options (3) d39778d Config options: centralize imagebackend libvirt options (2) 5a64f57 Remove the legacy v2 API entry from api-paste.ini 20cbfa0 Update stable API doc to indicate code removal dda676c Config options: centralize driver libvirt options (1) 647a022 UEFI - instance terminates after boot 852c9df Fix unit tests for v2.1 API b5ec25d Remove legacy v2 unit tests[a-e] 31276a4 Config options: Centralize servicegroup options 95da4e8 libvirt: release serial console ports when destroying guests 452d409 Remove mox from tests/unit/network/test_api.py e229835 Remove legacy v2 API functional tests 91bef29 fix wrong key name in test code 73eda1c Remove the legacy v2 API test scenarios from API sample tests 169498a Remove 413 expect in servers.py 38e2c9c Remove core extension list a992da7 rt: remove unused image_meta parameter 9b2329d Fail to start nova-api if no APIs were able to be started 8182a55 Test that nova-api ignores paste failures, but continues on 2319130 libvirt: introduces module to handle domain xml migration 07e84b2 Trivial: dead code cf9713f Fix database poison warnings, part 8 409085a docs: link to Laski's cells talk from the Austin summit 82098d0 compute: Retain instance metadata for 'evacuate' on shared storage 5943905 Archive instance_actions and instance_actions_event 9df2e7a Add os-interface functional negative tests 1e9d82a api-ref: verify os-server-groups.inc 6211543 Avoid unnessary _get_power_state call fc93aea Remove mox in test_certificates.py ebfe33f api-ref: verfiy limits body cdd5d44 api-ref: body verification of ips.inc 35903eb Change message format of Forbidden 5bafd5f Updated from global requirements 49c9947 api-ref verify of servers-admin-action.inc fd3be6e pci: Allow to assign pci devices in pci device list 9077837 Fix typo in support-matrix.ini: re(set)=>(re)set 62bcfc5 Add ability to filter migrations by instance uuid faf18d8 Wrong mocks, wrong mock order 6a06c62 verify api-ref metadata.inc f49e053 verify api-ref os-server-password.inc 87e22e6 Updated from global requirements a44d999 Fix database poison warnings, part 7 2b65c79 Declare nova.virt namespace 340b7e9 [doc] fix 5 typos 34b8336 Make compute rpcapi 'live_migration' backward compatible f006ff4 Replace key manager with Castellan 7d5fc48 Deprecate Nova Network 57ab504 verify api-ref os-instance-usage-audit-log.inc b256cae Only reset dns_name when unbinding port if DNS is integrated 4c5ba52 Changed the storage size from GB to GiB. 13ef510 Remove unused FAKE_UUID variables 75280e5 Deprecated the concept of extensions in v2.1. c263995 Fix database poison warnings, part 6 5e4c9de Fix database poison warnings, part 5 dcd14ad Avoid unconditional warnings in nova-consoleauth 54ca7aa libvirt: remove version checks for hyperv PV features bdc1533 libvirt: remove version checks for libvirt disk discard feature 42f972e libvirt: remove version checks for block job handling 36814a3 libvirt: remove version checks for PCI device detach ca770a1 libvirt: remove version checks for live snapshot feature 07e4a90 libvirt: add explicit check for min required QEMU version 6b2cad6 libvirt: increase min required libvirt to 1.2.1 93fde49 network: Fix nova boot with multiple security-groups bc71e9a Updated config description on live snapshot 2647f91 Fix NoSuchOptError when referring to conf.neutron.auth_plugin 4f716d9 api-ref host verification (os-hosts.inc) 797e709 api-ref verify os-floating-ip-pools.inc b6fed91 Complete Verification of server-metadata 5b9a51a Complete method Verification of os-hypervisors 09b7c7b Fix invalid uuid warnings in compute api testcases 60aa0a1 Fix invalid uuid warnings 47ef16d complete Method Verification of aggregates 96e9d88 Complete Method Verification of ips 609adcd Fix resize to same host failed using anti-affinity group 205a91a Complete method Verification of consoles d619ad6 Config options: Centralize netconf options 53a5739 Remove 413 as expected error code fa89d6b Complete Verification of os-server-password c2b45cd Complete Verification of os-hosts 9f6b96e Add links to API guide to describe links 0e50008 Complete Method Verification of os-interface ccfadb0 Complet Method Verification of flavor-access ff00644 Complete Verification of os-virtual-interfaces 896062a Complet Method Verification of os-instance-actions 4f4841d Complete Verification of os-flavor-extra-specs b554a8c Fix database poison warnings, part 4 479df53 Complet Method Verification of flavor 5ead139 Complet Method Verification of server group 6bdd1bb Trivial: fix mock decorator order 54c5f4f Add test for nova-compute and nova-network main database blocks 533bd81 Prevent nova-api from dying if enabled_apis is wrong d963a27 Complet Method Verification of keypair ffee1b3 Complet Method Verification of availability-zone 35b0a12 Complet Method Verification of simple tenant usage 8eb03de remove the use of import_object_ns 24d49c6 Fixed typo in word "were" ef2dfbf Complet Method Verification of os-services 4478ce8 Complet Method Verification of server diag 6a90b7a Remove mox in tests/unit/compute/test_host_api.py 1b8b083 Config options: completing centralize neutron options e7390c1 Add instances into dict when handle exception 9185603 Complet Method Verification of limits 8f91309 Improve the help text for the compute rpcapi option a6425fa Move config options from nova/compute/rpcapi.py file 53e31a8 Updated from global requirements 5f996d4 deprecate nova-all 6f2a46f Remove unused base_options param from _get_image_defined_bdms a5d3b57 Change BuildRequest to contain a serialized instance 64f5f99 Split out part of map_cell_and_hosts to return a uuid 17b5725 Add manage command for cell0. 574e093 Config options: centralize section "ssl" cdf5c60 config options: centralize security_group_api opt 6c46f2d Imported Translations from Zanata 1276053 Stop using mox stubs in test_multinic.py 73d5d1f libvirt: deprecate use_usb_tablet in favor of pointer_model eae20ff Config options: Centralize neutron metadata options d929b9f add tags to files for the content verification phase 8fc7d30 Config options: Centralize compute options e781103 Add 415 to list of exceptions for microversions devref 988668e Added validation for rescue image ref 1555736 Final warnings removals for api-ref fc66e7e Clean port dns_name in case of port detach f208917 Fix remaining json reference warnings 9ad3dad Add validations for volume_size and destination_type d0eb858 Remove duplicate api ref for os-networks/actions 24d380b Fix all remaining sample file path e2fb033 Stop using mox stubs in test_access_ips.py 150c30b Stop using mox stubs in test_admin_password.py 92ae0f1 libvirt - Add log if libguestfs can't read host kernel 4d421c7 Fix sample file path for 4 files 6970059 Fix invalid uuid warnings in objects testcases 5035496 Fix invalid uuid warnings in server-group unit tests cf82f52 Create image for suspended instance booted from volume 1d6cd12 Fix content and sample file for keypair, migration, networks aa0bb59 Fix sample file path for os-i* API 469771a Fix the parameters for os-agents API ca65bf4 Fix sample file path for fixed, floating ips API 90d64f2 Fix sample path for aggregate, certificate, console 27778e5 Add remaining image API ref 4ad8a86 Fix the schema of assisted_volume_snapshots fd7bc95 config options: conductor live migrate options fd9bedb xenapi: Fix xmlrpclib marshalling error c52b7c6 fix samples references in security group files 4e41527 fix samples references in os-services 516bd07 Fix api samples references in 3 more files a46e847 Fix reverse_upsize_quota_delta attempt to look up deleted flavors b9a89c9 Fix api ref for os-hosts, os-quota-sets and os-fping f774d03 Fix api ref for os-cells, os-cloudpipe and server-action-shelve f6592c9 Fix api sample references in 2 more files. adf7601 Updated from global requirements 2499734 hardware: thread policy default value applied even if specified d8f9d23 Fix api ref for ips, limits, metdata and agent f09e198 virt: use more realistic fake network / VIF data 6f8cda2 Fix json response example heading in api ref 70de70c Fix database poison warnings, part 3 05e9f0a Remove 40X and 50X from Normal response codes cf2fb50 Specify normal status code on os-baremetal-nodes b758cc3 Remove unused rotation param from _do_snapshot_instance 7f1ff4b Remove unused filter_class_names kwarg from get_filtered_hosts 7e2f5c7 Remove deprecated ability to load scheduler_host_manager from path b3e1afd Fix "Creates an aggregate" parameters 016b810 Unavailable hosts have no resources for use f554c3f HyperV: Add SerialConsoleOps class f98af85 HyperV: Add serial console handler class cae5cdd HyperV: Add serial console proxy afe8c1b fix samples references for 2 files 46a1fd1 Update servers.inc to be as accurate as api-site 2acc896 Fix database poison warnings, part 2 93e3784 Fix "Creates an agent build" parameters a746412 Update get_by_project_id on InstanceMappingList 9780800 Clean up cell handling in nova-manage cell_v2 map_instances 5674e76 Properly clean up BDMs when _provision_instances fails 138a3ea clean up versions.inc reference document 40630d7 Collection of CSS fixes 72a0a7c Fixes unexpectedly passing functional test. 9526462 move sphinx h3 to '-' instead of '^' ccee8b3 fix blockquote font size e51b8f4 Add 'Show All' / 'Hide All' toggle 19712dc use 'required' instead of 'optional' for parameters 5bc00aa Fix css references to the glyphicons font 815a60e Initial use of microversion_parse a7019a8 Changed an HTTP exception to return proper code 8cfc8a8 Compute API: omit disk/container formats when creating images of snapshots aa9a270 Fix formatting of rst in parameters.yaml d789f6e Add instance/instance_uuid to build_requests table ee7a019 network: make nova to handle port_security_enabled=False d03182d BaseCoreFilter docstring and formating improved d4e4479 Fix NoMoreNetworks functional test traces 4355198 Fix typo in nova release notes 7823730 Updated from global requirements acbf057 Fix generation of Guru Meditation Report 54aaa82 Fix invalid uuid warnings in cell api testcases 9e305c2 cleanup some issues in parameters.yaml d4e2771 Import RST files for documentation f1fa7eb add combined parameters.yaml file b01187e claims: Do not assume image-meta is a dict 2e79b44 Fix nova opts help info 82a23c6 Fix doc build if git is absent 4ad414f Add checks for driver attach_interfaces capability 44db7db Updated from global requirements 0b4422b Add AllServicesCurrent fixture 0e6db5f Improve the help text for the linuxnet options (3) 3fe5810 Improve the help text for the linuxnet options (2) aa87a0c Fix signature of copy_image 4697d78 libvirt: remove live migrate workaround for an unsupported ver 917afd2 libvirt: move graphic/serial consoles check to pre_live_migration 3e52726 Fix invalid uuid warnings in api testcases 4994b41 Minor updates to the how_to_get_involved docs df488c8 Put more into compute.api._populate_instance_for_create 566bdf1 Remove unused parameter from _get_requested_instance_group b556c48 Improved test coverage 0d5fee4 Check API versions intersects 0b2e34f virt/hardware: Fix 'isolate' case on non-SMT hosts f9b62df Migrate compute node resource information to Inventory objects 5826a13 Drop compute node uuid online migration code 10a422a increase error handling for dirty files dc2e313 config options: centralize 'spice' options 9989a75 Fix max concurrent builds's unlimited semaphore bc10d29 XenAPI: specify block size for writing config drive. f64237d Fix database poison warnings f738483 Make swap-volume an admin-only API by default 2b079fa Updated from global requirements 178b459 Improve the help text for the linuxnet options (1) 747d6bd Config options: Centralize network options c47b429 Config options: centralize base path configuration 5cc4c07 Add new NeutronFloatingIP object e42ff5e Add "__repr__" method to class "Service" d509152 remove alembic from requirements.txt e845e04 Config options: centralize section "xvp" d7a7e6d Imported Translations from Zanata e2140d2 Updated from global requirements 7830764 allow samples testing for PUT to not have a body ea42c34 libvirt: delete the last file link in _supports_direct_io() 51d46d3 db: retry instance_info_cache_update() on deadlock f05bbb1 Moved tags filtering tests to TestInstanceTagsFiltering test case 6f85b0f Move config options from nova/network/linux_net.py de4043d Remove nova-manage service subcommand 68a4b47 config options: centralize quota options 4a95c1c DB API changes for the nova-manage quota_usage_refresh command 97ce111 Improve the help text for the network options (1) 4f44011 Fix typo in compute node mega join comments 44f74f5 Add api-ref/build/* to .gitignore 65534c6 Improve help text for the network object options 341df63 Config options: Centralize console options 169c979 Config options: Centralize notification options cc1e0fe Remove mox from tests/unit/network/security_group/test_neutron_driver.py 537df23 Added server tags support in nova-api bfe8e74 Added server tags controller 0a14f0b Added db API layer to add instance tag-list filtering support 2c3136d Improve 'workarounds' conf options documentation eaeab5e Config options: centralize "configdrive" options 0bc0fed config options: centralize baseproxy cli options 2135a3f Check if a exception has a code on it before read the code e5e54cd Fix import statement order in nova/rpc.py a612197 Document our policy on fixing v2.0 API bugs f698948 Config options: Centralize neutron options ffd14af Remove mox from tests/unit/compute/test_compute_xen.py 9c66338 Fix typo in comments of affinity and anti-affinity 41fc5c5 Fix up online_data_migrations manage command to be consistent e6612df Adds missing discoverable rules in policy.json 8407f33 Config options: Centralize ipv6 options 54923b3 config options: centralize xenserver vmops opts 424ab49 Config options: Centralize xenapi driver options 8caaf35 config options: centralize xenserver vm_utils opts 1a1a41b Remove flavor seeding from the base migration 696ed21 Rely on devstack to skip rescue tests for cells v1 a726162 Replace topic with topics for messaging.Notifier a957e1e Updated from global requirements 138fefa Fix test for empty policy rules c8c696d Improve 'monkey_patch' conf options documentation 50b1f1f conf: Remove 'destroy_after_evacuate' e301ed2 config options: Move crypto options into a group ac0fee5 config options: centralize section: "crypto" 9f92a6a config options: Centralise 'monkeypatch' options f3a90a9 config options: Centralise 'utils' options 0334456 doc: clean up oslo-incubator related stuff ee53631 config option generation doesn't work with a generator 488bb69 Add link to the latest nova.conf example b113cb1 Change the nova tempest blacklist to use to idempotent ids d9c3e17 HyperV: Refactor livemigr, avoiding getting disk paths remotely a5cfde4 Remove DictCompat from mapping objects 5f4dcdc Enhance value check for option notify_on_state_change 466eda5 Fix flavor migration tests and edge case found bcd5402 config options: Centralize upgrade_levels section 1284e2a config options: Centralize mks options c5626a2 Remove DictCompat from S3 object cf1e169 config options: Centralize vmware section 185e00e config options: centralize section "service" 666a05c Define context.roles using base class fb22f71 TrivialFix: removed unnecessary cycle in servicegroup/test_api.py 6653b75 Handle pre-migration flavor creation failures in the crusty old API 4f79501 config options: centralize section "guestfs" 9c1df17 config options: centralize section "workarounds" f850661 config options: Centralize 'nova.rpc' options a5851f9 Cleanup NovaObjectDictCompat from BandwidthUsage 2fe96e8 config options: fix the missed cli options of novncproxy 0c8f01d Add metadata objects for device tagging b1871e5 Nuke cliutils from oslo-incubator 871368b libvirt: pci detach devices should use dev.address f7cbccc Fix stale file handle error in resource tracker 3261300 Updated from global requirements e76c0ce config options: Centralize xenapi torrent options 27e869b Fix: unable to delete instance when cinder is down 17a8e8a Block flavor creation until main database is empty 74767a7 Further hack up the n.t.unit.db.fakes module of horribleness e05acd2 Add flavor migration routine e11b6c0 Make Flavor create() and destroy() work against API DB 11a8c5a Move config options from nova/objects/network.py 9ba07fd Add tag column to vifs and bdm 49d9433 Remove extensible resource tracking f7a46c8 Fix error message of nova baremetal-node-delete cbf49a3 Enhanced error handling for rest_parameters parser ab1ec3f Fix not supported error message 8798a47 config options: Centralise 'image_file_url' options ca9f12a neutron: Update the port with a MAC address for PFs 4bb8cd2 Remove mox from tests/unit/network/test_rpcapi.py d07a129 Remove mox from tests/unit/objects/test_migration.py c531143 The 'record' option of the WebSocketProxy should be string 178a5cb config options: centralize section: "glance" d1a8ffc Move resource provider staticmethods to proxies 11cb56a Add Service.get_minimum_version_multi() for multiple binaries e65557c remove the ability to disable v2.1 afd977c Make git clean actually remove covhtml 107ae91 Set 'libvirt.sysinfo_serial' to 'none' in RealTimeServersTest 8941b45 Make compute_node_statistics() use new schema b90f2bb remove glance deprecated config d05a7dd Config options: Centralize consoleauth options 4c08d37 config options: centralize section "cloudpipe" 43d00cb After migrate in-use volume the BDM information lost 2005b47 Allow to update resource per single node. b2385fb pci: Add utility method for getting the MAC addr 7105f88 Imported Translations from Zanata e964b47 VMware: Use Port Group and Key in binding details 8aba6d9 Config options: Centralize resource tracker options 1c62a0f Fixed incorrect behavior of xenapi driver 8806ac9 Remove DictCompat from ComputeNode 1154923 config options: Centralise 'virt.imagecache' options 969a0c5 neutron: pci_request logic considers 'direct-physical' vnic type b6b3f0d config options: remove the scheduler import_opt()s a23698c Improve the help text for hyperv options (3) 1f16560 Improve the help text for hyperv options (2) a0ddfc8 Improve the help text for hyperv options (1) 5de98cb Imported Translations from Zanata df0fd8b Remove a redundant 'that' 602d1a9 Cleanup NovaObjectDictCompat from NumaTopology a9d5542 Fix detach SR-IOV when using LibvirtConfigGuestHostdevPCI 5867d40 Stop using mox in test_security_groups c52442a Cleanup the exception LiveMigrationWithOldNovaNotSafe 329898f Add sample API content 68ec070 Create api-ref docs site 888be36 Config options: Centralize debugger options 8b0b54b config options: centralize section: "keymgr" 1ca37c4 libvirt: fix ivs test to use the ivs vif object 7193ff5 libvirt: pass a real instance object into vif plug/unplug methods 32069c8 Add a vnic type for PF passthrough and a new libvirt vif driver 443441a libvirt: live_migration_flags/block_migration_flags default to 0 5b6ee70 Imported Translations from Zanata 0695918 config options: Centralize xenapi options af7e83f Populate instance_mappings during boot 6896e72 libvirt: exercise vif driver 'plug' method in tests 1e7a379 config options: centralize xenserver options f15d9a9 Fix detach SR-IOV when using LibvirtConfigGuestHostdevPCI 990eafe Reduce number of db calls during image cache manager periodic task 29042e0 Imported Translations from Zanata 3e9819d Update cells blacklist regex for test_server_basic_ops e86b7fb Update cells blacklist regex for test_server_basic_ops dcb625e Remove mox from tests/functional/api_sample_tests/test_cells.py 3de377b Remove mox from tests/unit/api/openstack/compute/test_baremetal_nodes.py fc9b005 Config options: Centralize ldapdns options fe649a2 Add NetworkRequestList.from_tuples helper c71c4e0 Stop providing force_hosts to the scheduler for move ops c27a9c0 Enforce migration tests for api database e991ca1 Objectify test_flavors and test_flavors_extra_specs 0230edd Allow ironic driver to specify cafile 62158db trivial: Fix alignment of wsgi options 2358640 config options: Remove 'wsgi_' prefix from opts 589660a VMware: Always update image size for sparse image 9f60d9b VMware: create temp parent directory when booting sparse image 4404bab VMware: Use datastore copy when the image is already in vSphere 82f3dcf Imported Translations from Zanata 467953b Fix typos in document a2d0d65 Removes some redundant words 446d155 Stop providing force_hosts to the scheduler for move ops cabe2df Include CellMapping in InstanceMapping object 3f3a886 Make flavor extra_specs operations work against the API DB f092207 Make Flavor access routines work against API database b631774 Clarify the ``use_neutron`` option upgrade notes. 73e4fb1 Imported Translations from Zanata ad3c069 Try to repopulate instance_group if it is None 00efcf3 Try to repopulate instance_group if it is None 11a7960 modify duplicate // to / in doc dfcd3a3 change host to host_migration c96e709 Fixup test_connection_switch functional test 1ae065a Fix SAWarning in _flavor_get_by_flavor_id_from_db f03a3a5 Update 'os-hypervisors.inc' in api-ref 356aa08 Fix os-server-groups.inc a45f5dd cinder: accommodate v1 cinder client in detach call 620949f Move config options from nova/network/manager.py a248e6c Change adminPass for several server actions 6bc51e4 Fix os-virtual-interfaces and flavors api-ref 69cd268 Make FlavorList.get_all() return results from the API and main DBs 720596a Objectify some tests in test_compute and test_flavors dbbcf38 Objectify test_instance_type_extra_specs 1906aa4 Add a DatabasePoisonFixture 919acff config options: Use OptGroup for listing options f2a1f00 Live migration failure in API leaves VM in MIGRATING state a26f6b4 Fix flavor-access and flavor-extras api-ref 17c0956 Fix diagnostics, extensions api ref 08fd092 Fix typo 'mappgins' to 'mappings' 9b98668 Imported Translations from Zanata fb7b7e7 Fix hosts and az api samples 2e39d64 Change "libvirt.xml" back to the original after doing unrescue e9cb0aa Fix os-service related reference missing d761ba3 Add 'binary' and 'disable-reason' into os-service d2f67e8 Remove unused argument v3mode 726943f Clean up the TestGlanceClientWrapper retry tests c7eb823 stop setting mtu when plugging vhost-user ports 0b9e378 config options: Move wsgi options into a group ba2dbe2 Rewrite 'test_filter_schedule_skipping' method using Mock 3d0272f Remove stub_compute config options 25d21f7 Added missing "=" in debug message b67614f libvirt: serial console ports count upper limit needs to be checked a598793 Imported Translations from Zanata 52b165b Return 400 on boot for invalid image metadata 6ee7d44 Fix JSON format of server_concepts e5b0b06 Remove /v1.1 endpoint from api-guide c5c539e config options: centralize section: "rdp" c514065 Fixes hex decoding related unit tests 23a202e Fix conversion of config disks to qcow2 during resize/migration f0dc7db xenapi: Fix when auto block_migration in the API adaa9de xenapi: Fix up passing of sr_uuid_map 15372ef xenapi: Fix the live-migrate aggregate check 23d8dff Add rebuild action descriptions in support-matrix 828fd83 Config options: centralize section "hyperv" e30c75b Removal of unnecessary `import_opt`s for centralized config options 61b4dcc Imported Translations from Zanata f8faf00 Fixes bug with notify_decorator bad getattr default value 1f432af config options: centralize section "monitors" f8916b4 config options: Centralise floating ip options 7b272b3 Fix API Error on hypervisor-uptime API 9ca37ab VMware: make the opaque network attachment more robust fc164e3 Add functional test for v2.7 181cab5 avoid microversion header in functional test d3fe322 Add backrefs to api db models 610f0fb Update reno for stable/mitaka adf7ba6 stop setting mtu when plugging vhost-user ports a9c22ea Removes redundant object fields f6b11c5 Blacklist TestOSAPIFixture.test_responds_to_version in python3 29fb0ac Fix conversion of config disks to qcow2 during resize/migration 92a1509 Remove auto generated module api documentation e9804f5 Imported Translations from Zanata 9264c0e Mark 2.25 as Mitaka maxmium API version f6e4713 Add a hacking check for test method closures 07da1d8 Make Flavor.get operations prefer the API database 762605c xenapi: Fix when auto block_migration in the API 8e5188a xenapi: Fix up passing of sr_uuid_map 51819c6 Update to openSUSE versions. 38738d7 xenapi: Fix the live-migrate aggregate check f25648a Error on API Guide warnings 4d09155 Add Newton sanity check migration 10b50d5 Add placeholder migrations for Mitaka backports a970127 Update .gitreview for stable/mitaka 1969d89 Set RPC version aliases for Mitaka 2c1b197 Wait for device to be mapped b274a85 libvirt: Fix ssh driver to to prevent prompting def7105 Support-matrix of vmware for chap is wrong cde4be6 Imported Translations from Zanata b36da5d <VMWare> Allocate free bus for new SCSI controller 0264687 config options: centralize cinder options 1812987 Add os-brick rootwrap filter for privsep ae6d868 Fix retry mechanism for generator results a023c32 Replace deprecated LOG.warn with LOG.warning 2318323 libvirt: Allow use of live snapshots with RBD snapshot/clone b7cc9e3 Trivial: Use exact docstring for quota module 95ef7ac Replace deprecated LOG.warn with LOG.warning 0bb080b xenapi: Image cache cannot be disabled 54afe44 VMware: enable a resize of instance with no root disk 5546df0 Add functional test for OverQuota 99de5fd Translate OverLimit exceptions in Cinder calls 50f4f95 Add regression test for Cinder 403 forwarding c8472c8 VMware: use datacenter path to fetch image e3843d2 fixed log warning in sqlalchemy/api.py 4be8f84 pci: avoid parsing whitelist repeatedly a9716c8 Rework 'limited' and 'get_limit_and_marker' e2f4370 Soft delete instance group member when delete instance e930f00 VMware: Refactor the formatting instance metadata 1c3108d Remove sizelimit.py in favor of oslo_middleware.sizelimit 83574aa Add ppc64le architecture to some libvirt unit tests 54d2300 Remove duplicated oslo.log configuration setup 282a815 Don't use locals() and globals(), use a dict instead a572359 Style improvements 5c01141 test_fields: Remove all 'Enum' subclass tests db702ea Ironic: Use ironicclient native retries for connection errors 955ae42 VMware: Remove VMwareHTTPReadFile b5e3d21 add checking for new image metadata property 'hw_cpu_realtime_mask' 0cd0c1d Move logging outside of LibvirtConfigObject.to_xml 07ba58c Remove duplicate test case flavor_create Diffstat (except docs and test files) ------------------------------------- .gitignore | 5 +- .gitreview | 1 + .testr.conf | 10 + HACKING.rst | 9 +- README.rst | 66 +- api-guide/source/conf.py | 2 +- api-guide/source/faults.rst | 2 +- api-guide/source/general_info.rst | 5 +- api-guide/source/index.rst | 14 +- api-guide/source/limits.rst | 6 +- api-guide/source/links_and_references.rst | 8 +- api-guide/source/microversions.rst | 44 +- api-guide/source/paginated_collections.rst | 12 +- .../source/polling_changes-since_parameter.rst | 2 +- api-guide/source/request_and_response_formats.rst | 18 +- api-guide/source/server_concepts.rst | 251 +- api-guide/source/versions.rst | 2 +- api-ref/source/conf.py | 234 + api-ref/source/diagnostics.inc | 44 + api-ref/source/extensions.inc | 94 + api-ref/source/flavors.inc | 229 + api-ref/source/images.inc | 379 ++ api-ref/source/index.rst | 67 + api-ref/source/ips.inc | 83 + api-ref/source/limits.inc | 45 + api-ref/source/metadata.inc | 231 + api-ref/source/os-agents.inc | 166 + api-ref/source/os-aggregates.inc | 345 + api-ref/source/os-assisted-volume-snapshots.inc | 91 + api-ref/source/os-availability-zone.inc | 74 + api-ref/source/os-baremetal-nodes.inc | 87 + api-ref/source/os-cells.inc | 189 + api-ref/source/os-certificates.inc | 68 + api-ref/source/os-cloudpipe.inc | 109 + api-ref/source/os-consoles.inc | 182 + api-ref/source/os-fixed-ips.inc | 83 + api-ref/source/os-flavor-access.inc | 131 + api-ref/source/os-flavor-extra-specs.inc | 185 + api-ref/source/os-floating-ip-dns.inc | 203 + api-ref/source/os-floating-ip-pools.inc | 44 + api-ref/source/os-floating-ips-bulk.inc | 163 + api-ref/source/os-floating-ips.inc | 161 + api-ref/source/os-fping.inc | 108 + api-ref/source/os-hosts.inc | 211 + api-ref/source/os-hypervisors.inc | 330 + api-ref/source/os-instance-actions.inc | 107 + api-ref/source/os-instance-usage-audit-log.inc | 92 + api-ref/source/os-interface.inc | 169 + api-ref/source/os-keypairs.inc | 158 + api-ref/source/os-migrations.inc | 47 + api-ref/source/os-networks.inc | 319 + api-ref/source/os-quota-sets.inc | 258 + api-ref/source/os-security-group-default-rules.inc | 149 + api-ref/source/os-security-group-rules.inc | 104 + api-ref/source/os-security-groups.inc | 192 + api-ref/source/os-server-external-events.inc | 73 + api-ref/source/os-server-groups.inc | 149 + api-ref/source/os-server-password.inc | 82 + api-ref/source/os-server-tags.inc | 187 + api-ref/source/os-services.inc | 241 + api-ref/source/os-simple-tenant-usage.inc | 122 + api-ref/source/os-tenant-network.inc | 127 + api-ref/source/os-virtual-interfaces.inc | 46 + api-ref/source/os-volume-attachments.inc | 181 + api-ref/source/os-volumes.inc | 402 ++ api-ref/source/parameters.yaml | 4561 ++++++++++++++ api-ref/source/server-security-groups.inc | 43 + api-ref/source/servers-action-console-output.inc | 46 + api-ref/source/servers-action-crash-dump.inc | 51 + api-ref/source/servers-action-deferred-delete.inc | 76 + api-ref/source/servers-action-evacuate.inc | 52 + api-ref/source/servers-action-fixed-ip.inc | 75 + api-ref/source/servers-action-remote-consoles.inc | 152 + api-ref/source/servers-action-shelve.inc | 164 + api-ref/source/servers-actions.inc | 941 +++ api-ref/source/servers-admin-action.inc | 268 + api-ref/source/servers.inc | 773 +++ api-ref/source/urls.inc | 26 + api-ref/source/versions.inc | 109 + bindep.txt | 34 + devstack/tempest-dsvm-cells-rc | 73 +- devstack/tempest-dsvm-lvm-rc | 55 + .../all_extensions/extensions-list-resp-v2.json | 724 --- .../extensions-list-resp-v21-compatible.json | 804 --- .../all_extensions/extensions-list-resp.json | 796 --- .../all_extensions/flavor-get-resp.json | 24 - .../all_extensions/flavors-detail-resp.json | 114 - .../all_extensions/flavors-list-resp.json | 74 - .../server-action-confirm-resize.json | 3 - .../all_extensions/server-action-create-image.json | 8 - .../all_extensions/server-action-reboot.json | 5 - .../all_extensions/server-action-rebuild-resp.json | 56 - .../all_extensions/server-action-rebuild.json | 18 - .../all_extensions/server-action-resize.json | 5 - .../server-action-revert-resize.json | 3 - .../all_extensions/server-create-req.json | 10 - .../all_extensions/server-create-resp.json | 22 - .../all_extensions/server-get-resp.json | 74 - .../all_extensions/servers-details-resp.json | 76 - .../all_extensions/servers-list-resp.json | 18 - .../extension-info/extensions-get-resp-v2.json | 10 - .../extensions-list-resp-v21-compatible.json | 804 +++ .../extension-info/extensions-list-resp.json | 796 +++ .../flavor-access/flavor-access-create-resp.json | 23 - .../flavor-access/flavor-access-detail-resp.json | 109 - .../flavor-access/flavor-access-show-resp.json | 23 - ...cess-create-req.json => flavor-create-req.json} | 0 .../v2.7/flavor-access-add-tenant-req.json | 5 + .../flavor-access/v2.7/flavor-create-req.json | 10 + .../flavor-manage/flavor-create-post-req.json | 3 +- .../flavor-manage/flavor-create-post-resp.json | 1 + .../keypairs/v2.35/keypairs-list-resp.json | 18 + .../keypairs/v2.35/keypairs-list-user1-resp.json | 12 + .../keypairs/v2.35/keypairs-list-user2-resp.json | 18 + .../keypairs/v2.35/keypairs-post-req.json | 7 + .../keypairs/v2.35/keypairs-post-resp.json | 10 + .../os-access-ips/server-action-rebuild-resp.json | 55 - .../os-access-ips/server-action-rebuild.json | 11 - .../os-access-ips/server-post-resp.json | 16 - .../os-access-ips/servers-details-resp.json | 59 - .../os-aggregates/aggregates-list-get-resp.json | 2 +- .../snapshot-create-assisted-req.json | 3 +- .../snapshot-create-assisted-resp.json | 2 +- .../attach-interfaces-create-net_id-req.json | 10 + .../availability-zone-post-resp.json | 6 + .../server-config-drive-get-resp.json | 58 - .../os-config-drive/server-post-req.json | 12 - .../os-config-drive/server-post-resp.json | 16 - .../servers-config-drive-details-resp.json | 60 - .../os-disk-config/list-servers-detail-get.json | 60 - .../os-disk-config/server-action-rebuild-req.json | 6 - .../os-disk-config/server-action-rebuild-resp.json | 56 - .../os-disk-config/server-get-resp.json | 58 - .../os-disk-config/server-post-req.json | 10 - .../os-disk-config/server-post-resp.json | 17 - .../os-disk-config/server-resize-post-req.json | 6 - .../os-evacuate/v2.29/server-evacuate-req.json | 7 + .../server-get-resp.json | 58 - .../servers-detail-resp.json | 60 - .../server-get-resp.json | 60 - .../server-post-resp.json | 16 - .../servers-detail-resp.json | 62 - .../v2.16/server-get-resp.json | 69 - .../v2.16/servers-detail-resp.json | 71 - .../v2.3/server-get-resp.json | 65 - .../v2.3/servers-detail-resp.json | 67 - .../os-extended-status/server-get-resp.json | 60 - .../os-extended-status/servers-detail-resp.json | 62 - .../os-extended-volumes/server-get-resp.json | 65 - .../os-extended-volumes/servers-detail-resp.json | 67 - .../os-extended-volumes/v2.3/server-get-resp.json | 65 - .../v2.3/servers-detail-resp.json | 67 - .../os-flavor-rxtx/flavor-rxtx-get-resp.json | 24 - .../os-flavor-rxtx/flavor-rxtx-list-resp.json | 114 - .../os-flavor-rxtx/flavor-rxtx-post-req.json | 10 - .../os-flavor-rxtx/flavor-rxtx-post-resp.json | 24 - .../os-hide-server-addresses/server-get-resp.json | 20 + .../servers-details-resp.json | 20 + .../v2.28/hypervisors-detail-resp.json | 43 + .../v2.28/hypervisors-list-resp.json | 10 + .../v2.28/hypervisors-search-resp.json | 10 + .../v2.28/hypervisors-show-resp.json | 41 + .../v2.28/hypervisors-statistics-resp.json | 16 + .../v2.28/hypervisors-uptime-resp.json | 9 + .../v2.28/hypervisors-with-servers-resp.json | 20 + .../v2.28/hypervisors-without-servers-resp.json | 10 + .../v2.33/hypervisors-detail-resp.json | 49 + .../v2.33/hypervisors-list-resp.json | 16 + .../inst-usage-audit-log-index-get-resp.json | 39 +- .../inst-usage-audit-log-show-get-resp.json | 35 +- .../v2.30/live-migrate-server.json | 7 + .../multiple-create-no-resv-post-resp.json | 6 + .../os-networks/networks-disassociate-req.json | 3 - .../os-networks/networks-list-resp.json | 2 +- .../os-personality/server-action-rebuild-req.json | 17 - .../os-personality/server-action-rebuild-resp.json | 55 - .../os-personality/server-post-req.json | 16 - .../os-personality/server-post-resp.json | 16 - ...ver-action-rebuild-preserve-ephemeral-resp.json | 1 + .../os-quota-sets/quotas-show-detail-get-resp.json | 75 + .../os-rescue/server-get-resp-rescue.json | 19 +- .../os-rescue/server-get-resp-unrescue.json | 20 +- .../scheduler-hints-post-req.json | 10 - .../scheduler-hints-post-resp.json | 16 - .../os-security-groups/server-get-resp.json | 62 - .../os-security-groups/server-post-req.json | 13 - .../os-security-groups/server-post-resp.json | 21 - .../os-security-groups/servers-detail-resp.json | 64 - .../v2.26/server-tags-index-resp.json | 3 + .../v2.26/server-tags-put-all-req.json | 3 + .../v2.26/server-tags-put-all-resp.json | 3 + .../v2.26/server-tags-show-details-resp.json | 86 + .../v2.26/servers-tags-details-resp.json | 88 + .../os-server-usage/server-get-resp.json | 59 - .../os-server-usage/servers-detail-resp.json | 61 - .../simple-tenant-usage-get-detail.json | 29 + .../os-used-limits/usedlimits-get-resp.json | 26 - .../os-used-limits/v2-usedlimits-get-resp.json | 93 - .../os-user-data/userdata-post-req.json | 11 - .../os-user-data/userdata-post-resp.json | 16 - .../servers/server-action-rebuild-resp.json | 1 + .../servers/server-create-req-v237.json | 30 + .../servers/v2.16/servers-details-resp.json | 50 +- .../servers/v2.16/servers-list-resp.json | 18 + .../servers/v2.19/server-action-rebuild-resp.json | 1 + .../servers/v2.19/server-create-req.json | 13 + .../servers/v2.19/server-create-resp.json | 22 + .../servers/v2.19/server-post-resp.json | 16 - .../servers/v2.19/servers-details-resp.json | 34 + .../servers/v2.3/servers-details-resp.json | 92 + .../servers/v2.3/servers-list-resp.json | 18 + .../servers/v2.32/server-create-req.json | 18 + .../servers/v2.32/server-create-resp.json | 22 + .../servers/v2.37/server-create-req.json | 8 + .../servers/v2.37/server-create-resp.json | 22 + .../servers/v2.9/servers-details-resp.json | 33 + .../instance-delete-start.json | 62 + .../instance-power_on-end.json | 62 + .../instance-power_on-start.json | 62 + .../instance-resize-start.json | 62 + .../instance-restore-start.json | 62 + .../instance-shelve-start.json | 62 + .../instance-suspend-start.json | 62 + etc/nova/README-nova.conf.txt | 10 +- etc/nova/api-paste.ini | 35 +- etc/nova/nova-config-generator.conf | 11 +- etc/nova/nova-policy-generator.conf | 3 + etc/nova/policy.json | 489 -- etc/nova/rootwrap.d/compute.filters | 12 +- nova/api/auth.py | 88 +- nova/api/ec2/__init__.py | 85 - nova/api/metadata/base.py | 220 +- nova/api/metadata/handler.py | 36 +- nova/api/metadata/vendordata.py | 30 + nova/api/metadata/vendordata_dynamic.py | 122 + nova/api/metadata/vendordata_json.py | 16 +- nova/api/openstack/__init__.py | 211 +- nova/api/openstack/api_version_request.py | 32 +- nova/api/openstack/auth.py | 5 +- nova/api/openstack/common.py | 46 +- nova/api/openstack/compute/__init__.py | 125 +- nova/api/openstack/compute/access_ips.py | 105 - nova/api/openstack/compute/admin_actions.py | 11 +- nova/api/openstack/compute/admin_password.py | 18 +- nova/api/openstack/compute/agents.py | 10 +- nova/api/openstack/compute/aggregates.py | 25 +- .../openstack/compute/assisted_volume_snapshots.py | 15 +- nova/api/openstack/compute/attach_interfaces.py | 22 +- nova/api/openstack/compute/availability_zone.py | 6 +- nova/api/openstack/compute/baremetal_nodes.py | 39 +- nova/api/openstack/compute/block_device_mapping.py | 5 +- nova/api/openstack/compute/cells.py | 23 +- nova/api/openstack/compute/certificates.py | 6 +- nova/api/openstack/compute/cloudpipe.py | 24 +- nova/api/openstack/compute/config_drive.py | 7 +- nova/api/openstack/compute/console_auth_tokens.py | 21 +- nova/api/openstack/compute/console_output.py | 6 +- nova/api/openstack/compute/consoles.py | 10 +- nova/api/openstack/compute/create_backup.py | 6 +- nova/api/openstack/compute/deferred_delete.py | 12 +- nova/api/openstack/compute/disk_config.py | 154 - nova/api/openstack/compute/evacuate.py | 28 +- .../compute/extended_availability_zone.py | 6 +- .../compute/extended_server_attributes.py | 43 +- nova/api/openstack/compute/extended_status.py | 9 +- nova/api/openstack/compute/extended_volumes.py | 9 +- nova/api/openstack/compute/extension_info.py | 159 +- nova/api/openstack/compute/fixed_ips.py | 13 +- nova/api/openstack/compute/flavor_access.py | 20 +- nova/api/openstack/compute/flavor_manage.py | 23 +- nova/api/openstack/compute/flavor_rxtx.py | 8 +- nova/api/openstack/compute/flavors_extraspecs.py | 16 +- nova/api/openstack/compute/floating_ip_dns.py | 31 +- nova/api/openstack/compute/floating_ip_pools.py | 9 +- nova/api/openstack/compute/floating_ips.py | 59 +- nova/api/openstack/compute/floating_ips_bulk.py | 22 +- nova/api/openstack/compute/fping.py | 23 +- nova/api/openstack/compute/helpers.py | 116 + .../api/openstack/compute/hide_server_addresses.py | 20 +- nova/api/openstack/compute/hosts.py | 24 +- nova/api/openstack/compute/hypervisors.py | 122 +- nova/api/openstack/compute/image_metadata.py | 6 +- nova/api/openstack/compute/image_size.py | 7 +- nova/api/openstack/compute/images.py | 6 + nova/api/openstack/compute/instance_actions.py | 9 +- .../openstack/compute/instance_usage_audit_log.py | 14 +- nova/api/openstack/compute/ips.py | 8 +- nova/api/openstack/compute/keypairs.py | 78 +- nova/api/openstack/compute/legacy_v2/consoles.py | 92 - .../compute/legacy_v2/contrib/__init__.py | 49 - .../compute/legacy_v2/contrib/admin_actions.py | 403 -- .../openstack/compute/legacy_v2/contrib/agents.py | 193 - .../compute/legacy_v2/contrib/aggregates.py | 308 - .../legacy_v2/contrib/assisted_volume_snapshots.py | 97 - .../compute/legacy_v2/contrib/attach_interfaces.py | 211 - .../compute/legacy_v2/contrib/availability_zone.py | 144 - .../legacy_v2/contrib/baremetal_ext_status.py | 25 - .../compute/legacy_v2/contrib/baremetal_nodes.py | 178 - .../contrib/block_device_mapping_v2_boot.py | 23 - .../compute/legacy_v2/contrib/cell_capacities.py | 25 - .../openstack/compute/legacy_v2/contrib/cells.py | 370 -- .../compute/legacy_v2/contrib/certificates.py | 79 - .../compute/legacy_v2/contrib/cloudpipe.py | 161 - .../compute/legacy_v2/contrib/cloudpipe_update.py | 74 - .../compute/legacy_v2/contrib/config_drive.py | 64 - .../legacy_v2/contrib/console_auth_tokens.py | 68 - .../compute/legacy_v2/contrib/console_output.py | 95 - .../compute/legacy_v2/contrib/consoles.py | 157 - .../compute/legacy_v2/contrib/createserverext.py | 30 - .../compute/legacy_v2/contrib/deferred_delete.py | 77 - .../compute/legacy_v2/contrib/disk_config.py | 151 - .../compute/legacy_v2/contrib/evacuate.py | 120 - .../contrib/extended_availability_zone.py | 62 - .../contrib/extended_evacuate_find_host.py | 26 - .../legacy_v2/contrib/extended_floating_ips.py | 25 - .../legacy_v2/contrib/extended_hypervisors.py | 25 - .../compute/legacy_v2/contrib/extended_ips.py | 78 - .../compute/legacy_v2/contrib/extended_ips_mac.py | 76 - .../compute/legacy_v2/contrib/extended_networks.py | 26 - .../compute/legacy_v2/contrib/extended_quotas.py | 28 - .../contrib/extended_rescue_with_image.py | 25 - .../contrib/extended_server_attributes.py | 71 - .../compute/legacy_v2/contrib/extended_services.py | 23 - .../legacy_v2/contrib/extended_services_delete.py | 23 - .../compute/legacy_v2/contrib/extended_status.py | 66 - .../contrib/extended_virtual_interfaces_net.py | 53 - .../compute/legacy_v2/contrib/extended_volumes.py | 78 - .../compute/legacy_v2/contrib/fixed_ips.py | 99 - .../compute/legacy_v2/contrib/flavor_access.py | 177 - .../compute/legacy_v2/contrib/flavor_disabled.py | 64 - .../compute/legacy_v2/contrib/flavor_rxtx.py | 64 - .../compute/legacy_v2/contrib/flavor_swap.py | 64 - .../compute/legacy_v2/contrib/flavorextradata.py | 72 - .../compute/legacy_v2/contrib/flavorextraspecs.py | 166 - .../compute/legacy_v2/contrib/flavormanage.py | 112 - .../compute/legacy_v2/contrib/floating_ip_dns.py | 280 - .../compute/legacy_v2/contrib/floating_ip_pools.py | 67 - .../compute/legacy_v2/contrib/floating_ips.py | 314 - .../compute/legacy_v2/contrib/floating_ips_bulk.py | 173 - .../openstack/compute/legacy_v2/contrib/fping.py | 153 - .../legacy_v2/contrib/hide_server_addresses.py | 82 - .../openstack/compute/legacy_v2/contrib/hosts.py | 335 - .../compute/legacy_v2/contrib/hypervisor_status.py | 25 - .../compute/legacy_v2/contrib/hypervisors.py | 230 - .../compute/legacy_v2/contrib/image_size.py | 62 - .../compute/legacy_v2/contrib/instance_actions.py | 95 - .../legacy_v2/contrib/instance_usage_audit_log.py | 140 - .../compute/legacy_v2/contrib/keypairs.py | 181 - .../compute/legacy_v2/contrib/migrations.py | 80 - .../compute/legacy_v2/contrib/multinic.py | 97 - .../compute/legacy_v2/contrib/multiple_create.py | 25 - .../legacy_v2/contrib/networks_associate.py | 106 - .../compute/legacy_v2/contrib/os_networks.py | 231 - .../legacy_v2/contrib/os_tenant_networks.py | 232 - .../contrib/preserve_ephemeral_rebuild.py | 23 - .../compute/legacy_v2/contrib/quota_classes.py | 139 - .../openstack/compute/legacy_v2/contrib/quotas.py | 272 - .../openstack/compute/legacy_v2/contrib/rescue.py | 98 - .../compute/legacy_v2/contrib/scheduler_hints.py | 63 - .../contrib/security_group_default_rules.py | 150 - .../compute/legacy_v2/contrib/security_groups.py | 506 -- .../legacy_v2/contrib/server_diagnostics.py | 63 - .../legacy_v2/contrib/server_external_events.py | 149 - .../legacy_v2/contrib/server_group_quotas.py | 50 - .../compute/legacy_v2/contrib/server_groups.py | 243 - .../legacy_v2/contrib/server_list_multi_status.py | 25 - .../compute/legacy_v2/contrib/server_password.py | 70 - .../compute/legacy_v2/contrib/server_sort_keys.py | 25 - .../compute/legacy_v2/contrib/server_start_stop.py | 84 - .../compute/legacy_v2/contrib/server_usage.py | 71 - .../compute/legacy_v2/contrib/services.py | 199 - .../openstack/compute/legacy_v2/contrib/shelve.py | 100 - .../legacy_v2/contrib/simple_tenant_usage.py | 284 - .../compute/legacy_v2/contrib/used_limits.py | 93 - .../legacy_v2/contrib/used_limits_for_admin.py | 25 - .../compute/legacy_v2/contrib/user_data.py | 25 - .../compute/legacy_v2/contrib/user_quotas.py | 26 - .../legacy_v2/contrib/virtual_interfaces.py | 87 - .../legacy_v2/contrib/volume_attachment_update.py | 26 - .../openstack/compute/legacy_v2/contrib/volumes.py | 613 -- nova/api/openstack/compute/legacy_v2/extensions.py | 49 - nova/api/openstack/compute/legacy_v2/flavors.py | 112 - .../openstack/compute/legacy_v2/image_metadata.py | 126 - nova/api/openstack/compute/legacy_v2/images.py | 150 - nova/api/openstack/compute/legacy_v2/ips.py | 52 - nova/api/openstack/compute/legacy_v2/limits.py | 457 -- .../openstack/compute/legacy_v2/server_metadata.py | 189 - nova/api/openstack/compute/legacy_v2/servers.py | 1171 ---- nova/api/openstack/compute/legacy_v2/versions.py | 28 - nova/api/openstack/compute/limits.py | 28 +- nova/api/openstack/compute/lock_server.py | 15 +- nova/api/openstack/compute/migrate_server.py | 43 +- nova/api/openstack/compute/migrations.py | 7 +- nova/api/openstack/compute/multinic.py | 8 +- nova/api/openstack/compute/networks.py | 27 +- nova/api/openstack/compute/networks_associate.py | 16 +- nova/api/openstack/compute/pause_server.py | 11 +- nova/api/openstack/compute/pci.py | 13 +- nova/api/openstack/compute/personality.py | 64 - .../compute/preserve_ephemeral_rebuild.py | 44 - nova/api/openstack/compute/quota_classes.py | 8 +- nova/api/openstack/compute/quota_sets.py | 97 +- nova/api/openstack/compute/remote_consoles.py | 14 +- nova/api/openstack/compute/rescue.py | 21 +- nova/api/openstack/compute/schemas/access_ips.py | 24 - .../compute/schemas/assisted_volume_snapshots.py | 6 +- .../compute/schemas/block_device_mapping.py | 20 +- .../compute/schemas/block_device_mapping_v1.py | 2 +- nova/api/openstack/compute/schemas/cells.py | 2 +- nova/api/openstack/compute/schemas/disk_config.py | 20 - nova/api/openstack/compute/schemas/evacuate.py | 4 + .../api/openstack/compute/schemas/flavor_manage.py | 14 +- .../openstack/compute/schemas/migrate_server.py | 4 + nova/api/openstack/compute/schemas/personality.py | 30 - .../compute/schemas/preserve_ephemeral_rebuild.py | 21 - nova/api/openstack/compute/schemas/quota_sets.py | 11 + nova/api/openstack/compute/schemas/rescue.py | 2 +- nova/api/openstack/compute/schemas/server_tags.py | 43 + nova/api/openstack/compute/schemas/servers.py | 56 +- nova/api/openstack/compute/schemas/user_data.py | 10 + .../compute/security_group_default_rules.py | 22 +- nova/api/openstack/compute/security_groups.py | 44 +- nova/api/openstack/compute/server_diagnostics.py | 10 +- .../openstack/compute/server_external_events.py | 4 +- nova/api/openstack/compute/server_groups.py | 6 +- nova/api/openstack/compute/server_metadata.py | 24 +- nova/api/openstack/compute/server_migrations.py | 12 +- nova/api/openstack/compute/server_password.py | 8 +- nova/api/openstack/compute/server_tags.py | 223 + nova/api/openstack/compute/server_usage.py | 6 +- nova/api/openstack/compute/servers.py | 479 +- nova/api/openstack/compute/services.py | 19 +- nova/api/openstack/compute/shelve.py | 12 +- nova/api/openstack/compute/simple_tenant_usage.py | 14 +- nova/api/openstack/compute/suspend_server.py | 12 +- nova/api/openstack/compute/tenant_networks.py | 46 +- nova/api/openstack/compute/used_limits.py | 33 +- nova/api/openstack/compute/user_data.py | 2 + nova/api/openstack/compute/versions.py | 3 - nova/api/openstack/compute/views/hypervisors.py | 26 + nova/api/openstack/compute/views/images.py | 8 + nova/api/openstack/compute/views/keypairs.py | 25 + nova/api/openstack/compute/views/limits.py | 60 +- nova/api/openstack/compute/views/server_tags.py | 30 + nova/api/openstack/compute/views/servers.py | 89 +- nova/api/openstack/compute/virtual_interfaces.py | 8 +- nova/api/openstack/compute/volumes.py | 75 +- nova/api/openstack/extensions.py | 150 +- .../{compute/legacy_v2 => placement}/__init__.py | 0 nova/api/openstack/placement/auth.py | 79 + nova/api/openstack/placement/deploy.py | 66 + nova/api/openstack/placement/handler.py | 183 + .../openstack/placement/handlers}/__init__.py | 0 .../api/openstack/placement/handlers/allocation.py | 299 + nova/api/openstack/placement/handlers/inventory.py | 419 ++ .../placement/handlers/resource_provider.py | 248 + nova/api/openstack/placement/handlers/root.py | 36 + nova/api/openstack/placement/handlers/usage.py | 55 + nova/api/openstack/placement/microversion.py | 156 + nova/api/openstack/placement/requestlog.py | 82 + nova/api/openstack/placement/util.py | 143 + nova/api/openstack/placement/wsgi.py | 65 + nova/api/openstack/rest_api_version_history.rst | 201 +- nova/api/openstack/wsgi.py | 223 +- nova/api/opts.py | 140 - nova/api/sizelimit.py | 24 - nova/api/validation/parameter_types.py | 58 +- nova/api/validation/validators.py | 6 + nova/api/validator.py | 120 - nova/baserpc.py | 8 +- nova/block_device.py | 2 +- nova/cache_utils.py | 82 +- nova/cells/filters/__init__.py | 5 +- nova/cells/manager.py | 6 +- nova/cells/messaging.py | 2 +- nova/cells/opts.py | 4 - nova/cells/rpcapi.py | 15 +- nova/cells/scheduler.py | 7 + nova/cells/state.py | 12 +- nova/cert/rpcapi.py | 3 +- nova/cloudpipe/pipelib.py | 65 +- nova/cmd/all.py | 7 +- nova/cmd/api.py | 32 +- nova/cmd/api_metadata.py | 1 - nova/cmd/api_os_compute.py | 10 +- nova/cmd/baseproxy.py | 16 +- nova/cmd/cells.py | 2 +- nova/cmd/cert.py | 7 + nova/cmd/common.py | 161 + nova/cmd/compute.py | 26 +- nova/cmd/console.py | 1 - nova/cmd/consoleauth.py | 6 +- nova/cmd/dhcpbridge.py | 31 +- nova/cmd/idmapshift.py | 3 +- nova/cmd/manage.py | 750 +-- nova/cmd/network.py | 25 +- nova/cmd/novnc.py | 41 - nova/cmd/novncproxy.py | 2 + nova/cmd/policy_check.py | 174 + nova/cmd/spicehtml5proxy.py | 19 +- nova/compute/api.py | 1042 ++-- nova/compute/cells_api.py | 48 +- nova/compute/claims.py | 89 +- nova/compute/flavors.py | 41 +- nova/compute/manager.py | 727 ++- nova/compute/monitors/__init__.py | 25 +- nova/compute/monitors/base.py | 29 +- nova/compute/monitors/cpu/virt_driver.py | 12 +- nova/compute/opts.py | 42 - nova/compute/power_state.py | 27 +- nova/compute/resource_tracker.py | 338 +- nova/compute/resources/__init__.py | 142 - nova/compute/resources/base.py | 93 - nova/compute/rpcapi.py | 396 +- nova/compute/task_states.py | 88 +- nova/compute/utils.py | 113 +- nova/compute/vm_states.py | 68 +- nova/conductor/api.py | 36 +- nova/conductor/manager.py | 165 +- nova/conductor/rpcapi.py | 22 +- nova/conductor/tasks/live_migrate.py | 37 +- nova/conductor/tasks/migrate.py | 54 +- nova/conf/__init__.py | 175 +- nova/conf/api.py | 356 ++ nova/conf/availability_zone.py | 43 +- nova/conf/base.py | 101 + nova/conf/cache.py | 26 + nova/conf/cells.py | 334 +- nova/conf/cert.py | 54 +- nova/conf/cinder.py | 104 + nova/conf/cloudpipe.py | 121 + nova/conf/compute.py | 716 ++- nova/conf/conductor.py | 96 +- nova/conf/configdrive.py | 111 + nova/conf/console.py | 83 + nova/conf/consoleauth.py | 54 + nova/conf/crypto.py | 111 + nova/conf/database.py | 200 + nova/conf/ephemeral_storage.py | 40 +- nova/conf/exceptions.py | 39 + nova/conf/flavors.py | 37 + nova/conf/floating_ips.py | 97 + nova/conf/glance.py | 91 + nova/conf/guestfs.py | 56 + nova/conf/hyperv.py | 334 + nova/conf/image_file_url.py | 81 + nova/conf/ipv6.py | 45 + nova/conf/ironic.py | 154 +- nova/conf/key_manager.py | 97 + nova/conf/libvirt.py | 828 +++ nova/conf/mks.py | 60 + nova/conf/netconf.py | 80 + nova/conf/network.py | 774 +++ nova/conf/neutron.py | 122 + nova/conf/notifications.py | 77 + nova/conf/novnc.py | 56 + nova/conf/osapi_v21.py | 88 + nova/conf/paths.py | 97 + nova/conf/pci.py | 73 +- nova/conf/placement.py | 50 + nova/conf/quota.py | 252 + nova/conf/rdp.py | 93 + nova/conf/remote_debug.py | 70 + nova/conf/rpc.py | 56 + nova/conf/s3.py | 73 + nova/conf/scheduler.py | 167 +- nova/conf/serial_console.py | 26 +- nova/conf/service.py | 105 + nova/conf/servicegroup.py | 50 + nova/conf/spice.py | 109 + nova/conf/ssl.py | 24 + nova/conf/upgrade_levels.py | 165 + nova/conf/virt.py | 338 +- nova/conf/vmware.py | 291 + nova/conf/vnc.py | 315 +- nova/conf/workarounds.py | 136 + nova/conf/wsgi.py | 252 +- nova/conf/xenserver.py | 535 ++ nova/conf/xvp.py | 63 + nova/config.py | 38 +- nova/console/api.py | 9 +- nova/console/fake.py | 4 +- nova/console/manager.py | 39 +- nova/console/rpcapi.py | 18 +- nova/console/serial.py | 15 +- nova/console/websocketproxy.py | 11 +- nova/console/xvp.py | 45 +- nova/consoleauth/__init__.py | 10 - nova/consoleauth/manager.py | 24 +- nova/consoleauth/rpcapi.py | 11 +- nova/context.py | 153 +- nova/crypto.py | 84 +- nova/db/api.py | 137 +- nova/db/base.py | 14 +- nova/db/migration.py | 8 +- nova/db/sqlalchemy/api.py | 738 +-- .../migrate_repo/versions/001_cell_mapping.py | 7 +- .../migrate_repo/versions/002_instance_mapping.py | 7 +- .../migrate_repo/versions/003_host_mapping.py | 7 +- .../migrate_repo/versions/004_add_request_spec.py | 7 +- .../migrate_repo/versions/005_flavors.py | 8 +- .../migrate_repo/versions/008_placeholder.py | 23 + .../migrate_repo/versions/009_placeholder.py | 23 + .../migrate_repo/versions/010_placeholder.py | 23 + .../migrate_repo/versions/011_placeholder.py | 23 + .../migrate_repo/versions/012_placeholder.py | 23 + .../versions/013_build_request_extended_attrs.py | 52 + .../migrate_repo/versions/014_keypairs.py | 48 + .../versions/015_build_request_nullable_columns.py | 48 + .../versions/016_resource_providers.py | 110 + .../migrate_repo/versions/017_aggregates.py | 73 + .../migrate_repo/versions/018_instance_groups.py | 71 + .../019_build_request_add_block_device_mapping.py | 26 + .../020_block_device_mappings_mediumtext.py | 24 + nova/db/sqlalchemy/api_models.py | 283 +- .../sqlalchemy/migrate_repo/versions/216_havana.py | 128 +- .../migrate_repo/versions/247_nullable_mismatch.py | 11 +- .../versions/252_add_instance_extra_table.py | 6 +- .../versions/267_instance_uuid_non_nullable.py | 3 - .../versions/271_sqlite_postgresql_indexes.py | 2 +- .../versions/296_add_missing_db2_fkeys.py | 80 +- .../versions/314_add_resource_provider_tables.py | 7 +- .../318_resource_provider_name_aggregates.py | 17 +- .../migrate_repo/versions/320_placeholder.py | 23 + .../migrate_repo/versions/321_placeholder.py | 23 + .../migrate_repo/versions/322_placeholder.py | 23 + .../migrate_repo/versions/323_placeholder.py | 23 + .../migrate_repo/versions/324_placeholder.py | 23 + .../migrate_repo/versions/325_placeholder.py | 23 + .../migrate_repo/versions/326_placeholder.py | 23 + .../migrate_repo/versions/327_placeholder.py | 23 + .../migrate_repo/versions/328_placeholder.py | 23 + .../migrate_repo/versions/329_placeholder.py | 23 + .../330_enforce_mitaka_online_migrations.py | 47 + .../versions/331_add_tag_to_vifs_and_bdm.py | 47 + .../migrate_repo/versions/332_keypair_in_extra.py | 28 + .../versions/333_add_console_auth_tokens_table.py | 50 + .../versions/334_device_metadata_in_extra.py | 28 + nova/db/sqlalchemy/migration.py | 36 +- nova/db/sqlalchemy/models.py | 66 +- nova/debugger.py | 31 +- nova/exception.py | 254 +- nova/exception_wrapper.py | 94 + nova/hacking/checks.py | 228 +- nova/hash_ring.py | 134 + nova/image/download/file.py | 33 +- nova/image/glance.py | 629 +- nova/image/s3.py | 37 +- nova/ipv6/account_identifier.py | 24 +- nova/ipv6/api.py | 9 +- nova/ipv6/rfc2462.py | 14 +- nova/keymgr/__init__.py | 62 +- nova/keymgr/barbican.py | 357 -- nova/keymgr/conf_key_mgr.py | 100 +- nova/keymgr/key.py | 90 - nova/keymgr/key_mgr.py | 102 - nova/keymgr/mock_key_mgr.py | 131 - nova/keymgr/not_implemented_key_mgr.py | 41 - nova/keymgr/single_key_mgr.py | 72 - nova/locale/cs/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/cs/LC_MESSAGES/nova-log-error.po | 143 +- nova/locale/cs/LC_MESSAGES/nova-log-info.po | 77 +- nova/locale/cs/LC_MESSAGES/nova-log-warning.po | 153 +- nova/locale/cs/LC_MESSAGES/nova.po | 779 +-- nova/locale/de/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/de/LC_MESSAGES/nova-log-error.po | 134 +- nova/locale/de/LC_MESSAGES/nova-log-info.po | 78 +- nova/locale/de/LC_MESSAGES/nova.po | 1152 ++-- nova/locale/es/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/es/LC_MESSAGES/nova-log-error.po | 131 +- nova/locale/es/LC_MESSAGES/nova-log-info.po | 75 +- nova/locale/es/LC_MESSAGES/nova-log-warning.po | 90 +- nova/locale/es/LC_MESSAGES/nova.po | 1383 ++--- nova/locale/es_MX/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/fr/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/fr/LC_MESSAGES/nova-log-error.po | 140 +- nova/locale/fr/LC_MESSAGES/nova-log-info.po | 68 +- nova/locale/fr/LC_MESSAGES/nova-log-warning.po | 86 +- nova/locale/fr/LC_MESSAGES/nova.po | 1226 ++-- nova/locale/it/LC_MESSAGES/nova-log-error.po | 93 +- nova/locale/it/LC_MESSAGES/nova-log-info.po | 63 +- nova/locale/it/LC_MESSAGES/nova.po | 1370 ++-- nova/locale/ja/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/ja/LC_MESSAGES/nova.po | 1910 +++--- nova/locale/ko_KR/LC_MESSAGES/nova-log-critical.po | 19 + nova/locale/ko_KR/LC_MESSAGES/nova-log-error.po | 1156 ++++ nova/locale/ko_KR/LC_MESSAGES/nova-log-info.po | 1195 ++++ nova/locale/ko_KR/LC_MESSAGES/nova-log-warning.po | 1667 +++++ nova/locale/ko_KR/LC_MESSAGES/nova.po | 1309 ++-- nova/locale/nova-log-critical.pot | 24 - nova/locale/nova-log-error.pot | 1541 ----- nova/locale/nova-log-info.pot | 1458 ----- nova/locale/nova-log-warning.pot | 1987 ------ nova/locale/nova.pot | 6560 -------------------- nova/locale/pa_IN/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/pt_BR/LC_MESSAGES/nova-log-critical.po | 19 + nova/locale/pt_BR/LC_MESSAGES/nova-log-error.po | 1187 ++++ nova/locale/pt_BR/LC_MESSAGES/nova-log-info.po | 1246 ++++ nova/locale/pt_BR/LC_MESSAGES/nova.po | 1222 ++-- nova/locale/ru/LC_MESSAGES/nova.po | 1341 ++-- nova/locale/tr_TR/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/tr_TR/LC_MESSAGES/nova-log-error.po | 130 +- nova/locale/tr_TR/LC_MESSAGES/nova-log-info.po | 72 +- nova/locale/tr_TR/LC_MESSAGES/nova-log-warning.po | 84 +- nova/locale/tr_TR/LC_MESSAGES/nova.po | 740 +-- nova/locale/zh_CN/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/zh_CN/LC_MESSAGES/nova-log-error.po | 139 +- nova/locale/zh_CN/LC_MESSAGES/nova-log-info.po | 73 +- nova/locale/zh_CN/LC_MESSAGES/nova-log-warning.po | 126 +- nova/locale/zh_CN/LC_MESSAGES/nova.po | 814 +-- nova/locale/zh_TW/LC_MESSAGES/nova-log-critical.po | 8 +- nova/locale/zh_TW/LC_MESSAGES/nova.po | 787 +-- nova/manager.py | 5 +- nova/mks/__init__.py | 31 - nova/netconf.py | 45 - nova/network/__init__.py | 51 +- nova/network/api.py | 112 +- nova/network/base_api.py | 6 +- nova/network/driver.py | 10 +- nova/network/floating_ips.py | 34 +- nova/network/ldapdns.py | 44 +- nova/network/linux_net.py | 155 +- nova/network/manager.py | 174 +- nova/network/model.py | 12 +- nova/network/neutronv2/api.py | 1154 +++- nova/network/neutronv2/constants.py | 1 + nova/network/opts.py | 44 - nova/network/os_vif_util.py | 379 ++ nova/network/rpcapi.py | 34 +- nova/network/security_group/neutron_driver.py | 6 +- nova/network/security_group/openstack_driver.py | 33 +- nova/network/security_group/security_group_base.py | 7 +- nova/notifications.py | 465 -- nova/notifications/__init__.py | 27 + nova/notifications/base.py | 504 ++ .../common => notifications/objects}/__init__.py | 0 nova/notifications/objects/base.py | 171 + nova/notifications/objects/exception.py | 52 + nova/notifications/objects/instance.py | 270 + nova/notifications/objects/service.py | 63 + nova/objects/__init__.py | 2 +- nova/objects/aggregate.py | 425 +- nova/objects/bandwidth_usage.py | 8 +- nova/objects/base.py | 21 + nova/objects/block_device.py | 10 +- nova/objects/build_request.py | 359 +- nova/objects/cell_mapping.py | 22 + nova/objects/compute_node.py | 152 +- nova/objects/ec2.py | 6 +- nova/objects/fields.py | 550 +- nova/objects/flavor.py | 529 +- nova/objects/floating_ip.py | 13 + nova/objects/host_mapping.py | 37 +- nova/objects/image_meta.py | 32 +- nova/objects/instance.py | 253 +- nova/objects/instance_group.py | 353 +- nova/objects/instance_info_cache.py | 11 +- nova/objects/instance_mapping.py | 53 +- nova/objects/instance_numa_topology.py | 15 - nova/objects/instance_pci_requests.py | 22 +- nova/objects/keypair.py | 206 +- nova/objects/migrate_data.py | 39 +- nova/objects/migration_context.py | 35 +- nova/objects/monitor_metric.py | 2 +- nova/objects/network.py | 22 +- nova/objects/network_request.py | 51 +- nova/objects/notification.py | 150 - nova/objects/numa.py | 35 +- nova/objects/pci_device.py | 85 +- nova/objects/request_spec.py | 149 +- nova/objects/resource_provider.py | 789 ++- nova/objects/security_group.py | 6 +- nova/objects/service.py | 144 +- nova/objects/tag.py | 2 + nova/objects/virt_device_metadata.py | 118 + nova/objects/virtual_interface.py | 41 +- nova/openstack/common/README | 16 - nova/openstack/common/_i18n.py | 45 - nova/openstack/common/cliutils.py | 272 - nova/opts.py | 109 - nova/paths.py | 67 - nova/pci/devspec.py | 33 +- nova/pci/manager.py | 124 +- nova/pci/request.py | 7 + nova/pci/stats.py | 25 +- nova/pci/utils.py | 39 +- nova/policies/__init__.py | 192 + nova/policies/admin_actions.py | 45 + nova/policies/admin_password.py | 36 + nova/policies/agents.py | 36 + nova/policies/aggregates.py | 56 + nova/policies/assisted_volume_snapshots.py | 38 + nova/policies/attach_interfaces.py | 44 + nova/policies/availability_zone.py | 38 + nova/policies/baremetal_nodes.py | 36 + nova/policies/base.py | 32 + nova/policies/block_device_mapping.py | 32 + nova/policies/block_device_mapping_v1.py | 32 + nova/policies/cells.py | 48 + nova/policies/cells_scheduler.py | 33 + nova/policies/certificates.py | 38 + nova/policies/cloudpipe.py | 36 + nova/policies/config_drive.py | 36 + nova/policies/console_auth_tokens.py | 36 + nova/policies/console_output.py | 36 + nova/policies/consoles.py | 44 + nova/policies/create_backup.py | 36 + nova/policies/deferred_delete.py | 36 + nova/policies/evacuate.py | 36 + nova/policies/extended_availability_zone.py | 36 + nova/policies/extended_server_attributes.py | 36 + nova/policies/extended_status.py | 36 + nova/policies/extended_volumes.py | 36 + nova/policies/extension_info.py | 32 + nova/policies/extensions.py | 36 + nova/policies/fixed_ips.py | 36 + nova/policies/flavor_access.py | 42 + nova/policies/flavor_extra_specs.py | 47 + nova/policies/flavor_manage.py | 36 + nova/policies/flavor_rxtx.py | 36 + nova/policies/flavors.py | 36 + nova/policies/floating_ip_dns.py | 42 + nova/policies/floating_ip_pools.py | 36 + nova/policies/floating_ips.py | 36 + nova/policies/floating_ips_bulk.py | 36 + nova/policies/fping.py | 39 + nova/policies/hide_server_addresses.py | 36 + nova/policies/hosts.py | 36 + nova/policies/hypervisors.py | 36 + nova/policies/image_metadata.py | 32 + nova/policies/image_size.py | 36 + nova/policies/images.py | 32 + nova/policies/instance_actions.py | 39 + nova/policies/instance_usage_audit_log.py | 36 + nova/policies/ips.py | 38 + nova/policies/keypairs.py | 48 + nova/policies/limits.py | 36 + nova/policies/lock_server.py | 41 + nova/policies/migrate_server.py | 38 + nova/policies/migrations.py | 35 + nova/policies/multinic.py | 36 + nova/policies/multiple_create.py | 32 + nova/policies/networks.py | 39 + nova/policies/networks_associate.py | 36 + nova/policies/pause_server.py | 38 + nova/policies/pci.py | 44 + nova/policies/quota_class_sets.py | 38 + nova/policies/quota_sets.py | 47 + nova/policies/remote_consoles.py | 36 + nova/policies/rescue.py | 36 + nova/policies/scheduler_hints.py | 32 + nova/policies/security_group_default_rules.py | 36 + nova/policies/security_groups.py | 36 + nova/policies/server_diagnostics.py | 36 + nova/policies/server_external_events.py | 35 + nova/policies/server_groups.py | 36 + nova/policies/server_metadata.py | 50 + nova/policies/server_password.py | 36 + nova/policies/server_tags.py | 50 + nova/policies/server_usage.py | 36 + nova/policies/servers.py | 53 + nova/policies/servers_migrations.py | 44 + nova/policies/services.py | 36 + nova/policies/shelve.py | 41 + nova/policies/simple_tenant_usage.py | 38 + nova/policies/suspend_server.py | 38 + nova/policies/tenant_networks.py | 36 + nova/policies/used_limits.py | 36 + nova/policies/user_data.py | 32 + nova/policies/versions.py | 32 + nova/policies/virtual_interfaces.py | 36 + nova/policies/volumes.py | 36 + nova/policies/volumes_attachments.py | 47 + nova/policy.py | 100 +- nova/quota.py | 200 +- nova/rdp/__init__.py | 31 - nova/rpc.py | 125 +- nova/scheduler/chance.py | 6 +- nova/scheduler/client/report.py | 427 ++ nova/scheduler/driver.py | 32 +- nova/scheduler/filters/affinity_filter.py | 29 +- .../aggregate_image_properties_isolation.py | 11 +- .../filters/compute_capabilities_filter.py | 17 +- nova/scheduler/filters/core_filter.py | 15 +- nova/scheduler/filters/disk_filter.py | 13 + nova/scheduler/filters/metrics_filter.py | 7 +- nova/scheduler/host_manager.py | 55 +- nova/scheduler/ironic_host_manager.py | 26 +- nova/scheduler/rpcapi.py | 5 + nova/scheduler/utils.py | 2 - nova/scheduler/weights/affinity.py | 16 +- nova/service.py | 124 +- nova/servicegroup/api.py | 14 +- nova/servicegroup/drivers/db.py | 7 +- nova/servicegroup/drivers/mc.py | 7 +- nova/signature_utils.py | 2 +- nova/spice/__init__.py | 45 - nova/test.py | 51 +- .../functional/api/openstack/placement/__init__.py | 0 .../functional/api/openstack/placement/fixtures.py | 98 + .../openstack/placement/gabbits/allocations.yaml | 343 + .../openstack/placement/gabbits/basic-http.yaml | 137 + .../openstack/placement/gabbits/confirm-auth.yaml | 22 + .../api/openstack/placement/gabbits/inventory.yaml | 319 + .../openstack/placement/gabbits/microversion.yaml | 82 + .../placement/gabbits/resource-provider.yaml | 244 + .../api/openstack/placement/gabbits/unicode.yaml | 72 + .../api/openstack/placement/gabbits/usage.yaml | 34 + .../placement/gabbits/with-allocations.yaml | 25 + .../api/openstack/placement/test_placement_api.py | 27 + .../api/openstack/placement/test_report_client.py | 142 + .../extensions-list-resp-v2.json.tpl | 724 --- .../extensions-list-resp-v21-compatible.json.tpl | 804 --- .../all_extensions/extensions-list-resp.json.tpl | 796 --- .../all_extensions/flavor-get-resp.json.tpl | 24 - .../all_extensions/flavors-detail-resp.json.tpl | 114 - .../all_extensions/flavors-list-resp.json.tpl | 74 - .../server-action-confirm-resize.json.tpl | 3 - .../server-action-create-image.json.tpl | 9 - .../all_extensions/server-action-reboot.json.tpl | 5 - .../server-action-rebuild-resp.json.tpl | 56 - .../all_extensions/server-action-rebuild.json.tpl | 18 - .../all_extensions/server-action-resize.json.tpl | 5 - .../server-action-revert-resize.json.tpl | 3 - .../all_extensions/server-create-req.json.tpl | 10 - .../all_extensions/server-get-resp.json.tpl | 74 - .../all_extensions/servers-details-resp.json.tpl | 76 - .../all_extensions/servers-list-resp.json.tpl | 18 - .../extension-info/extensions-get-resp-v2.json.tpl | 10 - .../extensions-list-resp-v21-compatible.json.tpl | 804 +++ .../extension-info/extensions-list-resp.json.tpl | 796 +++ .../extensions-list-resp-v21-compatible.json.tpl | 804 +++ .../api_samples/extensions-list-resp.json.tpl | 796 +++ .../flavor-access-create-resp.json.tpl | 23 - .../flavor-access-detail-resp.json.tpl | 109 - .../flavor-access/flavor-access-show-resp.json.tpl | 23 - ...ate-req.json.tpl => flavor-create-req.json.tpl} | 0 .../v2.7/flavor-access-add-tenant-req.json.tpl | 5 + .../flavor-access/v2.7/flavor-create-req.json.tpl | 10 + .../flavor-manage/flavor-create-post-req.json.tpl | 3 +- .../flavor-manage/flavor-create-post-resp.json.tpl | 3 +- .../api_samples/flavors/flavor-get-resp.json.tpl | 3 +- .../flavors/flavors-detail-resp.json.tpl | 15 +- .../keypairs/v2.35/keypairs-list-resp.json.tpl | 18 + .../v2.35/keypairs-list-user1-resp.json.tpl | 12 + .../v2.35/keypairs-list-user2-resp.json.tpl | 18 + .../keypairs/v2.35/keypairs-post-req.json.tpl | 7 + .../keypairs/v2.35/keypairs-post-resp.json.tpl | 10 + .../api_samples/limits/limit-get-resp.json.tpl | 8 +- .../api_samples/limits/v2-limit-get-resp.json.tpl | 87 - .../limits/v2.36/limit-get-resp.json.tpl | 21 + .../server-action-rebuild-resp.json.tpl | 55 - .../os-access-ips/server-action-rebuild.json.tpl | 11 - .../os-access-ips/server-get-resp.json.tpl | 57 - .../os-access-ips/server-post-req.json.tpl | 12 - .../os-access-ips/server-post-resp.json.tpl | 16 - .../os-access-ips/servers-details-resp.json.tpl | 59 - .../api_samples/os-agents/agent-post-resp.json.tpl | 2 +- .../api_samples/os-agents/agents-get-resp.json.tpl | 2 +- .../aggregates-list-get-resp.json.tpl | 4 +- .../snapshot-create-assisted-req.json.tpl | 3 +- .../snapshot-create-assisted-resp.json.tpl | 2 +- .../attach-interfaces-create-net_id-req.json.tpl | 10 + .../availability-zone-post-resp.json.tpl | 6 + .../server-config-drive-get-resp.json.tpl | 58 - .../os-config-drive/server-post-req.json.tpl | 12 - .../os-config-drive/server-post-resp.json.tpl | 16 - .../servers-config-drive-details-resp.json.tpl | 60 - .../list-servers-detail-get.json.tpl | 60 - .../server-action-rebuild-req.json.tpl | 6 - .../server-action-rebuild-resp.json.tpl | 56 - .../os-disk-config/server-get-resp.json.tpl | 58 - .../os-disk-config/server-post-req.json.tpl | 11 - .../os-disk-config/server-post-resp.json.tpl | 17 - .../os-disk-config/server-resize-post-req.json.tpl | 6 - .../v2.29/server-evacuate-find-host-req.json.tpl | 5 + .../os-evacuate/v2.29/server-evacuate-req.json.tpl | 7 + .../server-get-resp.json.tpl | 58 - .../servers-detail-resp.json.tpl | 60 - .../server-get-resp.json.tpl | 60 - .../servers-detail-resp.json.tpl | 62 - .../v2.16/server-get-resp.json.tpl | 69 - .../v2.16/servers-detail-resp.json.tpl | 71 - .../os-extended-status/server-get-resp.json.tpl | 61 - .../servers-detail-resp.json.tpl | 61 - .../os-extended-volumes/server-get-resp.json.tpl | 61 - .../servers-detail-resp.json.tpl | 62 - .../os-flavor-rxtx/flavor-rxtx-get-resp.json.tpl | 24 - .../os-flavor-rxtx/flavor-rxtx-list-resp.json.tpl | 114 - .../os-flavor-rxtx/flavor-rxtx-post-req.json.tpl | 10 - .../os-flavor-rxtx/flavor-rxtx-post-resp.json.tpl | 24 - .../server-get-resp.json.tpl | 20 + .../servers-details-resp.json.tpl | 20 + .../v2.28/hypervisors-detail-resp.json.tpl | 43 + .../v2.28/hypervisors-list-resp.json.tpl | 10 + .../v2.28/hypervisors-search-resp.json.tpl | 10 + .../v2.28/hypervisors-show-resp.json.tpl | 41 + .../v2.28/hypervisors-statistics-resp.json.tpl | 16 + .../v2.28/hypervisors-uptime-resp.json.tpl | 9 + .../v2.28/hypervisors-with-servers-resp.json.tpl | 20 + .../hypervisors-without-servers-resp.json.tpl | 10 + .../v2.33/hypervisors-detail-resp.json.tpl | 49 + .../v2.33/hypervisors-list-resp.json.tpl | 16 + .../inst-usage-audit-log-index-get-resp.json.tpl | 37 +- .../inst-usage-audit-log-show-get-resp.json.tpl | 37 +- .../v2.30/live-migrate-server.json.tpl | 7 + .../multiple-create-no-resv-post-resp.json.tpl | 6 + .../os-networks/network-show-resp.json.tpl | 2 +- .../os-networks/networks-disassociate-req.json.tpl | 3 - .../os-networks/networks-list-resp.json.tpl | 2 +- .../server-action-rebuild-req.json.tpl | 17 - .../server-action-rebuild-resp.json.tpl | 55 - .../os-personality/server-post-req.json.tpl | 16 - .../os-personality/server-post-resp.json.tpl | 16 - ...action-rebuild-preserve-ephemeral-resp.json.tpl | 1 + .../quotas-show-detail-get-resp.json.tpl | 75 + .../os-rescue/server-get-resp-rescue.json.tpl | 19 +- .../os-rescue/server-get-resp-unrescue.json.tpl | 20 +- .../scheduler-hints-post-req.json.tpl | 10 - .../scheduler-hints-post-resp.json.tpl | 16 - .../os-security-groups/server-get-resp.json.tpl | 58 - .../os-security-groups/server-post-req.json.tpl | 13 - .../os-security-groups/server-post-resp.json.tpl | 17 - .../servers-detail-resp.json.tpl | 59 - .../v2.26/server-tags-index-resp.json.tpl | 3 + .../v2.26/server-tags-put-all-req.json.tpl | 3 + .../v2.26/server-tags-put-all-resp.json.tpl | 3 + .../v2.26/server-tags-show-details-resp.json.tpl | 86 + .../v2.26/servers-tags-details-resp.json.tpl | 88 + .../os-server-usage/server-get-resp.json.tpl | 59 - .../os-server-usage/servers-detail-resp.json.tpl | 60 - .../simple-tenant-usage-get-detail.json.tpl | 29 + .../os-used-limits/usedlimits-get-resp.json.tpl | 26 - .../os-used-limits/v2-usedlimits-get-resp.json.tpl | 93 - .../os-user-data/userdata-post-req.json.tpl | 11 - .../os-user-data/userdata-post-resp.json.tpl | 16 - .../servers/attach-interfaces-list-resp.json.tpl | 16 + .../servers/attach-interfaces-show-resp.json.tpl | 14 + .../servers/availability-zone-detail-resp.json.tpl | 55 + .../servers/server-action-rebuild-resp.json.tpl | 1 + .../servers/server-action-rebuild.json.tpl | 9 +- .../servers/server-action-resize.json.tpl | 3 +- .../servers/server-create-req-v237.json.tpl | 30 + .../api_samples/servers/server-create-req.json.tpl | 19 +- .../api_samples/servers/server-get-resp.json.tpl | 20 + .../api_samples/servers/server-post-req.json.tpl | 12 - .../api_samples/servers/server-post-resp.json.tpl | 16 - .../servers/servers-details-resp.json.tpl | 20 + .../servers/v2.16/server-get-resp.json.tpl | 86 + .../servers/v2.16/servers-details-resp.json.tpl | 88 + .../v2.16}/servers-list-resp.json.tpl | 0 .../v2.19/server-action-rebuild-resp.json.tpl | 1 + .../servers/v2.19/server-create-req.json.tpl | 13 + .../v2.19}/server-create-resp.json.tpl | 0 .../servers/v2.19/server-get-resp.json.tpl | 28 + .../servers/v2.19/server-post-req.json.tpl | 13 - .../servers/v2.19/server-post-resp.json.tpl | 16 - .../servers/v2.19/server-put-resp.json.tpl | 1 + .../servers/v2.19/servers-details-resp.json.tpl | 28 + .../servers/v2.3/server-get-resp.json.tpl | 84 + .../servers/v2.3/servers-details-resp.json.tpl | 86 + .../servers/v2.3/servers-list-resp.json.tpl | 18 + .../servers/v2.32/server-create-req.json.tpl | 18 + .../servers/v2.32/server-create-resp.json.tpl | 22 + .../servers/v2.37/server-create-req.json.tpl | 8 + .../servers/v2.37/server-create-resp.json.tpl | 22 + .../servers/v2.9/server-get-resp.json.tpl | 27 + .../servers/v2.9/servers-details-resp.json.tpl | 27 + .../test_assisted_volume_snapshots.py | 16 +- .../test_block_device_mapping_boot.py | 18 +- .../test_extended_availability_zone.py | 59 - .../test_extended_server_attributes.py | 98 - .../test_instance_usage_audit_log.py | 58 +- .../test_preserve_ephemeral_rebuild.py | 16 +- .../test_security_group_default_rules.py | 16 +- .../test_server_external_events.py | 16 +- .../functional/db/test_instance_group_model.py | 59 + .../notification_sample_base.py | 123 +- .../test_exception_notification.py | 37 + .../functional/regressions/test_bug_1541691.py | 20 +- .../functional/regressions/test_bug_1552888.py | 2 +- .../functional/regressions/test_bug_1554631.py | 112 + .../functional/regressions/test_bug_1558866.py | 75 + .../functional/regressions/test_bug_1568208.py | 34 + .../functional/regressions/test_bug_1620248.py | 55 + .../functional/regressions/test_bug_1627838.py | 32 + .../test_legacy_v2_compatible_wrapper.py | 14 +- .../functional/wsgi/test_attach_interfaces.py | 95 + .../openstack/compute/admin_only_action_common.py | 8 +- .../api/openstack/compute/legacy_v2/test_auth.py | 59 - .../openstack/compute/legacy_v2/test_extensions.py | 630 -- .../openstack/compute/legacy_v2/test_servers.py | 3321 ---------- .../unit/api/openstack/compute/test_access_ips.py | 325 +- .../api/openstack/compute/test_admin_actions.py | 7 - .../api/openstack/compute/test_admin_password.py | 126 +- .../unit/api/openstack/compute/test_agents.py | 29 - .../unit/api/openstack/compute/test_aggregates.py | 90 +- .../openstack/compute/test_attach_interfaces.py | 74 +- .../openstack/compute/test_availability_zone.py | 44 +- .../api/openstack/compute/test_baremetal_nodes.py | 39 +- .../openstack/compute/test_block_device_mapping.py | 85 +- .../compute/test_block_device_mapping_v1.py | 123 +- .../api/openstack/compute/test_certificates.py | 40 +- .../unit/api/openstack/compute/test_cloudpipe.py | 22 +- .../api/openstack/compute/test_cloudpipe_update.py | 16 +- .../api/openstack/compute/test_config_drive.py | 52 +- .../openstack/compute/test_console_auth_tokens.py | 24 +- .../api/openstack/compute/test_console_output.py | 39 +- .../unit/api/openstack/compute/test_consoles.py | 38 +- .../api/openstack/compute/test_create_backup.py | 48 - .../api/openstack/compute/test_createserverext.py | 265 - .../api/openstack/compute/test_deferred_delete.py | 82 +- .../unit/api/openstack/compute/test_disk_config.py | 51 +- .../unit/api/openstack/compute/test_evacuate.py | 154 +- .../compute/test_extended_availability_zone.py | 20 +- .../openstack/compute/test_extended_hypervisors.py | 24 +- .../api/openstack/compute/test_extended_ips.py | 19 +- .../api/openstack/compute/test_extended_ips_mac.py | 33 +- .../compute/test_extended_rescue_with_image.py | 62 - .../compute/test_extended_server_attributes.py | 31 +- .../api/openstack/compute/test_extended_status.py | 18 +- .../test_extended_virtual_interfaces_net.py | 110 - .../api/openstack/compute/test_extended_volumes.py | 17 +- .../api/openstack/compute/test_extension_info.py | 89 +- .../unit/api/openstack/compute/test_extensions.py | 120 - .../unit/api/openstack/compute/test_fixed_ips.py | 39 +- .../api/openstack/compute/test_flavor_access.py | 101 +- .../api/openstack/compute/test_flavor_disabled.py | 25 +- .../api/openstack/compute/test_flavor_manage.py | 161 +- .../unit/api/openstack/compute/test_flavor_rxtx.py | 14 +- .../unit/api/openstack/compute/test_flavor_swap.py | 19 +- .../api/openstack/compute/test_flavorextradata.py | 21 +- .../unit/api/openstack/compute/test_flavors.py | 57 +- .../openstack/compute/test_flavors_extra_specs.py | 139 +- .../api/openstack/compute/test_floating_ip_dns.py | 88 +- .../openstack/compute/test_floating_ip_pools.py | 18 +- .../api/openstack/compute/test_floating_ips.py | 177 +- .../openstack/compute/test_floating_ips_bulk.py | 57 +- .../compute/test_hide_server_addresses.py | 13 +- .../openstack/compute/test_hypervisor_status.py | 32 +- .../unit/api/openstack/compute/test_hypervisors.py | 271 +- .../api/openstack/compute/test_image_metadata.py | 21 - .../unit/api/openstack/compute/test_image_size.py | 14 +- .../unit/api/openstack/compute/test_images.py | 30 +- .../api/openstack/compute/test_instance_actions.py | 76 +- .../compute/test_instance_usage_audit_log.py | 26 +- .../unit/api/openstack/compute/test_keypairs.py | 137 +- .../unit/api/openstack/compute/test_limits.py | 744 +-- .../unit/api/openstack/compute/test_lock_server.py | 70 +- .../api/openstack/compute/test_microversions.py | 76 +- .../api/openstack/compute/test_migrate_server.py | 166 +- .../unit/api/openstack/compute/test_migrations.py | 26 +- .../unit/api/openstack/compute/test_multinic.py | 26 +- .../api/openstack/compute/test_multiple_create.py | 90 +- .../unit/api/openstack/compute/test_networks.py | 286 +- .../compute/test_neutron_security_groups.py | 83 +- .../api/openstack/compute/test_pause_server.py | 62 +- .../api/openstack/compute/test_quota_classes.py | 22 - .../unit/api/openstack/compute/test_quotas.py | 311 +- .../api/openstack/compute/test_remote_consoles.py | 22 +- .../unit/api/openstack/compute/test_rescue.py | 127 +- .../api/openstack/compute/test_scheduler_hints.py | 57 +- .../compute/test_security_group_default_rules.py | 52 +- .../api/openstack/compute/test_security_groups.py | 119 +- .../api/openstack/compute/test_server_actions.py | 223 +- .../openstack/compute/test_server_diagnostics.py | 23 +- .../compute/test_server_external_events.py | 10 +- .../openstack/compute/test_server_group_quotas.py | 23 +- .../api/openstack/compute/test_server_groups.py | 64 +- .../api/openstack/compute/test_server_metadata.py | 29 +- .../openstack/compute/test_server_migrations.py | 22 +- .../api/openstack/compute/test_server_password.py | 14 - .../openstack/compute/test_server_reset_state.py | 15 +- .../openstack/compute/test_server_start_stop.py | 251 +- .../unit/api/openstack/compute/test_server_tags.py | 315 + .../api/openstack/compute/test_server_usage.py | 24 +- .../unit/api/openstack/compute/test_serversV21.py | 1140 ++-- .../unit/api/openstack/compute/test_services.py | 65 +- .../unit/api/openstack/compute/test_shelve.py | 177 +- .../openstack/compute/test_simple_tenant_usage.py | 101 +- .../unit/api/openstack/compute/test_snapshots.py | 28 +- .../api/openstack/compute/test_suspend_server.py | 53 +- .../api/openstack/compute/test_tenant_networks.py | 63 +- .../unit/api/openstack/compute/test_urlmap.py | 33 +- .../unit/api/openstack/compute/test_used_limits.py | 39 +- .../unit/api/openstack/compute/test_user_data.py | 20 +- .../unit/api/openstack/compute/test_versions.py | 53 +- .../openstack/compute/test_virtual_interfaces.py | 27 +- .../unit/api/openstack/compute/test_volumes.py | 183 +- .../unit/api/openstack/placement/test_handler.py | 99 + .../api/openstack/placement/test_requestlog.py | 63 + .../unit/api/openstack/placement/test_util.py | 220 + .../unit/api/openstack/test_api_version_request.py | 24 +- .../openstack/test_legacy_v2_compatible_wrapper.py | 14 +- .../api_samples_test_base/test_compare_result.py | 1 + .../unit/compute/monitors/cpu/test_virt_driver.py | 6 +- .../unit/conductor/tasks/test_live_migrate.py | 45 +- .../unit/keymgr/test_not_implemented_key_mgr.py | 47 - .../network/security_group/test_neutron_driver.py | 182 +- .../notifications/objects/test_notification.py | 365 ++ .../unit/notifications/objects/test_service.py | 77 + .../unit/objects/test_instance_device_metadata.py | 91 + .../unit/objects/test_instance_numa_topology.py | 7 - .../unit/objects/test_instance_pci_requests.py | 31 +- .../scheduler/filters/test_affinity_filters.py | 45 +- ...aggregate_image_properties_isolation_filters.py | 30 + .../filters/test_compute_capabilities_filters.py | 71 +- .../unit/scheduler/filters/test_disk_filters.py | 24 +- .../filters/test_isolated_hosts_filter.py | 7 +- .../unit/scheduler/filters/test_type_filters.py | 7 +- .../unit/scheduler/test_ironic_host_manager.py | 132 +- .../scheduler/weights/test_weights_affinity.py | 4 +- .../unit/servicegroup/test_mc_servicegroup.py | 3 +- .../unit/virt/hyperv/test_block_device_manager.py | 362 ++ .../unit/virt/hyperv/test_livemigrationops.py | 163 +- .../unit/virt/hyperv/test_serialconsolehandler.py | 249 + .../unit/virt/hyperv/test_serialconsoleops.py | 116 + .../unit/virt/libvirt/volume/test_glusterfs.py | 15 +- .../unit/virt/libvirt/volume/test_remotefs.py | 88 +- .../unit/virt/libvirt/volume/test_vzstorage.py | 109 + .../unit/virt/vmwareapi/test_read_write_util.py | 44 - .../unit/virt/xenapi/image/test_bittorrent.py | 2 +- .../unit/virt/xenapi/image/test_vdi_through_dev.py | 2 +- .../virt/xenapi/plugins/test_partition_utils.py | 108 + .../unit/volume/encryptors/test_cryptsetup.py | 48 +- nova/utils.py | 199 +- nova/version.py | 2 +- nova/virt/__init__.py | 18 + nova/virt/block_device.py | 29 +- nova/virt/configdrive.py | 19 +- nova/virt/disk/api.py | 33 +- nova/virt/disk/mount/api.py | 20 +- nova/virt/disk/vfs/guestfs.py | 15 +- nova/virt/driver.py | 49 +- nova/virt/fake.py | 17 +- nova/virt/firewall.py | 3 +- nova/virt/hardware.py | 140 +- nova/virt/hyperv/block_device_manager.py | 225 + nova/virt/hyperv/constants.py | 17 + nova/virt/hyperv/driver.py | 53 +- nova/virt/hyperv/eventhandler.py | 71 +- nova/virt/hyperv/hostops.py | 34 +- nova/virt/hyperv/imagecache.py | 131 +- nova/virt/hyperv/livemigrationops.py | 70 +- nova/virt/hyperv/migrationops.py | 144 +- nova/virt/hyperv/pathutils.py | 112 +- nova/virt/hyperv/serialconsolehandler.py | 163 + nova/virt/hyperv/serialconsoleops.py | 114 + nova/virt/hyperv/serialproxy.py | 129 + nova/virt/hyperv/snapshotops.py | 22 +- nova/virt/hyperv/vif.py | 11 +- nova/virt/hyperv/vmops.py | 512 +- nova/virt/hyperv/volumeops.py | 60 +- nova/virt/image/model.py | 2 + nova/virt/imagecache.py | 51 +- nova/virt/images.py | 46 +- nova/virt/ironic/client_wrapper.py | 110 +- nova/virt/ironic/driver.py | 129 +- nova/virt/ironic/patcher.py | 10 +- nova/virt/libvirt/blockinfo.py | 10 +- nova/virt/libvirt/compat.py | 2 +- nova/virt/libvirt/config.py | 126 +- nova/virt/libvirt/designer.py | 20 +- nova/virt/libvirt/driver.py | 1957 +++--- nova/virt/libvirt/firewall.py | 8 +- nova/virt/libvirt/guest.py | 244 +- nova/virt/libvirt/host.py | 146 +- nova/virt/libvirt/imagebackend.py | 180 +- nova/virt/libvirt/imagecache.py | 329 +- nova/virt/libvirt/instancejobtracker.py | 2 +- nova/virt/libvirt/migration.py | 454 ++ nova/virt/libvirt/storage/lvm.py | 21 +- nova/virt/libvirt/storage/rbd_utils.py | 65 +- nova/virt/libvirt/utils.py | 40 +- nova/virt/libvirt/vif.py | 336 +- nova/virt/libvirt/volume/aoe.py | 11 +- nova/virt/libvirt/volume/disco.py | 10 +- nova/virt/libvirt/volume/fibrechannel.py | 8 +- nova/virt/libvirt/volume/glusterfs.py | 19 +- nova/virt/libvirt/volume/hgst.py | 6 +- nova/virt/libvirt/volume/iscsi.py | 29 +- nova/virt/libvirt/volume/iser.py | 15 +- nova/virt/libvirt/volume/net.py | 13 +- nova/virt/libvirt/volume/nfs.py | 18 +- nova/virt/libvirt/volume/quobyte.py | 15 +- nova/virt/libvirt/volume/remotefs.py | 45 +- nova/virt/libvirt/volume/scaleio.py | 6 +- nova/virt/libvirt/volume/scality.py | 23 +- nova/virt/libvirt/volume/smbfs.py | 19 +- nova/virt/libvirt/volume/volume.py | 25 +- nova/virt/libvirt/volume/vzstorage.py | 127 + nova/virt/netutils.py | 3 +- nova/virt/opts.py | 115 - nova/virt/osinfo.py | 6 +- nova/virt/vmwareapi/constants.py | 8 +- nova/virt/vmwareapi/driver.py | 69 +- nova/virt/vmwareapi/ds_util.py | 8 + nova/virt/vmwareapi/host.py | 43 +- nova/virt/vmwareapi/imagecache.py | 2 - nova/virt/vmwareapi/images.py | 123 +- nova/virt/vmwareapi/io_util.py | 195 - nova/virt/vmwareapi/read_write_util.py | 55 - nova/virt/vmwareapi/vif.py | 43 +- nova/virt/vmwareapi/vim_util.py | 18 +- nova/virt/vmwareapi/vm_util.py | 71 +- nova/virt/vmwareapi/vmops.py | 217 +- nova/virt/vmwareapi/volumeops.py | 6 +- nova/virt/xenapi/agent.py | 42 +- nova/virt/xenapi/client/objects.py | 6 + nova/virt/xenapi/client/session.py | 66 +- nova/virt/xenapi/driver.py | 101 +- nova/virt/xenapi/fake.py | 62 +- nova/virt/xenapi/image/bittorrent.py | 44 +- nova/virt/xenapi/image/glance.py | 6 +- nova/virt/xenapi/image/utils.py | 2 + nova/virt/xenapi/image/vdi_through_dev.py | 4 +- nova/virt/xenapi/pool.py | 21 +- nova/virt/xenapi/vif.py | 315 +- nova/virt/xenapi/vm_utils.py | 247 +- nova/virt/xenapi/vmops.py | 124 +- nova/virt/xenapi/volume_utils.py | 61 +- nova/volume/__init__.py | 34 - nova/volume/cinder.py | 149 +- nova/volume/encryptors/__init__.py | 5 +- nova/volume/encryptors/base.py | 2 +- nova/volume/encryptors/cryptsetup.py | 42 +- nova/volume/encryptors/luks.py | 3 - nova/volume/encryptors/nop.py | 3 - nova/wsgi.py | 26 +- openstack-common.conf | 7 - plugins/xenserver/doc/networking.rst | 59 +- .../xensource/scripts/ovs_configure_vif_flows.py | 4 +- .../networking/etc/xensource/scripts/vif_rules.py | 4 +- plugins/xenserver/xenapi/etc/xapi.d/plugins/agent | 2 +- plugins/xenserver/xenapi/etc/xapi.d/plugins/glance | 326 +- .../xenapi/etc/xapi.d/plugins/nova_plugin_version | 6 +- .../xenapi/etc/xapi.d/plugins/partition_utils.py | 87 + .../xenserver/xenapi/etc/xapi.d/plugins/utils.py | 15 + .../xenserver/xenapi/etc/xapi.d/plugins/xenhost | 159 +- ...config-to-cloudpipe-group-ab96ebcb3ffc5d82.yaml | 4 + ...to-config-to-crypto-group-ac6c75ccf3c815f1.yaml | 4 + .../notes/add-perf-event-e1385b6b6346fbda.yaml | 6 + ...wsgi-config-to-wsgi-group-712b8cd9ada65b2e.yaml | 4 + ...tes-moved-to-api-database-e1bd30909aaf79d3.yaml | 14 + .../apply-limits-to-qemu-img-8813f7a333ebdf69.yaml | 7 + ...live-migration-rest-check-675ec309a9ccc28e.yaml | 8 + ...-completion-auto-converge-3ddd3a40eaf3ef5b.yaml | 7 + ...tion-completion-post-copy-a7a3a986961c93d8.yaml | 10 + ...ls-instance-groups-api-db-910a44ef5f2f7769.yaml | 6 + ...p-fix-console-auth-tokens-16b1b1b402dca362.yaml | 4 + .../bp-hyper-v-remotefx-1474ef1a082ad1b0.yaml | 63 + .../notes/bp-instance-tags-3acb227083320796.yaml | 4 + .../bp-keypairs-pagination-634c46aaa1058161.yaml | 5 + .../notes/bp-memory-bw-4ceb971cfe1a2fd0.yaml | 10 + ...va-api-hypervsor-cpu-info-b84cddf8b70b88d2.yaml | 4 + ...zzo-cloud-storage-support-4f4cda52ca41538e.yaml | 12 + ...o-instance-resize-support-b523e6e8a0de0fbc.yaml | 7 + ...-virtuozzo-rescue-support-a0f69357a93e5e92.yaml | 3 + .../notes/bug-1559026-47c3fa3468d66b07.yaml | 6 + ...ll-id-db-sync-nova-manage-8504b54dd115a2e9.yaml | 8 + .../cells-discover-hosts-06a3079ba687e092.yaml | 28 + ...-single-migration-command-0e98d66e31e02a50.yaml | 13 + ...stination_when_evacuating-37b52ebe8b5b086c.yaml | 11 + ..._destination_when_livemig-e69d32e02d7a18c9.yaml | 11 + ...g-ironic-client_log_level-2bb84f12154417ca.yaml | 6 + .../create-cell0-mapping-60a9229c223a7516.yaml | 7 + ...fault-value-pointer-model-cb3d9a3e9c51e503.yaml | 4 + ...e-barbican-config-options-68ae65643ac41e2f.yaml | 6 + ...cate-cells-driver-options-473893e4e87f95c2.yaml | 5 + ...ate-config-image-file-url-46c20999756afce0.yaml | 8 + ...deprecate-config-s3-image-adb7c86c9b9220a5.yaml | 9 + .../deprecate-default-flavor-6c144f67f8032dfa.yaml | 5 + ...l-exception-format-errors-a5d2bf64e3404c39.yaml | 6 + ...-image-cache-checksumming-80e52279881ebc71.yaml | 6 + ...a-manage-network-commands-212726e67bffdfc4.yaml | 15 + ...ecate-nova-manage-vm-list-571162f55173cccc.yaml | 5 + ...ecate-old-auth-parameters-948d70045335b312.yaml | 15 + ...te-snapshot-name-template-46966b0f5e6cabeb.yaml | 6 + ...ecate_compute_stats_class-229abfcb8816bdbd.yaml | 2 +- .../notes/deprecate_nova_all-eee03c2b0e944699.yaml | 6 + .../deprecate_nova_network-093e937dcdb7fc57.yaml | 8 + .../notes/deprecate_os_cert-f0aa07bab1a229aa.yaml | 11 + ...precate_vendordata_driver-eefc745365a881c3.yaml | 2 +- .../deprecates-proxy-apis-5e11d7c4ae5227d2.yaml | 29 + .../empty-sample-policy-abfb7d467d2ebd4c.yaml | 9 + .../notes/extensions_remove-37e9d4092981abbe.yaml | 25 + ...ors-moved-to-api-database-b33489ed3b1b246b.yaml | 14 + .../notes/get-me-a-network-992eabc81b5e5347.yaml | 38 + releasenotes/notes/glance_v2-15b080e361804976.yaml | 14 + .../imageRef-as-uuid-only-0164c04206a42683.yaml | 17 + ...o-populate-ports-dns-name-08341ec73dc076c0.yaml | 2 +- .../notes/instance-path-2efca507456d8a70.yaml | 14 + .../ironic-driver-hash-ring-7d763d87b9236e5d.yaml | 33 + ...ic-multitenant-networking-6f124964831d4a6c.yaml | 10 + .../ironic-resource-class-6496fed067df629f.yaml | 4 + .../keypairs-moved-to-api-9cde30acac6f76b6.yaml | 6 + .../notes/known-issue-on-api-1efca45440136f3e.yaml | 8 + ...-live-migration-tunnelled-4248cf76df605fdf.yaml | 8 + ...bvirt-uses-os-vif-plugins-31a0617de0c248b9.yaml | 35 + ..._ppc64le_hugepage_support-b9fd39cf20c8e91d.yaml | 3 + .../list-invalid-status-af07af378728bc57.yaml | 9 + ...ist-server-bad-status-fix-7db504b38c8d732f.yaml | 7 + .../min-required-libvirt-b948948949669b02.yaml | 4 + .../notes/min-required-qemu-c987a8a5c6c4fee0.yaml | 4 + .../modern-microversions-964ae9a17df8c4b3.yaml | 7 + ...ltiqueue-on-tap-interface-2c9e1504fa4590f4.yaml | 12 + .../notes/mutable-config-e7e82b3d7c38f3a5.yaml | 11 + ...work-allocate-retries-min-a5288476b11bfe55.yaml | 5 + ...network-api-class-removed-a4a754ca24c02bde.yaml | 4 + ...as-many-online-migrations-38066facfe197382.yaml | 7 + ...ion-transformation-newton-29a9324d1428b7d3.yaml | 20 + ...otify_on_state_change_opt-e3c6f6664e143993.yaml | 7 + .../notes/os-brick-lock-dir-c659089679aac50f.yaml | 9 + .../notes/oslopolicy-scripts-957b364b8ffd7c3f.yaml | 14 + ...pagination-for-hypervisor-9c3393cd58149791.yaml | 5 + ...arallels_support_snapshot-29b4ffae300c1f05.yaml | 2 +- .../placement-config-section-59891ba38e0749e7.yaml | 11 + .../notes/pointer-model-b4a1828c43e8d523.yaml | 9 + .../policy-discover-cli-a14a115cacbdc9c6.yaml | 7 + ...y-sample-defaults-changed-b5eea1daeb305251.yaml | 6 +- ...uota-driver-is-deprecated-a915edf8777f3ddb.yaml | 4 + .../refresh-quotas-usage-362b239171c75f5f.yaml | 11 + ...ove-api-rate-limit-option-91a17e057081381a.yaml | 6 + ...-auth-admin-token-support-1b59ae7739b06bc2.yaml | 6 + ...move-config-serial-listen-2660be1c0863ea5a.yaml | 6 + .../remove-default-flavors-5238c2d9673c61e2.yaml | 5 + ...ated-cells-manager-option-d9d20691c08d2752.yaml | 4 + ...ted-cinder-options-newton-fc3dce6856101ef8.yaml | 9 + ...roy_after_evacuate-option-2557d0634e78abd1.yaml | 4 + ...legacy_api-config-options-f3f096df3a03d956.yaml | 6 + ...ted-remove_unused_kernels-b663aa6829761f1e.yaml | 5 + ...tensible-resource-tracker-37e8fdac46ec6eba.yaml | 6 + .../remove-legacy-v2-api-7ac6d74edaedf011.yaml | 12 + ...rt-migration-flags-config-8bf909c1295cc53f.yaml | 9 + ...-memcached-default-option-e0e50d54cef17ac4.yaml | 5 + ...manage-service-subcommand-2a11ed662864341c.yaml | 5 + ...used-config-opt-fake-call-37a56f6ec15f7d90.yaml | 4 + ...sed-config-opt-iqn_prefix-defb44120dae93e3.yaml | 5 + ...config_network_device_mtu-75780f727c322ff3.yaml | 5 + ...egacy_v2_api_policy_rules-033fa77420ed6362.yaml | 6 + ...remove_security_group_api-6fefb1a355876e83.yaml | 5 + .../remove_volume_api_class-a3c618228c89f57b.yaml | 5 + ...ename-iscsi-multipath-opt-eabbafccd2b74a0a.yaml | 4 + ...rename-wsgi-prefixed-opts-9075ff9c2215e61c.yaml | 4 + ...erved-hugepages-per-nodes-f36225d5fca807e4.yaml | 5 +- ...cated-neutron-opts-newton-a09ecfb0775339e6.yaml | 9 + ...sched-host-mgr-class-load-2a86749a38f0688d.yaml | 6 + releasenotes/notes/rm_db2-926e38cbda44a55f.yaml | 9 + .../notes/rm_glance_opts-360c94ac27328dc9.yaml | 7 + .../rm_import_object_ns-5344a390b0af465e.yaml | 14 + .../notes/rm_volume_manager-78fed5be43d285b3.yaml | 15 +- .../notes/set_guest_time-736939fe725cbdab.yaml | 7 + ...on_live-migration_failure-d1f6f29ceafdd598.yaml | 9 + ...affinity-for-server-group-f45e191bd8cdbd15.yaml | 2 +- .../notes/swap-volume-policy-9464e97aba12d1e0.yaml | 8 + .../switch-to-oslo-cache-7114a0ab2dea52df.yaml | 5 +- ...ync_power_state_pool_size-81d2d142bffa055b.yaml | 10 + releasenotes/notes/v21enable-8454d6eca3ec604f.yaml | 6 + .../notes/vendordata-reboot-ad1130444a63f2d0.yaml | 8 + .../notes/vhost-user-mtu-23d0af36a8adfa56.yaml | 7 + ...rtual-device-role-tagging-ec0c36226a3f2e4d.yaml | 30 + ...ware_disk_enableuuid_true-99b88e00fc168dd3.yaml | 4 + ...rvicegroup-driver-removed-c3bcaa6f9fe976ed.yaml | 2 +- releasenotes/source/index.rst | 4 +- releasenotes/source/mitaka.rst | 6 + requirements.txt | 63 +- setup.cfg | 53 +- test-requirements.txt | 26 +- tools/db/schema_diff.py | 25 - tools/pretty_tox3.sh | 9 + tools/regression_tester.py | 4 +- tools/releasenotes_tox.sh | 28 + tools/xenserver/cleanup_sm_locks.py | 20 +- tools/xenserver/destroy_cached_images.py | 15 +- tools/xenserver/populate_other_config.py | 13 +- tools/xenserver/stress_test.py | 37 +- tools/xenserver/vdi_chain_cleanup.py | 6 +- tools/xenserver/vm_vdi_cleaner.py | 30 +- tox.ini | 100 +- 1897 files changed, 118772 insertions(+), 93991 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index c03c8fe..4dbe720 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11 +11 @@ Jinja2>=2.8 # BSD License (3 clause) -keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0 +keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0 @@ -13,3 +13,3 @@ lxml>=2.3 # BSD -Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT -Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT -cryptography>=1.0 # BSD/Apache-2.0 +Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT +cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0 @@ -22 +22 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0 -netaddr!=0.7.16,>=0.7.12 # BSD +netaddr!=0.7.16,>=0.7.13 # BSD @@ -24,3 +24,3 @@ netifaces>=0.10.4 # MIT -paramiko>=1.16.0 # LGPL -Babel>=1.3 # BSD -iso8601>=0.1.9 # MIT +paramiko>=2.0 # LGPLv2.1+ +Babel>=2.3.4 # BSD +iso8601>=0.1.11 # MIT @@ -28,5 +28,5 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT -python-cinderclient>=1.3.1 # Apache-2.0 -keystoneauth1>=2.1.0 # Apache-2.0 -python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0 -python-glanceclient>=2.0.0 # Apache-2.0 -requests!=2.9.0,>=2.8.1 # Apache-2.0 +python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0 +keystoneauth1>=2.10.0 # Apache-2.0 +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 @@ -34,3 +34,3 @@ six>=1.9.0 # MIT -stevedore>=1.5.0 # Apache-2.0 -setuptools>=16.0 # PSF/ZPL -websockify>=0.6.1 # LGPLv3 +stevedore>=1.16.0 # Apache-2.0 +setuptools!=24.0.0,>=16.0 # PSF/ZPL +websockify>=0.8.0 # LGPLv3 @@ -38,3 +38,3 @@ oslo.cache>=1.5.0 # Apache-2.0 -oslo.concurrency>=3.5.0 # Apache-2.0 -oslo.config>=3.7.0 # Apache-2.0 -oslo.context>=0.2.0 # Apache-2.0 +oslo.concurrency>=3.8.0 # Apache-2.0 +oslo.config>=3.14.0 # Apache-2.0 +oslo.context>=2.9.0 # Apache-2.0 @@ -44,5 +44,6 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.utils>=3.5.0 # Apache-2.0 -oslo.db>=4.1.0 # Apache-2.0 -oslo.rootwrap>=2.0.0 # Apache-2.0 -oslo.messaging>=4.0.0 # Apache-2.0 -oslo.policy>=0.5.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.rootwrap>=5.0.0 # Apache-2.0 +oslo.messaging>=5.2.0 # Apache-2.0 +oslo.policy>=1.9.0 # Apache-2.0 +oslo.privsep>=1.9.0 # Apache-2.0 @@ -50,2 +51,2 @@ oslo.i18n>=2.1.0 # Apache-2.0 -oslo.service>=1.0.0 # Apache-2.0 -rfc3986>=0.2.0 # Apache-2.0 +oslo.service>=1.10.0 # Apache-2.0 +rfc3986>=0.2.2 # Apache-2.0 @@ -54,3 +55,3 @@ psutil<2.0.0,>=1.1.1 # BSD -oslo.versionedobjects>=1.5.0 # Apache-2.0 -alembic>=0.8.0 # MIT -os-brick>=1.0.0 # Apache-2.0 +oslo.versionedobjects>=1.13.0 # Apache-2.0 +os-brick>=1.6.1 # Apache-2.0 +os-vif>=1.1.0 # Apache-2.0 @@ -58 +59,3 @@ os-win>=0.2.3 # Apache-2.0 -castellan>=0.3.1 # Apache-2.0 +castellan>=0.4.0 # Apache-2.0 +microversion-parse>=0.1.2 # Apache-2.0 +wsgi-intercept>=0.6.1 # MIT License diff --git a/test-requirements.txt b/test-requirements.txt index 49f7fc2..249bca6 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,2 +7,2 @@ coverage>=3.6 # Apache-2.0 -fixtures>=1.3.1 # Apache-2.0/BSD -mock>=1.2 # BSD +fixtures>=3.0.0 # Apache-2.0/BSD +mock>=2.0 # BSD @@ -11,3 +11,3 @@ psycopg2>=2.5 # LGPL/ZPL -PyMySQL>=0.6.2 # MIT License -python-barbicanclient>=3.3.0 # Apache-2.0 -python-ironicclient>=1.1.0 # Apache-2.0 +PyMySQL!=0.7.7,>=0.6.2 # MIT License +python-barbicanclient>=4.0.0 # Apache-2.0 +python-ironicclient>=1.6.0 # Apache-2.0 @@ -15,2 +15,3 @@ python-subunit>=0.0.18 # Apache-2.0/BSD -requests-mock>=0.7.0 # Apache-2.0 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +requests-mock>=1.0 # Apache-2.0 +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +os-api-ref>=1.0.0 # Apache-2.0 @@ -19 +20 @@ oslotest>=1.10.0 # Apache-2.0 -os-testr>=0.4.1 # Apache-2.0 +os-testr>=0.7.0 # Apache-2.0 @@ -24,2 +25,3 @@ tempest-lib>=0.14.0 # Apache-2.0 -bandit>=0.17.3 # Apache-2.0 -openstackdocstheme>=1.0.3 # Apache-2.0 +bandit>=1.1.0 # Apache-2.0 +openstackdocstheme>=1.5.0 # Apache-2.0 +gabbi>=1.24.0 # Apache-2.0 @@ -28 +30 @@ openstackdocstheme>=1.0.3 # Apache-2.0 -oslo.vmware>=1.16.0 # Apache-2.0 +oslo.vmware>=2.11.0 # Apache-2.0 @@ -31 +33 @@ oslo.vmware>=1.16.0 # Apache-2.0 -reno>=0.1.1 # Apache2 +reno>=1.8.0 # Apache2