We eagerly announce the release of: nova 18.0.0: Cloud computing fabric controller This release is part of the rocky release series. Download the package from: https://tarballs.openstack.org/nova/ For more details, please see below. 18.0.0 ^^^^^^ Bug Fixes * Note that the original fix for bug 1414559 committed early in rocky was automatic and always enabled. Because of bug 1786346 that fix has since been reverted and superseded by an opt-in mechanism which must be enabled. Setting "[compute]/live_migration_wait_for_vif_plug=True" will restore the behavior of waiting for neutron events during the live migration process. (https://bugs.launchpad.net/neutron/+bug/1414559) (https://bugs.launchpad.net/nova/+bug/1786346) (https://docs.openst ack.org/nova/latest/configuration/config.html#compute.live_migratio n_wait_for_vif_plug) Changes in nova 17.0.0.0rc1..18.0.0 ----------------------------------- 212a2c5 Correct the release notes related to nova-consoleauth 5314079 libvirt: Don't react to VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED events ad14e42 Filter out instances without a host when populating AZ aebb29e Use placement microversion 1.26 in update_from_provider_tree a590a02 Add zvm CI information 223bd95 Add zvm admin intro and hypervisor information e9c025d add zvm into support matrix 97e7087 placement: ignore policy scope check failures if not enforcing scope afd1c1e Revert "libvirt: slow live-migration to ensure network is ready" a890c34 block_device: Rollback volumes to in-use on DeviceDetachFailed ade214e Update UPPER_CONSTRAINTS_FILE for stable/rocky 7b685cc Update .gitreview for stable/rocky 8bb8045 Add a prelude release note for the 18.0.0 Rocky GA c3ea973 Trivial fix on migration doc d34de0f [placement] api-ref: add description for 1.29 a2a17c0 Update the parameter explain when updating a volume attachment 8e052c7 Update nova network info when doing rebuild for evacuate operation 8549e33 Docs: Add guide to migrate instance with snapshot 6f4ec54 Add the guideline to write API reference f0cc6e6 get provider IDs once when building summaries efb533a Remove Neutron MetaAPIProxy from cellsv2-layout 3c96ce9 [placement] Avoid rp.get_by_uuid in allocation_candidates c7aed3d Fix host validity check for live-migration d41ea9d libvirt: Reduce calls to qemu-img during update_available_resource 8daa98e Refactor cell_type in compute/api.py 05a73c3 Add explicit functional-py36 tox target ef7c961 xx_instance_type_id in list_migrations should be integer 058ee38 Fix bad links for admin-guide 330c950 api-ref: Add descriptions for rebuild 00b585a Add microversion info in the os-server-groups API samples 788da02 doc: mark the max microversion for rocky 3311d57 Fix resize revert to use non-legacy alloc handling d1bc821 api-ref: fix min_version for parent_provider_uuid in responses dc64d3d [placement] Add version directives in the history doc 45e3480 Use common functions in granular fixture fbc86f8 Fix none-ascii char in doc 65cdcf4 Define irrelevant-files for tempest-full-py3 job f6390f7 Add tempest-slow job to run the tempest slow tests e13b765 Not use project table for user table 9cfc598 Adds a test for getting allocations API 69b73d8 [placement] ensure_rc_cache only at start of process cc42724 Remove unused flavor_delete_info() method 1988855 Reno for notification-transformation-rocky f0d2925 Deprecate upgrade_levels options for deprecated/removed services 08f23b5 [placement] Move resource_class_cache into placement hierarchy 92d47e5 [placement] Debug log per granular request group 2ac1bfa Remove unused request API sample template 63fae18 Grease some more tests hitting RetryDecorator 303379f Scrub hw:cpu_model from API samples 7b42be7 Grease test_try_deallocate_network_retry_direct acd3216 Improve NeutronFixture and remove unncessary stubbing f66d4c9 Remove unused stubbing function from test 3cd5198 doc: fix resize user guide link a061447 tox: Ensure reused envdirs share the same deps 6cb1893 Fix a typo in comment in resource_provider.py 7d824e6 Refactor AllocationFixture in placement test e4923ab Increase max_unit in placement test fixture e23237c Use common functions in NonSharedStorageFixture 99db9fa Hook resource_tracker to remove stale node information b5b7d86 Make ResourceTracker.stats node-specific fc05626 Add recreate test for RT.stats bug 1784705 233ea58 Reload oslo_context after calling monkey_patch() 04afe2a Fix comments in _anchors_for_sharing_providers and related test 0b7946f Ensure the order of AllocationRequestResources 4b3e877 libvirt: Remove usage of migrateToURI{2} APIs 06e854b Remove unnecessary PlacementFixture setups 2c9fe11 Don't poison Host._init_events if it's already mocked 1c66a4b Remove redundant join in _anchors_for_sharing_providers 72e4c4c [placement] Retry allocation writes server side cc7d5f8 [placement] api-ref: add traits parameter c6dda9f Retry decorator fix for instances which go into ERROR state during bulk delete f53d28f Fix formatting for vcpu_pin_set and reserved_huge_pages a9083d1 Updated AggregateImagePropertiesIsolation filter illustration 4b1d38e [placement] Use a simplified WarningsFixture 1de7ac3 [placement] Use a non-nova log capture fixture bee0a13 [placement] Use oslotest CaptureOutput fixture 45dbccd [placement] Use own set_middleware_defaults 06ea35e Extract _update_to_placement method in resource tracker 86a8aac Set default of oslo.privsep.daemon logging to INFO level 25b3e2d Remove superfluous network stubbing in func test 45662d7 Add additional functional tests for NUMA networks eec172a Add description for placement 1.26 11f473b Add functional test for forced live migration rollback allocs 24c016e Assorted cleanups from numa-aware-vswitches series a451686 libvirt: Revert non-reporting DISK_GB if sharing 64b030f Pass source vifs to driver.cleanup in _post_live_migration 95998b7 Fix create_all() to replace_all() in comments e3df049 compute node local_gb_used include swap disks 8e17c37 Use source vifs when unplugging on source during post live migrate 4729fa8 Fix all invalid obj_make_compatible test case 020edde Change deprecated policies to policy ca70309 api-ref: document user_data length restriction f0b9d52 Fix accumulated nits from port binding for live migration series f5783d9 [placement] Use base test in placement functional tests be2e5c8 Fix signature of _FakeImageService.download d1b087d [placement] Extract base functional test case from test_direct 6bfb195 Use vif.vif_name in _set_config_VIFGeneric 676a68b doc: add missing permission for the vCenter service account bef7e9a Hyper-V + OVS: plug vifs before starting VMs 13bbe6e Use placement context in placement functional tests 7e09641 ironic: Report resources as reserved when needed dc6cb06 doc: remove rocky-specific nova-scheduler min placement version 803f85d scheduler: Start utilizing RequestSpec.network_metadata 7aa9d1c Consider network NUMA affinity for move operations aa6360d Add nova-manage placement sync_aggregates a0de999 Add functional tests for numa-aware-vswitches bd334f0 libvirt: Start populating NUMACell.network_metadata field 9dfac2f conf: Add '[neutron] physnets' and related options be5e694 tox: Silence psycopg2 warnings 23fd6c2 FakeLibvirtFixture: mock get_fs_info 7637026 Add method to get cpu traits 4aad363 Blacklist greenlet 0.4.14 e054687 Enhance doc to guide user to use nova user f4819f2 doc: link to AZ talk from the Rocky summit 8769105 doc: link to CERN summit video about upgrading from cells v1 to v2 2499f61 Update queued-for-delete from the ComputeAPI during deletion/restoration b2d469e Online data migration for queued_for_delete flag e45c5ec ironic: add instance_uuid before any other spawn activity 660e328 Use consumer generation in _heal_allocations_for_instance 3a02229 Cache is_bfv check in ResourceTracker dc5c69d Add shelve/unshelve wrinkle to volume-backed disk func test b537148 Fix wonky reqspec handling in conductor.unshelve_instance 9344c19 Heal RequestSpec.is_bfv for legacy instances during moves f63fd14 Report 0 root_gb in resource tracker if instance is bfv. 3a26ad7 Docs: Add Placement to Nova system architecture 636c746 libvirt: Remove reference to transient domain when detaching devices 1c4a382 Add queued_for_delete field to InstanceMapping object 59d5eb1 Rename auth_uri to www_authenticate_uri ece289f Func test for improper cn local DISK_GB reporting 19eed85 perform reshaper operations in single transaction 7b8e898 docs: add nova host-evacuate command to evacuate documentation c4988cd compute: Ensure pre-migrating instances are destroyed during init_host 2d53296 In Python3.7 async is a keyword [1] 3518ccb Check provider generation and retry on conflict 7b8dd39 Fix missing print format error ef37ed2 Remove stevedore extensions server_create method c22b53c Update RequestSpec.instance_uuid during scheduling 5e262d6 Add regression test for bug 1781710 c9589ed Skip test_resize_server_revert_with_volume_attached in nova-lvm 1d91811 Disable limits if force_hosts or force_nodes is set 2d5c6fd conductor: use port binding extended API in during live migrate 1f48d3d Port binding based on events during live migration e53f466 Annotate flows and handle PortBindingDeletionFailed in ComputeManager d9e04c4 Implement migrate_instance_start method for neutron 2b52cde libvirt: use dest host vif migrate details for live migration a81811e libvirt: use dest host port bindings during pre_live_migration 5b554ed libvirt: factor out pre_live_migration plug_vifs call 8d3a049 Add VIFMigrateData.get_dest_vif 0a71a54 Add VIFMigrateData object for live migration 0fc4f95 [placement] disallow additional fields in allocations 4ce1ef6 Merge server create for bdm extensions c21d6fd Merge server create for config_drive extension 064f215 Fix ServerMigrationSampleJsonTests to use sample files from version dir 449da03 Remove "DEPRECATED" tag from Obsolete APIs db294b1 Remove support for /os-floating-ip-dns REST API 823c4e8 Remove support for /os-floating-ips-bulk REST API 03c596a Avoid requesting DISK_GB allocation for root_gb on BFV instances 6006ccd [placement] cover bad content-length header 7b0168b [placement] Add gabbi coverage for inv of missing rp 32034a9 [placement] Add gabbi coverage for an inventory change 42c869d clarify usage of upgrade_levels group c3fe54a7 Fix confusing log message in scheduler 22ab1b6 Fix the incorrect description and sample a66aabb Merge server create for keypair extension fd99e60 Merge server create for multiple-create extension c2439ba Transform metrics.update notification 4ad83e7 update tox venv env to install all requirements 8d095e0 Fix "XLibvirt KVM (ppc64)" typo in feature support matrix docs 93b8973 Call generate_image_url only for legacy notification b26df4f Add unshelve instance error info to fault table 8965b1c Address nit in 79dac41fee178dabb547f4d7bc10609630767131 6088f06 Escalate UUID validation warning to error in test 86aac99 Fix a newly introduced UUID warning in the unit test 71f1fbc Merge server create for scheduler hint extension 2d37336 Move legacy-tempest-dsvm-nova-os-vif in repo 4cae503 API: add support to abort queued live migration in microversion 2.65 e819217 Fix ServerMigrationSampleJsonTestsV2_24 to use its own sample file d23794d Compute: add support to abort queued live migration 79dac41 Use ThreadPoolExecutor for max_concurrent_live_migrations ef29499 Update HostState.instances during _consume_selected_host c09fe87 Replace support matrix ext with common library 928746a Add UUID validation for consumer_uuid d1ccea4 Address nits in server group policy series 9602c43 Adjust log style and remove ocata support 50906f1 z/VM Driver: add get console output cc06ee1 z/VM Driver: add power actions c50a39f z/VM Driver: add snapshot function 3e1692b z/VM Driver: Spawn and destroy function of z/VM driver e5acf4f z/VM Driver: Initial change set of z/VM driver 23efc54 Transform instance.live_migration_force_complete notification 6322cb6 Transform aggregate.update_prop notification 276130c Add note about reschedules and num_attempts in filter_properties 1160ae7 Add another up-call to the cells v2 caveats list fa12fa5 Stop using HostAPI.service_delete ee6e0c1 Handle HostMappingNotFound when deleting a compute service 4a1b083 Skip more rebuild tests for cells v1 job 5d65f01 Refactor _heal_instances_in_cell 6b6d81c Heal allocations with incomplete consumer information 0ef4ed9 fix cellv2 delete_host 9b5d1d9 Imported Translations from Zanata 1db9f80 ironic: Log an error when API version is not available 5cdb1ce Microversion 2.64 - Use new format policy in server group a07b68e virt/ironic: Implement rescue and unrescue 4acbf4f ironic: provide facilities to gracefully navigate versions 11c29ae do not assume 1 consumer in AllocList.delete_all() d76c54a Update process doc to be more generic about point of contact 0d9e140 Follow up for Ie49d605c66062d2548241d7e04f5a2a6b98c011e 7ac2138 Mention osc-placement for managing traits in docs 012ea74 Handle rebuild of instances with image traits 917d8a4 Complete the api-ref of security group rule 09f67d7 Adapt _validate_instance_group_policy to new policy model a77f57a Change the ServerGroupAntiAffinityFilter to adapt to new policy c67ab38 Add policy field to ServerGroup notification object 8fa70e5 Add policy to InstanceGroup object e73f828 Add nova-status upgrade check for request spec migrations dd13c27 Add placement.concurrent_udpate to generation pre-checks 16b20e2 Delete orphan compute nodes before updating resources a644b22 Test for unsanitized consumer UUID d1820d1 Revert "docs: Disable smartquotes" c5cdef2 [placement] add error.code on a ConcurrentUpdateDetected 78af1de Fix TypeError in prep_resize allocation cleanup 9610b6e Use hard coded values in schema than reference cc7f4ea Update some placement docs to reflect modern times 1fb7c4f Remove unused variable in migration e60571a Address nits from consumer generation 4f9a7da update project/user for consumer in allocation def4b17 Use nova.db.api directly bc80275 Update root providers in same tree b1c45fe hardware: fix hugepages memory usage per intances ea1c2b1 Add queued for delete to instance_mappings table. bb83e35 Remove duplicate parameter in API sample documents c641981 placement: delete auto-created consumers on fail f0f680b delete consumers which no longer have allocations 4b62b6b make incomplete_consumer_project_id a valid UUID afc7650 Refactor policies to policy in InstanceGroup DB model 57b0bb3 Add rules column to instance_group_policy table. 51248a4 objects: Add RequestSpec.network_metadata 3b01a72 api-ref: Example verification for servers.inc d985d66 hardware: Start accounting for networks in NUMA fitting 02cea6a objects: Add NUMATopologyLimits.network_metadata ab2279e Transform instance.rebuild_scheduled notification 6ad24f4 Remove irrelevant comment a3c3e20 Avoid joins in _server_group_count_members_by_user bbee9a2 Fix server_group_members quota check f9874e0 Add functional regressions tests for server_group_members OverQuota 2baa223 Handle compare in test_pre_live_migration_volume_backed* directly a6411af Resource_provider API handler does not return specific error codes 9da28e8 Remove mox in unit/network/test_neutronv2.py (2) 69bb7ad Add documentation for emulator threads policy 70236a3 Fix whitespace damage 9012a09 Use valid UUID in the placement gabbits 379cf65 Transform instance.live_migration_post notification 8ddbe07 Transform instance.live_migration_rollback_dest notification e06c287 Update install guide for placement database configuration 6d9c27e move lookup of provider from _new_allocations() 7f81657 Time how long pre_live_migration() takes 2bca643 Add action initiator attribute to the instance payload 8df21c1 Default embedded instance.flavor.disabled attribute d34d70c objects: Add NUMACell.network_metadata 70538a5 network: Retrieve tunneled status in '_get_physnet_info' de72526 network: Always retrieve network information if available d185991 Stop setting glance_api_version in cinder.conf in nova-live-migration 73ad42a Wait for vif plugging during live migration job 63626a7 cover migration cases with functional tests 08fb09e Fix unbound local when saving an unchanged RequestSpec 00b13a2 Prevent updating an RP's parent to form a loop ac9acce Handle nested serialized json entries in assertJsonEqual e2d7189 libvirt: add qemu version check when configuring mtu for network e2b790e conf: Resolve Sphinx errors 0083b58 Remove unnecessary execute permissions of a file a34731d Convert 'placement_api_docs' into a Sphinx extension 16812e8 Regression test for bug 1779635 f87ed51 Regression test for bug 1779818 8f0aa1f Update admin/flavors document 54d3e70 Fix missing versioned notification examples f44d285 [doc] enhance admin/configuration/api.rst dd4e949 Use 'version2' when syncing placement db e30b6a7 [placement] fix allocation handler docstring typo c4e0ad1 Fix placement incompatible with webob 1.7 2337aa5 manage: Remove dead code fb73047 Define common variables for irrelevant-files 4240fa7 Fix nits in placement-return-all-resources series 5b4aa78 Add microversion for nested allocation candidate 1c59397 libvirt: Fix the rescue race for vGPU instances 70b1045 More config drive docs updates 39d4577 Remove file injection from config drive sample docs 17b3bae Use ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa in tree 5c0f937 Mention PowerVM support of config drive df669ca tox: Reuse envdirs 255f71a Update xenapi_disable_agent config option usage in docs 68e6551 conf: Correct documentation for '[pci] passthrough_whitelist' 7601b3b tox: Document and dedupe mostly everything 021a271 Merge server create for security group extension 87666c5 Merge server create for user data extension de4ab97 trivial: Remove 'tools/releasenotes_tox.sh' b921339 Add regression test for bug #1764883 43e5a5a Remove mox in sec group test and functional tests bdc1842 Use nova.test.TestingException 4c0fea8 libvirt: Add missing encryption_secret_uuid tests for pre_live_migration 1a079a6 Mention server status in api-ref when rebuild ac67136 Remove mox in unit/network/test_neutronv2.py (1) aa67211 Make nova-lvm run in check on libvirt changes and compute API tests 50658ee Allow templated cell_mapping URLs 683fbe3 Remove remaining legacy DB API instance_group* methods 7a4c43d Remove unused DB API instance_group_member* methods 7f45549 Remove unused DB API instance_group_delete method de03b83 Merge server create schema for user data extension 1f67706 Merge server create schema for security group extension 1160921 Remove compatibility code for instance groups f4ec811 Merge server create schema for scheduler hint extension 74ee397 Merge server create schema for multiple create extension 07731a6 Merge server create schema for keypair extension 6c731b4 Merge server create schema for config drive extension 623cd72 [placement] demonstrate part of bug 1778591 with a gabbi test 1ea3d5e Handle CannotDeleteParentResourceProvider to 409 Conflict 6261325 Fix unit test modifying global state 8ad33cf [placement] Fix capacity tracking in POST /allocations 17fcbe9 Merge server create schema for BDM v2 extension 571e9eb Update scheduler to use image-traits 4f14614 [placement] Add test demonstrating bug 1778743 814bfd9 conf: libvirt: Make `/dev/urandom` the default for 'rng_dev_path' 3780335 Skip ServerShowV247Test.test_update_rebuild_list_server in nova-cells-v1 job 1476b03 Fix CLI docs for nova-manage api_db commands 8d4db5b Update API reference for os-floating-ip-pools 47f646c Fix API reference for os-floating-ip-dns c62b377 Fix API reference for os-floating-ips-bulk 5097309 Remove support for /os-fixed-ips REST API 5b72eee Fix the duplicated config options of api_database and placement_database 2d2700f network: Rename 'create_pci_requests_for_sriov_ports' 2bb9e55 network: Rename '_get_phynet_info' ee461b5 Make nova list and migration-list ignore down cells 0b9b37f Add instance.unlock notification 6b56bba [placement] Demonstrate bug in consumer generation handling 724f672 Delete port bindings in setup_networks_on_host if teardown=True c5356cb Add "activate_port_binding" neutron API method 19c334b Add "delete_port_binding" network API method 750e065 Add "bind_ports_to_host" neutron API method 042bc07 Test alloc_cands with indirectly sharing RPs 04e4c68 Switch to oslo_messaging.ConfFixture.transport_url d137fd1 network: Unchain '_get_phynet_info' from '_get_port_vnic_info' af4d8d3 Adapter raise_exc=False by default 68caa29 Bump keystoneauth1 minimum to 3.9.0 44181a5 conf: Deprecate 'network_manager' 1b4d87b Fix bug to filter_scheduler 55c8616 Fix bug to api-ref 5314377a [placement] Extract create_allocation_list 78891c2 libvirt: Log breadcrumb for known encryption bug 4562004 Remove mox in test_conductor.py (2) bcc112f Remove mox in test_conductor.py (1) 0ffd252 api-ref: Fix parameters about trusted certificate IDs 4547dc7 Remove mox in nova/tests/unit/virt/xenapi/stubs.py b1fdb2e Fix nits from change Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34 e9683f1 Implement discard for file backed memory 8566dcf Fix nits from change I676291ec0faa1dea0bd5050ef8e3426d171de4c6 0746061 placement: s/None/null/ in consumer conflict msg 627ff16 Merge server create schema for legacy BDM extension b44cb82 objects: Remove legacy '_to_dict' functions 1fb782a objects: Remove NUMATopologyLimits.obj_from_db_obj e985f5e Cleanup nits in placement database changes 102cdb9 Add instance.lock notification d3e7bf2 fix PowerVM get_bootdisk_path docstring cbc28f0 Implement file backed memory for instances in libvirt 0694ff2 Comment proposed ironic fix for removal of ironic driver workaround 10bca5c Ironic update_provider_tree: restore traits override aca9b92 Fix nits from change Id609789ef6b4a4c745550cde80dd49cabe03869a 0928209 Add a microversion for consumer generation support 07f027d Be graceful about vif plugging in early ironic driver startup a79e288 Mention nova-status upgrade check CLI in upgrade doc a307073 Add information of deprecation nova-network in system-admin.rst a1e4460 Add check if neutron "binding-extended" extension is available 5aadff7 Wait for network-vif-plugged before starting live migration c8d5a71 Don't heal allocations for deleted servers 72efb45 Convert ironic virt driver to update_provider_tree 8cea14a Fix regression when listing build_requests with marker and ip filter 0372d82 Ensure that os-traits sync is attempted only at start of process 5dff348 Isolate placement database config 2a0f2a0 Add full traceback to ExceptionPayload in versioned notifications aa6dd06 Optimize member_of check for nested providers 7b2ee89 Resource tracker: improve resource tracker periodic task ae4285c Clarify placement DB schema migration f51ac65 Fix MigrateData object tests for compat routines 8de155f Nix unused raise_if_custom_resource_class_pre_v1_1 530c245 Skip ServerShowV263Test.test_show_update_rebuild_list_server for cellsv1 2a96946 Simplify instance name generation 22ef346 ironic: bugfix: ensure a host is set for volume connectors db8da49 Revert "Re-using the code of os brick cinder" d678a55 placement: Make API history doc more consistent 0dc0db9 Make host_aggregate_map dictionary case-insensitive 562fff5 Return all nested providers in tree dee92e6 Add osprofiler config options to generated reference f64e6ea Fix retrying lower bound in requirements.txt 1e77faa unquiesce instance after quiesce failure 763fd62 Add policy rule to block image-backed servers with 0 root disk flavor 814bc9d Enforce placement minimum in nova.cmd.status d8f8f4c Update the disk_cachemodes to mention an rbd detail df57c50 Add trusted certs to feature support matrix docs dc9fb58 Fix nits from trusted certs notification change 27ca2e3 Remove max_size parameter from fake_libvirt_utils.fetch_*image methods ddccdc3 Add PLACEMENT_DB_ENABLED=True to the nova-next job 0044beb Optional separate database for placement API 8992416 Add supplementary info for simple_cell_setup cmd 196eef0 Add certificate validation docs 70aa9a1 Add troubleshooting item about ignored microversions dd952f9 Make check_can_live_migrate_destination use long_rpc_timeout 1a5a3a9 [placement] Add status and links fields to version document at / e8ed9aa Add notification support for trusted_certs 5e36e33 Fix execute mock for test_convert_image_with_errors 2cc37f2 rework allocation handler _allocations_dict() f449650 placement: Allocation.consumer field 7b6fb27 Ignore UserWarning for scope checks during test runs 8c7ca36 Add trusted_image_certificates to REST API 7b0e214 Powervm configuration cleanup 450444a [placement] replace deprecated accept.best_match 20da4ee Update nova-status & docs: require placement 1.25 8430e31 Remove network info stubbing in functional test 2dbe8d2 XenAPI: update the document related to vdi streaming f7593de XenAPI: define a new image handler to use vdi streaming c8edb8c api-ref: expand on various bdm parameters 37aea88 Add enhanced KVM storage QoS quotas 577a4b1 Plumb trusted_certs through the compute service 1c36b64 add consumers generation field 595ea73 Implement certificate_utils 43cc59a Provide a direct interface to placement 7e48b22 libvirt: Don't report DISK_GB if sharing d2dc99a Remove nova dependencies from test_resource_provider aa8f600 Adjust db using allocation unit tests ce12d7a Move db using provider unit tests to functional 20d7e9a Update links in README 1ae0603 Remove unnecessary parameters from create volume API 714c800 VMware: remove reading resourcePool data 29d35cd VMware: save VC reads for information that is static fe26a52 Use oslo.messaging per-call monitoring 4a0d8d9 Refactor libvirt get_memory_used_mb() c791cc4 xenapi: drop deprecated vif_driver config option 03d80cf placement: always create consumer records a4bc988 Document the internal online_migrations function behaviors 8800440 libvirt: remove unused get_ovs_interfaceid() e3c5bd4 doc follow https://review.openstack.org/#/c/572195 b268454 Extract part of PlacementFixture to placement 3f98da0 fix tox python3 overrides d5ac24b Remove mox in libvirt/test_driver.py (4) 466f91c Remove mox in test_compute_api.py (3) 98c5033 Fix bug to doc:nova-status 1669458 Fix the file name of development-environment.rst 6027b33 Fix issues in nova-show-usage-statistics-for-hosts-instances.rst 91e2907 Change consecutive build failure limit to a weigher 1fc3e7d Do not use nova.test in placement.test_deploy 288972b Do not use nova.test in placement.test_microversion 1201aab Do not use nova.test in placement.test_handler 5787ab4 Do not use nova.test in placement.test_fault_wrap 01b9bc7 Do not use nova.test in placement.test_requestlog dac241a Do not use nova.test in placement.handlers.test_aggregate 23220e3 Do not use nova.test in placement.test_util a991471 sync_guest_time: use the proper errno 4c93003 Remove support for /os-virtual-interfaces REST API f02b380 add mtu to libvirt xml for ethernet and bridge types 47423df Fix doc nit 724d440 Ensure resource class cache when listing usages 014288d api-ref: mention that you can't re-parent a resource provider e7bdd19 Transform instance.exists notification 8d68281 Enhance api-guide general info some updates 098051d Fix some wrong urls in doc d01863e Trivial: let internal use only func has _ prefix dd713a0 Fix bug to doc 67ce24f Re-base placement object unit tests on NoDBTestCase 1d57be4 [placement] Do not import oslo_service for log_options 8fce9f4 Fix bug for hypervisors 40e76e1 Fix typo in enable_certificate_validation config option help 900558d Fix some inconsistencies in doc 036fb56 Only run placement request filters when Placement will be called 5b8137d Downgrade overquota warning 7de1b87 Remove unused _disk_qcow2_to_raw 95106d2 Add nova-manage placement heal_allocations CLI 91f5af7 Trim the fat on HostState.instances 1bbd144 Restrict CONF.quota.driver to DB and noop quota drivers abd01a7 Consider hostdev devices when building metadata d16d0d5 Refactor _build_device_metadata 39a9617 Fix invalid raise in test_compute_mgr d632c4c Mention running rootwrap in daemon mode if hitting vif plug timeouts 9f28727 Match ComputeNode.uuid to ironic node uuid in RT 88e21d8 network: update pci request spec to handle trusted tags f9ddddc metadata: add vf_trusted field to device metadata 771a736 Skip ServerShowV254Test.test_rebuild_server in cells v1 job 397e883 libvirt: add vf_trusted field for network metadata 3f5594c libvirt: configure trust mode for vfs 5eda1fa mirror nova host aggregate members to placement 8c21660 Use instance project/user when creating RequestSpec during resize reschedule 4c3cb03 add parameter docstring for 'params' to libvirt.guest.Guest.migrate() 08edad6 Set scope for remaining placement policy rules b3e897d Update overriden to overridden 7c725ee pci: don't consider case when match tags specs 90f19ca Remove mox in libvirt/test_driver.py (3) a833bcd Adding NVMEoF for libvirt driver c0c2cbf Fix doc mistakes c881e77 Remove unused function 8b8c5da Re-using the code of os brick cinder cdfee39 Fix nits in nested provider allocation candidates(2) 97530c2 Return all resources in provider_summaries 5447a69 placement: Use INNER JOIN for requied traits 9b5bd89 Delete duplicate functions in placement test 1f37b16 Use list instead of set for duplicate check 068c56f Support nested alloc cands with sharing providers addfa52 Fix nits in nested provider allocation candidates e12968c Follow up changes to granular placement policy reviews 8ac77b0 Add granular policy rules for allocation candidates 5eb0441 Add granular policy rules for placement allocations e26a599 Add granular policy rules for traits in placement 9e44dc3 Add granular placement policy rules for aggregates f22f6d1 Add granular policy rules for usages d2e40a3 Change exception type while deattaching root device fc4794a libvirt: Deprecate support for monitoring Intel CMT `perf` events 399554a Remove mox in tests/unit/api/openstack/compute e997ca6 PowerVM Driver: vSCSI Fibre Channel volume adapter 96f1071 Honor availability_zone hint via placement 89b3286 Remove the remaining of the removed option 517cbd0 Convert libvirt's RBD storage to using processutils.execute() fda4821 libvirt: Skip fetching the virtual size of block devices 0a6b567 Add traits check in nested provider candidates 737c897 Return nested providers in get_by_request 1dcd878 Expand tests for multiple shared resources case 6bd9d4e Pushing image traits to ironic node 3abd5f5 Update placement upgrade docs for nova-api dependency on placement a1a335f Avoid unnecessary joins in HostManager._get_instances_by_host 7f79758 Placement: allow to set reserved value equal to total for inventory 30c87c5 Update PowerVM hypervisor docs 216e232 Update nova-status and docs for required placement 1.24 9ef4d76 Granular requests to get_allocation_candidates 493fbf7 libvirt: get_inventory => update_provider_tree 8ab386e Normalize inventory from update_provider_tree b864d08 ProviderTree.has_inventory_changed for new fields 026c2a6 PowerVM Driver: Localdisk 6cfcce0 Expose instance_get_all_uuids_by_host() from DB API and use it 549e5a2 Make instance.refresh() avoid recursion better 7dc4286 Make instance able to lazy-load almost everything 5d86aa7 Fix interpretation of max_attempts for scheduling alternates d163fb6 Update the deprecate os_region_name option 9724ec1 libvirt: place emulator threads on CONF.compute.cpu_shared_set dd1dea2 Fix inconsistency in docs dd5e9e3 Remove mox in libvirt/test_driver.py (2) b6b46fb Fakelibvirt migrateToURI3 should provide args according to libvirt doc 6b4c38c Metadata-API fails to retrieve avz for instances created before Pike e23bed7 PowerVM snapshot cleanup 0e76912 Add granular policy rules for resource providers inventories 77973ba Add granular policy rules for /resource_classes* 0a46197 Implement granular policy rules for placement ccc02de Deduplicate config/policy reference docs from main index 64e76de Make nova service-list use scatter-gather routine 18a0180 Fix auth_url example in hypervisor-hyper-v.rst 26f000e Drop API compat handling for old compute error cases 6f9908d PowerVM Driver: DiskAdapter parent class 9f48aee Remove deprecated monkey_patch config options 68faf87 Debug logs for allocation_candidates filters ee6a257 Cleanup ugly stub in TestLocalDeleteAllocations b53d81b Deprecate running API services under eventlet 9a80272 Add retrying to requirements.txt 44e2d7a [placement] default to accept of application/json when */* 54ebc43 We don't need utils.trycmd any more. e38caa2 Move image conversion to privsep. 17105cc Update auth_url in install docs 6c7b947 Add INVENTORY_INUSE to DELETE /rp/{u}/inventories 90d2dbe placement: Fix HTTP error generation 13621a6 Remove unnecessary 'to_primitive' call e4ea541 Remove mox in test_xenapi.py (3) 0aba56c Remove mox in tests/unit/api/*/test_volumes.py 75350de Remove mox in test_live_migrate.py ca4973d Remove mox in libvirt/test_driver.py (1) aa5b132 Added ability to configure default architecture for ImagePropertiesFilter 554ae07 __str__ methods for RequestGroup, ResourceRequest e95af3f add lower-constraints job eec0fe5 XenAPI: Pass expected return codes to resize2fs ac114ec Make scheduler client allow multiple member_of query parameters d5202b5 Add contributor docs on deprecating and removing compute REST APIs 0c20743 Suppress UUID warning in map_instance unit tests cd53a18 Don't reschedule on RequestedVRamTooHigh errors 46d919c Flexibly test keystonmiddleware in placement stack 359ca26 Fix HTTP500 error of changes-since on v2.0 API 016986f libvirt: Report the virtual size of RAW disks fd9aebe Fix irrelevant-files in nova-dsvm-multinode-base 6f4a4d5 Remove '_apply_instance_name_template' f0ad6a6 Add connection_parameters to list of items copied from database 238b89b XenAPI: deprecate the config for image handler class path 525fb60 Remove mox in test_compute_api.py (2) a676d2e api-ref: Fix parameters for os-volume-attachments.inc 1c56ef6 Avoid warning log when image not exist 5f2b88b update scheduler to use image-traits 02661ca Remove support for /os-fping REST API 42d2163 Add test_set_device_mtu_default back in 724c424 Move set_vf_interface_vlan to the new utility module. f9a0c19 Move create_tap_dev to the new utility module. eb3da9f Address feedback from instance_list smart-cell behavior 4f1dba5 trivial: Explain how the marker works for instance-cell mapping 20b3a04 Add random sleep between retry calls to placement 3508263 Remove remaning log translation in scheduler 79b8dcc Remove mox in test_xenapi.py (2) 913a99c Make get_instance_objects_sorted() be smart about cells a084a10 Add CellMapping.get_by_project_id() query method 927b6cc Skip ServerActionsTestJSON.test_rebuild_server for cells v1 job 1c3151d [doc] Add soft_deleted flag b958bf1 Expose driver_block_device fields consistently 717d091 Fix detach_volume calls when rolling back a failed attach 9232358 remove IVS plug/unplug as they're moved to separate plugin 052cefc Followup for multiple member_of qparams support 936f765 [Doc]Link policies file into api cbd9634 libvirt: always pass emulator threads policy 30cda51 compute: introduce cpu_shared_set option 1ae5821 Add docs for hw_video:ram_max_mb flavor extra spec fca14f0 Use .. deprecated:: theme for deprecations a2a01c4 doc: Don't confuse CPU pinning/NUMA as Hyper-V only 12948cf Add tests for alloc cands with poor local disk 9af0733 placement: Granular GET /allocation_candidates d43f122 libvirt: remove old rbd snapshot removal error handling 8e33857 libvirt: check image type before removing snapshots in _cleanup_resize 29160cf Remove unused methods in nova/compute/utils.py bc8580c Remove mox in test_xenapi.py (1) 7d82462 Migrate tempest-dsvm-multinode-live-migration job in-tree 72633d9 Fix typos in Host aggregates documentation b20682f Remove mox in unit/virt/xenapi/test_vmops.py f1c5f3d Remove mox in test_compute_api.py (1) e86ac82 Changing scheduler sync event from INFO to DEBUG 7f996eb placement: Object changes for granular 71de700 Use helpers in test_resource_provider (func) 69baecb Use test_base symbols directly e856112 Base test module/class for functional placement db 3437bae Fix being able to hard reboot a pausing instance 80a0019 Handle @safe_connect returns None side effect in _ensure_resource_provider e91dad3 Deprecate the nova-consoleauth service c53c9ea Update layout docs for running console proxies 9692390 Convert websocketproxy to use db for token validation 4a55e26 Remove [scheduler]/host_manager config option dd1a416 doc: Start using openstackdoctheme's extlink extension 368b6d9 support multiple member_of qparams fcdc61a doc: Don't use single backticks in man pages a268905 trivial: Fix file permissions e1c269b [doc]remove nova-cert leftover in doc 7fd14f1 Add multi-cell negative test for cold migration with target host 6a06fd2 Fix the request context in ServiceFixture e2b538d Get anchors for sharing providers a556088 Remove IronicHostManager and baremetal scheduling options 8fafbb3 libvirt: Drop MIN_LIBVIRT_REALTIME_VERSION be135bd libvirt: Drop MIN_QEMU_POSTCOPY_VERSION 204d578 libvirt: Drop BAD_LIBVIRT_CPU_POLICY_VERSIONS 8ac2fe4 Convert configdrive to use processutils. 41d6b47 Make association_refresh configurable b3d2c2a Convert certificate generation to processutils. d08314d Convert xenapi's xvp console to processutils. ea2d459 Convert fping API to processutils.execute() eb4be18 Replace Chinese punctuation with English punctuation 7ee4fef libvirt: fix setting tx_queue_size when rx_queue_size is not set 35759d5 Remove stale pip-missing-reqs tox test d5901f6 Fix shelving a paused instance cc27a20 libvirt: Lift the restriction of choices for `cpu_model_extra_flags` 8e438ed libvirt: Make `cpu_model_extra_flags` case-insensitive for real 6e49019 Add user_id to RequestSpec 3c756ac Remove ExactCoreFilter ExactDiskFilter ExactRamFilter 339c29f libvirt: Fix misleading debug msg "Instance is running" e1b452d libvirt: Drop BAD_LIBVIRT_NUMA_VERSIONS 1a0179f Handle PortNotFoundClient exception when getting ports a732c41 libvirt: Drop MIN_LIBVIRT_NUMA_VERSION_PPC cb9ea6b libvirt: Drop MIN_LIBVIRT_BLOCK_LM_WITH_VOLUMES_VERSION a54e5ed log stale allocations as WARNING instead of DEBUG fdea8b7 Make host_manager use scatter-gather and ignore down cells 5fe3a01 Make service all-cells min version helper use scatter-gather 3c95254 Fix tox -e docs 2f70faf placement: resource requests for nested providers c2f7d65 Add host/hostId to instance action events API b8ea920 Simplify BDM boot index checking 24706c4 Remove explicit instance.info_cache.delete() 35b3046 Handle deprecation of inspect.getargspec 577cb4b ServerActionsSampleJsonTest refactor b9815c2 Fix dropped check for boot_index 0 in _validate_bdm 3bb59e3 PowerVM Driver: Snapshot 8941c79 libvirt: fix hard reboot issue with mdevs 864acf7 Bump pypowervm minimum to 1.1.15 5b00f19 Make accept-language tests work with webob 1.8.x e55008c Fix invalid UUIDs in test 6507a8f Functional test: cold migrate to compute down 6ba8bc4 Use os.rename, not mv. d247c89 Proxy is_volume through DriverBlockDevice 9ee9926 Use ConsoleAuthToken object to generate authorizations 77d3fc3 Address issues raised in adding member_of to GET /a-c ef15a2d docs: link to volume multi-attach demo recording 048fa23 api-ref: mark block_device_mapping_v2.boot_index as required 37af0f2 doc: add note about xenapi aggregate upcall being resolved 1c36654 Remove vestigial system_metadata param from info_from_instance() 53eab6d Drop MIN_LIBVIRT_SET_ADMIN_PASSWD 403320b libvirt: Bump MIN_{LIBVIRT,QEMU}_VERSION for "Rocky" a1eca36 libvirt: add support for virtio-net rx/tx queue sizes 8ea168d libvirt: fix wrong driver name for vhostuser interface 880f628 libvirt: Add a debug log entry before / after invoking migrate() 8bcb9ee xenapi: Documents update for XAPI pool shared SR migration 3db8159 Remove deprecated [placement] opts 6efbed5 Fix link in placement contributor doc edf67cf Add `hide_hypervisor_id` flavor extra_spec 7c37aba Mention that users need noVNC >= 0.6 5a42701 xenapi: handle InstanceNotFound in detach_interface() 3827b8f fix a typo 698630e Update docs for [keystone_authtoken] changes since Queens c51e207 Move some tests into nova.tests.unit.notifications.objects.test_instance 5c26bfa Leave a hint when populate_schema fails 94de8d7 Add request_id to instance action notifications 979b066 Add root and parent provider uuid to group by clause 7c01dd1 Improve check capacity sql 6182b82 Rename recreate to evacuate in driver signatures 586a18a Deduplicate notification samples Rocky - 7 1853c74 Add periodic task to clean expired console tokens 9b7affc xenapi: Use XAPI pool instead of aggregate pool for shared SR migration 33f6ff2 Remove mox in unit/api/openstack/compute/test_hosts.py 589c495 Cleanup RP and HM records while deleting a compute service. ea9d0af Delete allocations from API if nova-compute is down 42f62f1 Block deleting compute services which are hosting instances a80ac96 Add functional test for deleting a compute service 815b11f mock utils.execute() in qemu-img unit test 67f52ab Add CPUWeigher 203572a Fix docs for confirmResize action b3c3f2f Remove placement config check 2c51688 Parse forbidden in extra_specs a687748 Deduplicate notification samples Rocky - 6 fd025e5 Deduplicate notification samples Rocky - 5 f9bb4dc Deduplicate notification samples Rocky - 4 1f2715f doc: BFV instances and IsolatedHostsFilter 0183613 Remove redundant _do_check_can_live_migrate_destination a3a94cf Improve performance when list instances with IP filter 5cece42 Remove mox in test_serversV21.py (2) 4e86736 Remove mox in test_serversV21.py (1) 23bd8f6 libvirt: Report the allocated size of preallocated file based disks 1152896 Document how to disable notifications a36219c tests for alloc candidates with nested and traits 92bce25 Add config drive link to api-guide 825529a Move update_task_state out of try/except e285070 Fix doc link for api b33f24b Address nits in I00d29e9fd80e6b8f7ba3bbd8e82dde9d4cb1522f 7500462 Extract generate_hostid method into utils.py cbf02e0 Record the host info in EventReporter 71ee33c Deduplicate notification samples Rocky - 3 fda3cde Deduplicate notification samples Rocky - 2 414f5d4 Deduplicate notification samples Rocky - 1 bd9f24b Provide framework for setting placement error codes d435f2f Update os_compute_api:os-flavor-extra-specs:index docs for 2.61 8a6722e Update os_compute_api:os-flavor-extra-specs:index docs for 2.47 4e07d81 [placement] Support forbidden traits in API 6f31523 [placement] Filter allocation candidates by forbidden traits in db e980f61 [placement] Filter resource providers by forbidden traits in db 8bde404 [placement] Parse forbidden traits in query strings 88f86e2 doc: cleanup API guide about instance faults ee29fe6 Address nits in Idf57fb5fbc611abb83943bd7e36d3cebf03b3977 5c98984 tests: Fix how context managers are mocked 441a637 Cleanup patch for the cell-disable series 154c05f libvirt: refactor get_base_config to accept host arg d6c730c libvirt: move version to string in utils 68c32a5 Update link of metadata fd154e7 Move xenapi partition copies to privsep. e2926a2 Sync xenapi and libvirt on what flags to pass e2fsck. 7b43fb4 Move xenapi disk resizing to privsep. 483531b Use Queens UCA for nova-multiattach job c3a894b Skip placement on rebuild in same host 406c9d1 Remove the branch specifier from the nova-multiattach job cb6c8ca Make the nova-multiattach job non-voting temporarily fe2bfe5 Give volume DriverBlockDevice classes a common prefix 6db94da remove ec2 in service and cmd 57149d9 Remove mox in test_neutron_security_groups.py 28f29ca Remove RequestContext.instance_lock_checked 4afa8c2 Fix race fail in test_resize_with_reschedule_then_live_migrate e6dc26f Remove :return from update_provider_tree docstring 62edffc uncap eventlet in nova c0187a0 xenapi: Support live migration in pooled multi-nodes environment 3176f21 trivial: fix a comment typo 0baba40 Add microversion to support extra_specs in flavor API. dee8de3 Imported Translations from Zanata 4a78dcc Remove mox in tests/unit/test_utils.py a77af00 api-ref: Fix parameter order in rebuild 39fbcfd api-ref: Parameter verification for servers.inc (3/3) bab3184 api-ref: Parameter verification for servers.inc (2/3) b11c573 Remove mox in test_virt_drivers.py 7fd2de8 Make ResourceClass.normalize_name handle sharp S 4439803 Test case: ResourceClass.normalize_name with ß 8a67fcd PowerVM: Add proc_units_factor conf option 6abca80 Update wording in @safe_connect placement warnings 197539d Expose shutdown retry interval as config setting 28d337b Pick next minimum libvirt / QEMU versions for "Stein" 0abdd78 Remove mox in unit/virt/xenapi/test_vm_utils.py (3) 09fb074 Remove mox in unit/virt/xenapi/test_vm_utils.py (2) 6be4fd0 Remove mox in unit/virt/xenapi/test_vm_utils.py (1) a53dbc0 make metadata doc up to date eaf6340 Log a warning and add nova-status check for old API service versions 32f5c50 Avoid dumping stack on BuildAbortException ecea14d Fix comments at the 'save' method of objects.Instance 7ceccee libvirt: Block swapping to an encrypted volume when using QEMU to decrypt 61a30a1 Remove mox in unit/api/*/test_server_metadata.py d65d890 Remove mox in unit/api/*/test_server_password.py 0d4230e Replace mox stubs with stub_out in test_extended_volumes.py 3495b47 Remove mox in unit/api/*/test_instance_actions.py 8d2a186 Remove mox in test_user_data.py 6647f11 Don't persist RequestSpec.retry 89448be Add regression test for persisted RequestSpec.retry from failed resize ce28405 Move test_report_client out of placement namespace b752717 Log a more useful error when cinder auth isn't configured a6d9655 doc: add a link in the install guides about configuring neutron 588cde9 Cleanup _get_request_spec_for_select_destinations for live migrate 104c9e6 Clarify/correct the ordering of API and Cell database schema updates 5437764 Rename network.utils to network.linux_utils. 124a7d8 Update ImageMetaProp object to expose traits 401434a Use a pythonic delete, with a retry. db6aa64 [placement] Fix incorrect exception import 660da1e Update the cells FAQs and scheduler maintenance docs. 587eb43 Log a more useful error when neutron isn't configured f32a2ef Update the Cell filters section of the scheduler docs f9e13bc update_provider_tree devref and docstring updates 6b601b7 libvirt: Allow to specify granular CPU feature flags ce90bec Support extending attached ScaleIO volumes 090d58d Transform aggregate.update_metadata notification 7eb6703 Add nova-status check for ironic flavor migration cc457df Add __repr__ for NovaException cd01cbe Add --enable and --disable options to nova-manage update_cell dbca815 Noauth should also use request_id from compute_req_id.py 8d68f23 Avoid unnecessary port update during live migration 32b7f48 DRY up test_rollback_live_migration_set_migration_status ef7e2a1 Default to py3 for the pep8 tox env because it's stricter 1b61d6c Avoid showing password in log 812e2c1 Remove a outdated warning cc0d8ab Move xenapi xenstore_read's to privsep. 0751ee1 Move configurable mkfs to privsep. e91fc7d Request only instance_uuid in ironic node list 8bbad19 Include only required fields in ironic node cache 27614dc network: add command to configure trusted mode for VFs 9dd1923 [placement] api-ref: Fix parameters 902f5be [Trivial]Add missing blank space in conf description 7668efb Add tests for _get_trees_matching_all() function d9369d0 Fix cancel_all_events event name parsing 20918c0 Get rid of 406 paths in report client 28b696f Move pypowervm requirement to 1.1.12 e2924ba Use an independent transaction for _trait_sync 0d3d959 Test case: traits don't sync if first access fails ecdbe1c Expand member_of functional test cases 0bb490e Fix member_of with sharing providers d31e54b Add tests for alloc_cands with member_of 8b6b65f Fix a missing white space in exception message 7866a01 Make generation optional in ProviderTree f05e627 Fix nits in update_provider_tree series 83a5f90 Use update_provider_tree from resource tracker 32fdf52 SchedulerReportClient.update_from_provider_tree c8defb7 Complement tests in allocation candidates 92d6fc0 trivial: Fix nits in code comments a6122a7 [placement] Add test for provider summaries e458bd0 Fix unit tests to work with new oslo.config ba083b0 Allow scheduling only to enabled cells (Filter Scheduler) bb8ba2c Teardown networking when rolling back live migration even if shared disk 9fccb60 Remove unnecessary code encoding specification d714527 [placement] Add to contributor docs about handler testing 589eb88 Add trusted_certs object e35e8d7 Add trusted_certs to instance_extra 00cfb0b Move get_stashed_volume_connector to compute.utils a27da62 Documentation for tenant isolation with placement bdf06d1 [placement] Fix bad management of _TRAITS_SYNCED flag 6360fe1 Fix N332 api_version decorator hacking check 20eaaee Use ksa session for cinder microversion check ad4a26e vmware: Fixes _detach_instance_volumes method ed525cc PowerVM Driver: Network interface attach/detach a91af59 Fix issue for pep8 on py3 732e202 Add require_tenant_aggregate request filter 9522794 Add AggregateList.get_by_metadata() query method f6ea6e6 Add an index on aggregate_metadata.value a9e7581 Make get_allocation_candidates() honor aggregate restrictions 3860f04 Move two more generic network utilities to a move obvious place. 5abe875 Start untangling network utilities. 688f93d Add aggregates list to Destination object 5f36caf Add request filter functionality to scheduler b862f6f tox: Make everything work with Python 3 5473815 VMware: add log message for VIF info details 81b04f6 Fix spelling mistake of HTTPNotFound exception 1f0638f tests: fixes mock autospec usage 7ab957f Use a pythonic delete. 9ee1095 Remove duplicative implementation of temporary directories. 2e96bd1 api-ref: add a note about volume-backed rescue not being supported 378bef7 Scheduling Optimization: Remove cell0 from the list of candidates 56283f1 api-ref: Parameter verification for servers.inc (1/3) 4842681 Add host to API and Conductor 7f1b338 doc: Upgrade placement first 02e357e Fix allocation_candidates not to ignore shared RPs ecb09b2 remove unnecessary short cut in placement ac51b5b Fix comments in get_all_with_shared() 8eb1cfa Unit test framework: common FakeResponse a2821bd tox: Remove unnecessary configuration 9f5103f tox: Fix indentation 4e2919e Standardize '_get_XXX_constraint' functions 2a1afa3 Updated from global requirements 244f1e0 Fix api-ref: nova image-meta is deprecated from 2.39 0ccfc6f Docs: modernise links 538ec87 Updated from global requirements 2e491f7 Modify nova-manage cell_v2 list_cells to display "disabled" column 9e9520a Add disabled option to create_cell command b1ed92c Move _make_instance_list call outside of DB transaction context 06c9fa0 Stop using mox in virt/xenapi/image/test_vdi_through_dev.py 16e1910 Use microversion parse 0.2.1 517bace Add the version description for InstanceActionEventList 2c19b56 Updated from global requirements 32d5a2a Add host field to InstanceActionEvent c89034e remove a comment about ec2 464985a Add functional regression test for bug 1746509 3a503a8 Always deallocate networking before reschedule if using Neutron be9854b Change compute mgr placement check to region_name 1f44fde make PowerVM capabilities explicit 5be3a8a Move placement test cases from db to placement a0b4116 List instances performace optimization a26ad9f Add CellMappingList.get_by_disabled() query method 620e4c1 libvirt: move vpu_realtime_scheduler in designer a4fcfbd libvirt: move get_numa_memnode in designer module 0ab927b Remove translate and a TODO 62efb80 Add more functional test for placement.usage 497e032 deprecate fping_path config option 2f7df94 Remove useless run_periodic_tasks call in ClientRouter 6482165 Handle EndpointNotFound when building image_ref_url in notifications 670b83f Don't log a warning for InstanceNotFound with deleted VIFs 5f3cca2 Preserve multiattach flag when refreshing connection_info acab8b0 ironic: stop lying to the RT when ironic is down 789bad8 Clarify log in RT._update_usage_from_migration 9377127 Add disabled field to CellMapping object 5f16e71 libvirt: handle DiskNotFound during update_available_resource 2616b38 only increment disk address unit for scsi devices bbb668b Fix message for unexpected external event 0e06149 Fix typos in release notes 8e6d5d4 libvirt: slow live-migration to ensure network is ready d6be2ec Remove version/date from CLI documentation 1a072ea Move placement exceptions into the placement package dd6ba7c Report client: Remove version discovery comment 24d9e06 add check before adding cpus to cpuset_reserved c67c74d trivial: omit condition evaluations 1a241d0 remove _cleanup_running_deleted_instances repeat detach volume f0620a0 [libvirt] Add _get_XXXpin_cpuset() 7abd289 [libvirt] Add _get_numa_memnode() f9743f0 Add disabled column to cell_mappings table. 9e745f4 Add placeholder migrations for Queens backports 38f7b68 Updated from global requirements 005a66d Add --by-service to discover_hosts e0c43ac api-ref: add a note in DELETE /os-services about deleting computes a3e9530 conf: Remove 'db_driver' config opt a69e05d Add 'member_of' param to GET /allocation_candidates c21ab6b Follow the new PTI for document build 75fc300 docs: Disable smartquotes 0896a0a Updated from global requirements 60c62f7 Stop assuming initial provider generation is 0 fd0b1bd ProviderTree.{add|remove}_{traits|aggregates} dc2d151 Unmap compute nodes when deleting host mappings in delete cell operation 0cfe925 Cleanup tempest-dsvm-cells-rc blacklist 6b87eb5 Make nova-cells-v1 run with neutron ac20fc2 ironic: Get correct inventory for deployed node 98163f9 Marker reset option for nova-manage map_instances 388db7e placement: Return new provider from POST /rps 3216f07 placement: generation in provider aggregate APIs 8da01e7 Change TestNewtonCellsCheck to not rely on objects ed3e27a Revert "Refine waiting for vif plug events during _hard_reboot" 9038738 Revert "Make the InstanceMapping marker UUID-like" eb637b9 Update contributor/placement.rst to contemporary reality f0a7990 Updated from global requirements 8da6831 Make archive_deleted_rows handle a missing CONF.api_database.connection 67f1c98 Transform live_migration.post.dest notifications 07d861f Reparent placement objects to oslo_versionedobjects 8b19d5b Move resource provider objects into placement hierarchy f346913 Move resource class fields 4607f95 Updated from global requirements 66d4757 Fix N358 hacking check 3921cbc New-style _set_inventory_for_provider d734481 conf: Fix indentation of database options 1b112ac conf: Remove deprecated 'allow_instance_snapshots' opt 0e43002 conf: Remove deprecated 'multi_instance_display_name_template' opt af703e7 conf: Remove '[conductor] topic' opt 39f6159 Update deprecated log-config option in docs 2d738f7 Updated from global requirements dc32774 remove unnecessary conf imports fcda5c2 Fix indentation in doc/source/cli/* a4a04a6 Make nova build reproducible c52d34f Raise a proper exception in unit test 0e7e3e1 Rename '_numa_get_constraints_XXX' functions 6435b37 Migrate tempest-dsvm-cells job to an in-tree job definition fd59fbd Make nova-manage db purge take --all-cells 320c085 hardware: Rework get_number_of_serial_ports 17fef0c hardware: Rework '_get_cpu_topology_constraints' ff47787 Add --purge helper flag to archive_deleted_rows 43f91a8 Re-work the metadata service docs a869b9c conf: Remove 'nova.crypto' opts 44935e9 ca: Remove 'nova/CA' directory ddb2b02 crypto: Remove unused functions a234bbf Allow to configure amount of PCIe ports 1bd7492 ironic: Clean up resources after unprovision fails 00a0308 Update the nova-manage db archive_deleted_rows description 0b11a09 Deprecate sparse LVs 1e0b7a2 Rename the 'recreate' param in rebuild_instance to 'evacuate' ae241cc Add simple db purge command 64635ba Run post-test archive against cell1 0e9cd6c XenAPI: XCP2.1+ Swallow VDI_NOT_IN_MAP Exception cab8139 conf: Deprecate 'keymap' options fbb69db Removed unnecessary parantheses in yield statements 0098dbf Handle IpAddressAlreadyAllocated exception c69470b Update contributor guide for Rocky 9ef56fa Handle not found error on taking snapshot 715a3ca Save admin password to sysmeta in libvirt driver ef6f4e4 Refactor WSGI apps and utils to limit imports c4397d5 Transform servergroup.addmember notification a6d456f Add more functional test for placement.aggregates b81a66b Fix version cap when no nova-compute started 139426d Check for multiattach before removing connections 01333a7 Updated from global requirements 87a6bb4 VMware: fix TypeError while get console log 21be506 Make the nova-next job voting and gating d5f49ed Fix the notification devref location in exception 3541470 Updated from global requirements 5d2add7 Updated from global requirements d2941bf Pass user context to virt driver when detaching volume 5799f5f Updated from global requirements 7a8415b Move db MAX constants to own file 5f881ff [placement] use simple FaultWrapper 3a3b0f0 Allow 'network' in RequestContext service_catalog 66fefc0 Stop using mox in api/openstack/fakes.py fef1435 Move makefs to privsep e94151c Convert users of tune2fs to privsep. 6839630 libvirt: mask InjectionInfo.admin_pass 5133a54 Remove unused LOG variables 8e2000e Clarify wording in listing instance actions for deleted instances b5f38fb Add check for redundant import aliases 012f7b0 Make _get_sharing_providers more efficient ed7af4c Update noVNC deployment docs to mention non-US keymap fix in 1.0.0 e8e8941 Check for leaked server resource allocations in post_test_hook 558540a rp: GET /resource_providers?required=<traits> caf1678 compute: Cleans up allocations after failed resize 9abccf8 Clarify `resources` query param for /r_p and /a_c dcdd2c9 Handle spawning error on unshelving 16c2c8b Ensure attachment_id always exists for block device mapping b16c0f1 Avoid exploding if guest refuses to detach a volume b2cf359 [placement] api-ref: Fix a missing response code 3120627 Add functional test for deleting BFV server with old attach flow a390290 Only attempt a rebuild claim for an evacuation to a new host 0652e4a Detach volumes when deleting a BFV server pre-scheduling 08f0f71 Add functional recreate test of deleting a BFV server pre-scheduling b3f3924 Clean up ports and volumes when deleting ERROR instance ce531dd libvirt: disconnect volume from host during detach f1215e0 Functional test: evacuate with no compute ee2f65d Extending delete_cell --force to delete instance_mappings fb68fd1 Return 400 when compute host is not found 3017531 Fix PatternPropertiesTestCase for py 3.6 c23f135 [placement] Add functional tests for traits API 0989878 Scheduler multiple workers support e3257a5 Imported Translations from Zanata 8fe8757 Updated from global requirements 3b673dd Remove single quotes from posargs on stestr run commands 2fc11a7 Clarify update_provider_tree docstring d2152f3 Only pull associated *sharing* providers 5754ac0 Fix error handling in compute API for multiattach errors a029209 Trivial: Update help of enabled_filters 0c9225b Add a nova-caching-scheduler job to the experimental queue e8406e6 api-ref: Further clarify placement aggregates 5a9cfed Enable native mode for ScaleIO volumes 9268cd5 trivial: Move __init__ function 4d226e5 Add admin guide doc on volume multiattach support 61f6751 Detach volumes when VM creation fails 8ca01a3 Python 3 fix for sphinx doc 9526802 doc: Clarify how to create your own filter 20edeb3 Add functional tests to ensure BDM removal on delete ad9e2a5 Store block device mappings in cell0 8cd6467 Drop extra loop which modifies Cinder volume status 3a258ba Remove deprecated aggregate DB compatibility 9238711 Remove old flavor_create db api method 233cebc Remove old flavor_get_all db api method 04f381c Remove old flavor_get db api method 0a76727 Remove old flavor_get_by_name db api method f74651e Remove old flavor_get_by_flavor_id db api method b0b2370 Remove old flavor_destroy db api method 4aedd51 Remove old flavor_access_get_by_flavor_id db api method 4d5e370 Test websocketproxy with TLS in the nova-next job 68e17a8 Updated from global requirements 95057b0 libvirt: add Linux distribution guest only description for inject_xxx options 481a760 libvirt: remove TODO on validation of scsi model 26c593c Avoid inventory DELETE API (no conflict detection) d8a3956 install-guide: Wrap long console command 37d8688 install-guide: Make formatting of console consistent 9628d2a Cleanup the manage-volumes admin doc 6a67861 Remove warning in feature support matrix page db686fe Use correct arguments in task inits 537155a Remove the deprecated scheduler_driver_task_period option 4746a0d Clarify the help text for [scheduler]periodic_task_interval 8be8d02 Fix and update compute schedulers config guide 6ba8a35 Lazy-load instance attributes with read_deleted=yes 199eb83 Fix warn api_class is deprecated, use backend a761e57 Drop compute RPC 4.x compatibility 54713a8 Don't JSON encode instance_info.traits for ironic a016e02 Move the nova-next job in-tree and update it 2dd322a Use dict.get() when accessing capabilities dict b72d307 Fix typo in NUMATopologyFilter docs c6aef6b [libvirt] Add _get_vcpu_realtime_scheduler() fc71fb8 [placement] annotate loadapp as public interface 6c0026d Replace Chinese quotes to English quotes 60bbec1 Fix docs for IsolatedHostsFilter 0a7427d Handle volume-backed instances in IsolatedHostsFilter 4f9667b Add regression test for BFV+IsolatedHostsFilter failure 7ecd7e6 doc: merge numa.rst to cpu-topologies.rst ab4efbb [placement] Add sending global request ID in get f66bd73 [placement] Add sending global request ID in put (3) 02a1551 Ensure resource classes correctly 30b7a56 Provide basic data for AArch64 support matrix/functionality 791803d TrivialFix: Add a space between messages f2194a4 Fix grammar error b6516d7 Update reno for stable/queens aaf37a2 Refine waiting for vif plug events during _hard_reboot de32a70 doc: mention that --on-shared-storage is not needed with nova evacuate b516c48 doc: fix the link for the evacuate cli 289d270 Check quota before creating volume snapshots ad38924 Add the ability to get absolute limits from Cinder bca425a unquiesce instance on volume snapshot failure 8e687ab VGPU: Modify the example of vgpu white_list set de6e2b9 [placement] Move body examples to an isolated directory 13f4127 Remove MigrationPreCheckClientException 6c2353b Bindep does not catch missing libpcre3-dev on Ubuntu a5476c0 Use with method to consistent oslo timeutils usage eda85cc Add log for snapshot an instance cabcc91 trivial: Fix microversion number in test comment d77e9c7 Remove unnecessary arguments in notification methods fefb416 Remove unnecessary variables a563d1f Make the InstanceMapping marker UUID-like c5b11d9 fix link ea67570 Make bdms querying in multi-cell use scatter-gather and ignore down cell 063fc48 update docstring param description bbc745b Remove microversion fallback code from report client fb3d6af update the description of hypervisor statistics response 1137248 Not use thread alloc policy for emulator thread 128c179 Only log during pop retry phase 7db2019 Ensure the JSON-Schema covers the legacy v2 API 0a53812 test_compute_mgr: fix couple of unit tests 082191e Remove old flavor_access_add db api methods 39e54d5 Remove old flavor_access_remove db api method cf6a268 Remove old flavor_extra_specs_get db api method 0eca044 Remove old flavor_extra_specs_delete db api method 27c7c88 Remove old flavor_access_get_by_flavor_id db api method ec184fe Remove unused method _parse_node_instance_info 5895566 Add resource_class to fields in ironic node cache d189364 Update docstring for get_traits virt driver method 0d2031a5 Allow force-delete even if task_state is not None 6029ccd Invalid query parameter could lead to HTTP 500 ea006b1 [Placement] Invalid query parameter could lead to HTTP 500 f53e0f0 Remove compute nodes arg from ProviderTree init 1268b34 Don't modify objects directly 33f544e trivial: Resolve "X is renamed to Y" warnings 9185e31 trivial: Don't use 'Test' prefix for non-TestCase classes e88688d Remove unused tempest-dsvm-lxc-rc c5d84e3 trivialfix: cleanup _pack_instance_onto_cores() 5e899e8 Always pass 'NUMACell.siblings' to _pack_instance_onto_cores' f200a4a Ensure emulator threads are always calculated 9c7d612 tests: refactors and cleans up test_rbd.py e344b30 Don't filter out sibling sets with one core 03be4be api-ref: provide more detail on what a provider aggregate is fa4737c Remove redundant call to add_instance_fault_from_exc in rebuild_instance b80c245 hyper-v: Logs tips on PortBindingFailed e7b3333 Add unit tests for EmulatorThreadsTestCase eaa766e [libvirt] Filter hypervisor_type by virt_type 537f480 Handle network-changed event for a specific port 7f1dee5 Fix nits in allocation candidate limit handling 4a17f69 Do not multiply megabytes with 1024 to get gigabytes. 1f5fe31 Update plugs Contrail methods to work with privsep 1b46015 Address nits in change I7e01f95d7173d9217f76e838b3ea71555151ef56 63f5dd5 trivial: Resolve 'oslo.context' deprecation warnings 936404b setup.cfg: Explicitly set [build_sphinx] builder ec5c27a Check the return code when forcing TCG mode with libguestfs 1430f6c Remove vestigial extra_info update in PciDevice.save() e536b06 doc: Adds Hyper-V PCI passthrough details 6770882 Delete checking a bool opt of None condition Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + .gitreview | 1 + .zuul.yaml | 117 +- HACKING.rst | 4 +- README.rst | 4 +- api-guide/source/conf.py | 6 + api-guide/source/faults.rst | 26 +- api-guide/source/general_info.rst | 26 +- api-guide/source/links_and_references.rst | 4 +- api-guide/source/paginated_collections.rst | 37 +- api-guide/source/server_concepts.rst | 32 +- api-guide/source/versions.rst | 6 +- api-ref/source/flavors.inc | 20 +- api-ref/source/images.inc | 5 +- api-ref/source/index.rst | 10 +- api-ref/source/os-certificates.inc | 6 +- api-ref/source/os-cloudpipe.inc | 6 +- api-ref/source/os-fixed-ips.inc | 18 +- api-ref/source/os-floating-ip-dns.inc | 62 +- api-ref/source/os-floating-ip-pools.inc | 10 +- api-ref/source/os-floating-ips-bulk.inc | 27 +- api-ref/source/os-fping.inc | 12 +- api-ref/source/os-hypervisors.inc | 18 +- api-ref/source/os-instance-actions.inc | 14 +- api-ref/source/os-migrations.inc | 2 +- api-ref/source/os-security-group-rules.inc | 24 +- api-ref/source/os-server-groups.inc | 32 +- api-ref/source/os-services.inc | 16 +- api-ref/source/os-virtual-interfaces.inc | 15 +- api-ref/source/os-volume-attachments.inc | 12 +- api-ref/source/parameters.yaml | 700 ++- api-ref/source/server-migrations.inc | 9 +- api-ref/source/servers-actions.inc | 55 +- api-ref/source/servers-admin-action.inc | 9 + api-ref/source/servers.inc | 189 +- bindep.txt | 2 + devstack/tempest-dsvm-caching-scheduler-rc | 30 + devstack/tempest-dsvm-cells-rc | 29 +- devstack/tempest-dsvm-lvm-rc | 7 + devstack/tempest-dsvm-lxc-rc | 50 - .../v2.61/flavor-create-post-req.json | 11 + .../v2.61/flavor-create-post-resp.json | 26 + .../flavor-manage/v2.61/flavor-update-req.json | 5 + .../flavor-manage/v2.61/flavor-update-resp.json | 26 + .../flavors/v2.61/flavors-detail-resp.json | 178 + .../flavors/v2.61/flavors-list-resp.json | 109 + .../v2.29/server-evacuate-find-host-req.json | 5 + .../servers-details-resp.json | 6 + .../servers-list-resp.json | 6 + .../instance-action-get-resp.json | 31 +- .../instance-actions-list-resp.json | 30 +- .../v2.21/instance-action-get-resp.json | 31 +- .../v2.21/instance-actions-list-resp.json | 30 +- .../v2.51/instance-action-get-non-admin-resp.json | 28 +- .../v2.51/instance-action-get-resp.json | 31 +- .../v2.51/instance-actions-list-resp.json | 30 +- .../v2.58/instance-action-get-non-admin-resp.json | 14 +- .../v2.58/instance-action-get-resp.json | 18 +- .../v2.58/instance-actions-list-resp.json | 26 +- .../instance-actions-list-with-limit-resp.json | 16 +- .../instance-actions-list-with-marker-resp.json | 14 +- ...nstance-actions-list-with-timestamp-filter.json | 14 +- .../v2.62/instance-action-get-non-admin-resp.json | 21 + .../v2.62/instance-action-get-resp.json | 23 + .../v2.62/instance-actions-list-resp.json | 24 + .../instance-actions-list-with-limit-resp.json | 20 + .../instance-actions-list-with-marker-resp.json | 14 + ...nstance-actions-list-with-timestamp-filter.json | 14 + .../v2.59/migrations-get-with-limit.json | 10 +- .../v2.64/server-groups-get-resp.json | 11 + .../v2.64/server-groups-list-resp.json | 13 + .../v2.64/server-groups-post-req.json | 7 + .../v2.64/server-groups-post-resp.json | 11 + .../server-migrations/force_complete.json | 3 - .../server-migrations/live-migrate-server.json | 7 - .../server-migrations/v2.22/force_complete.json | 3 + .../v2.22/live-migrate-server.json | 7 + .../v2.24/live-migrate-server.json | 7 + .../v2.65/live-migrate-server.json | 6 + .../servers/servers-list-status-resp.json | 24 + .../servers/v2.16/servers-details-resp.json | 6 + .../servers/v2.16/servers-list-resp.json | 6 + .../servers/v2.19/servers-details-resp.json | 6 + .../servers/v2.19/servers-list-resp.json | 6 + .../servers/v2.3/servers-details-resp.json | 6 + .../servers/v2.3/servers-list-resp.json | 6 + .../servers/v2.47/server-update-req.json | 5 +- .../servers/v2.47/server-update-resp.json | 2 +- .../servers/v2.47/servers-details-resp.json | 7 +- .../servers/v2.47/servers-list-resp.json | 6 + .../servers/v2.52/servers-details-resp.json | 6 + .../servers/v2.52/servers-list-resp.json | 6 + .../servers/v2.63/server-action-rebuild-resp.json | 69 + .../servers/v2.63/server-action-rebuild.json | 20 + .../servers/v2.63/server-create-req.json | 28 + .../servers/v2.63/server-create-resp.json | 22 + .../servers/v2.63/server-update-req.json | 9 + .../servers/v2.63/server-update-resp.json | 65 + .../servers/v2.63/servers-details-resp.json | 100 + .../servers/v2.9/servers-details-resp.json | 6 + .../servers/v2.9/servers-list-resp.json | 6 + .../aggregate-update_metadata-end.json | 13 + .../aggregate-update_metadata-start.json | 8 + .../aggregate-update_prop-end.json | 11 + .../aggregate-update_prop-start.json | 11 + .../common_payloads/AuditPeriodPayload.json | 9 + .../common_payloads/BandwidthPayload.json | 10 + .../common_payloads/InstanceActionPayload.json | 40 +- .../InstanceActionRebuildPayload.json | 13 + .../InstanceActionRescuePayload.json | 2 +- .../InstanceActionResizePrepPayload.json | 2 +- .../InstanceActionSnapshotPayload.json | 9 + .../InstanceActionVolumePayload.json | 9 + .../InstanceActionVolumeSwapPayload.json | 10 + .../common_payloads/InstanceCreatePayload.json | 8 +- .../common_payloads/InstanceExistsPayload.json | 12 + .../common_payloads/InstancePayload.json | 45 + .../common_payloads/InstanceUpdatePayload.json | 33 + .../common_payloads/ServerGroupPayload.json | 4 +- .../instance-create-error.json | 5 +- .../instance-interface_attach-error.json | 5 +- .../instance-live_migration_abort-end.json | 94 +- .../instance-live_migration_abort-start.json | 94 +- ...instance-live_migration_force_complete-end.json | 12 + ...stance-live_migration_force_complete-start.json | 12 + .../instance-live_migration_post-end.json | 12 + .../instance-live_migration_post-start.json | 12 + .../instance-live_migration_post_dest-end.json | 14 + .../instance-live_migration_post_dest-start.json | 12 + .../instance-live_migration_pre-end.json | 3 +- .../instance-live_migration_pre-start.json | 3 +- .../instance-live_migration_rollback-end.json | 7 +- .../instance-live_migration_rollback-start.json | 7 +- .../instance-live_migration_rollback_dest-end.json | 11 + ...nstance-live_migration_rollback_dest-start.json | 11 + .../instance-reboot-error.json | 5 +- .../instance-rebuild-error.json | 89 +- .../instance-rebuild-start.json | 83 +- .../instance-rebuild_scheduled.json | 11 + .../instance-resize-error.json | 81 +- .../instance-resize-start.json | 85 +- .../instance-resize_finish-end.json | 85 +- .../instance-resize_finish-start.json | 85 +- .../instance-restore-start.json | 86 +- .../instance-resume-start.json | 94 +- .../instance-shelve-start.json | 85 +- .../instance-shelve_offload-end.json | 88 +- .../instance-shelve_offload-start.json | 87 +- .../instance-shutdown-end.json | 71 +- .../instance-shutdown-start.json | 85 +- .../instance-snapshot-end.json | 85 +- .../instance-snapshot-start.json | 86 +- .../instance-soft_delete-end.json | 88 +- .../instance-soft_delete-start.json | 88 +- .../instance-suspend-start.json | 85 +- .../instance-trigger_crash_dump-end.json | 88 +- .../instance-trigger_crash_dump-start.json | 88 +- .../instance-unshelve-end.json | 84 +- .../instance-unshelve-start.json | 89 +- .../instance-update-tags-action.json | 92 +- .../instance-volume_attach-end.json | 85 +- .../instance-volume_attach-error.json | 91 +- .../instance-volume_attach-start.json | 85 +- .../instance-volume_detach-end.json | 85 +- .../instance-volume_detach-start.json | 85 +- .../instance-volume_swap-end.json | 76 +- .../instance-volume_swap-error.json | 94 +- .../instance-volume_swap-start.json | 86 +- .../server_group-add_member.json | 11 + ...a-show-usage-statistics-for-hosts-instances.rst | 22 +- .../admin/configuration/hypervisor-hyper-v.rst | 13 +- .../admin/configuration/hypervisor-powervm.rst | 73 +- .../admin/configuration/hypervisor-vmware.rst | 8 + .../admin/configuration/hypervisor-xen-api.rst | 65 +- .../admin/migrate-instance-with-snapshot.rst | 137 + .../configuration/sample-placement-policy.rst | 16 + etc/nova/README-policy.yaml.txt | 22 +- etc/nova/nova-config-generator.conf | 1 + etc/nova/placement-policy-generator.conf | 5 + etc/nova/rootwrap.d/compute.filters | 3 - gate/post_test_hook.sh | 58 +- lower-constraints.txt | 174 + nova/CA/.gitignore | 11 - nova/CA/geninter.sh | 39 - nova/CA/genrootca.sh | 30 - nova/CA/newcerts/.placeholder | 0 nova/CA/openssl.cnf.tmpl | 94 - nova/CA/private/.placeholder | 0 nova/CA/projects/.gitignore | 1 - nova/CA/projects/.placeholder | 0 nova/CA/reqs/.gitignore | 1 - nova/CA/reqs/.placeholder | 0 nova/api/auth.py | 2 +- nova/api/metadata/base.py | 28 +- nova/api/metadata/handler.py | 2 +- nova/api/openstack/__init__.py | 18 +- nova/api/openstack/api_version_request.py | 17 +- nova/api/openstack/auth.py | 11 +- nova/api/openstack/common.py | 12 - nova/api/openstack/compute/attach_interfaces.py | 2 +- nova/api/openstack/compute/availability_zone.py | 2 +- nova/api/openstack/compute/block_device_mapping.py | 74 - .../openstack/compute/block_device_mapping_v1.py | 52 - nova/api/openstack/compute/config_drive.py | 12 - nova/api/openstack/compute/extended_volumes.py | 23 +- nova/api/openstack/compute/extension_info.py | 4 - nova/api/openstack/compute/fixed_ips.py | 87 +- nova/api/openstack/compute/flavor_manage.py | 24 +- nova/api/openstack/compute/flavors.py | 19 +- nova/api/openstack/compute/floating_ip_dns.py | 230 +- nova/api/openstack/compute/floating_ips_bulk.py | 134 +- nova/api/openstack/compute/fping.py | 116 +- nova/api/openstack/compute/hosts.py | 2 +- nova/api/openstack/compute/instance_actions.py | 21 +- .../openstack/compute/instance_usage_audit_log.py | 3 - nova/api/openstack/compute/keypairs.py | 17 - nova/api/openstack/compute/migrate_server.py | 13 +- nova/api/openstack/compute/migrations.py | 2 +- nova/api/openstack/compute/multiple_create.py | 48 - .../openstack/compute/rest_api_version_history.rst | 77 + nova/api/openstack/compute/routes.py | 6 +- nova/api/openstack/compute/scheduler_hints.py | 33 - .../compute/schemas/block_device_mapping.py | 87 - .../compute/schemas/block_device_mapping_v1.py | 49 - nova/api/openstack/compute/schemas/config_drive.py | 19 - nova/api/openstack/compute/schemas/fixed_ips.py | 36 - .../api/openstack/compute/schemas/flavor_manage.py | 5 +- .../openstack/compute/schemas/floating_ip_dns.py | 60 - .../openstack/compute/schemas/floating_ips_bulk.py | 52 - nova/api/openstack/compute/schemas/fping.py | 28 - nova/api/openstack/compute/schemas/keypairs.py | 8 - .../openstack/compute/schemas/multiple_create.py | 20 - nova/api/openstack/compute/schemas/quota_sets.py | 5 +- .../openstack/compute/schemas/scheduler_hints.py | 78 - .../openstack/compute/schemas/security_groups.py | 23 - .../api/openstack/compute/schemas/server_groups.py | 19 + nova/api/openstack/compute/schemas/servers.py | 218 +- nova/api/openstack/compute/schemas/user_data.py | 34 - nova/api/openstack/compute/security_groups.py | 17 - nova/api/openstack/compute/server_diagnostics.py | 12 - .../openstack/compute/server_external_events.py | 2 +- nova/api/openstack/compute/server_groups.py | 55 +- nova/api/openstack/compute/server_migrations.py | 8 +- nova/api/openstack/compute/servers.py | 265 +- nova/api/openstack/compute/services.py | 37 +- nova/api/openstack/compute/user_data.py | 30 - nova/api/openstack/compute/views/flavors.py | 29 +- nova/api/openstack/compute/views/servers.py | 15 +- nova/api/openstack/compute/virtual_interfaces.py | 54 +- nova/api/openstack/compute/volumes.py | 4 +- nova/api/openstack/identity.py | 2 +- nova/api/openstack/placement/auth.py | 10 +- nova/api/openstack/placement/context.py | 52 + nova/api/openstack/placement/db_api.py | 44 + nova/api/openstack/placement/deploy.py | 58 +- nova/api/openstack/placement/direct.py | 94 + nova/api/openstack/placement/errors.py | 47 + nova/api/openstack/placement/exception.py | 207 + nova/api/openstack/placement/fault_wrap.py | 48 + nova/api/openstack/placement/handler.py | 35 +- nova/api/openstack/placement/handlers/aggregate.py | 70 +- .../api/openstack/placement/handlers/allocation.py | 383 +- .../placement/handlers/allocation_candidate.py | 122 +- nova/api/openstack/placement/handlers/inventory.py | 78 +- .../openstack/placement/handlers/resource_class.py | 11 +- .../placement/handlers/resource_provider.py | 81 +- nova/api/openstack/placement/handlers/root.py | 12 + nova/api/openstack/placement/handlers/trait.py | 35 +- nova/api/openstack/placement/handlers/usage.py | 10 +- nova/api/openstack/placement/lib.py | 21 +- nova/api/openstack/placement/microversion.py | 145 +- nova/api/openstack/placement/objects/__init__.py | 0 nova/api/openstack/placement/objects/consumer.py | 253 + nova/api/openstack/placement/objects/project.py | 92 + .../placement/objects/resource_provider.py | 4207 +++++++++++++++ nova/api/openstack/placement/objects/user.py | 92 + nova/api/openstack/placement/policies/__init__.py | 37 + nova/api/openstack/placement/policies/aggregate.py | 53 + .../api/openstack/placement/policies/allocation.py | 92 + .../placement/policies/allocation_candidate.py | 38 + nova/api/openstack/placement/policies/base.py | 42 + nova/api/openstack/placement/policies/inventory.py | 95 + .../openstack/placement/policies/resource_class.py | 86 + .../placement/policies/resource_provider.py | 86 + nova/api/openstack/placement/policies/trait.py | 120 + nova/api/openstack/placement/policies/usage.py | 54 + nova/api/openstack/placement/policy.py | 105 +- nova/api/openstack/placement/requestlog.py | 5 +- .../openstack/placement/resource_class_cache.py | 154 + .../placement/rest_api_version_history.rst | 409 +- nova/api/openstack/placement/schemas/aggregate.py | 22 +- nova/api/openstack/placement/schemas/allocation.py | 26 + .../placement/schemas/allocation_candidate.py | 30 + nova/api/openstack/placement/schemas/inventory.py | 14 +- .../placement/schemas/resource_provider.py | 10 + nova/api/openstack/placement/util.py | 404 +- nova/api/openstack/placement/wsgi.py | 61 +- nova/api/openstack/placement/wsgi_wrapper.py | 5 + nova/api/openstack/requestlog.py | 2 +- nova/api/openstack/wsgi.py | 39 +- nova/api/openstack/wsgi_app.py | 2 - nova/api/validation/__init__.py | 13 +- nova/api/validation/parameter_types.py | 18 +- nova/api/wsgi.py | 298 ++ nova/cmd/__init__.py | 8 + nova/cmd/api.py | 2 - nova/cmd/api_metadata.py | 2 - nova/cmd/api_os_compute.py | 2 - nova/cmd/baseproxy.py | 2 + nova/cmd/cells.py | 2 - nova/cmd/common.py | 4 +- nova/cmd/compute.py | 2 - nova/cmd/conductor.py | 5 +- nova/cmd/consoleauth.py | 5 + nova/cmd/manage.py | 813 ++- nova/cmd/network.py | 2 - nova/cmd/policy.py | 2 +- nova/cmd/scheduler.py | 11 +- nova/cmd/status.py | 254 +- nova/compute/api.py | 669 ++- nova/compute/flavors.py | 26 +- nova/compute/instance_list.py | 31 +- nova/compute/manager.py | 1338 +++-- nova/compute/migration_list.py | 4 +- nova/compute/multi_cell_list.py | 38 +- nova/compute/provider_tree.py | 122 +- nova/compute/resource_tracker.py | 281 +- nova/compute/rpcapi.py | 463 +- nova/compute/stats.py | 8 + nova/compute/utils.py | 334 +- nova/conductor/api.py | 6 +- nova/conductor/manager.py | 155 +- nova/conductor/rpcapi.py | 5 +- nova/conductor/tasks/live_migrate.py | 66 +- nova/conductor/tasks/migrate.py | 8 +- nova/conf/__init__.py | 8 +- nova/conf/api.py | 38 +- nova/conf/base.py | 42 - nova/conf/cells.py | 3 +- nova/conf/compute.py | 155 +- nova/conf/conductor.py | 13 - nova/conf/configdrive.py | 8 +- nova/conf/consoleauth.py | 4 + nova/conf/crypto.py | 111 - nova/conf/database.py | 129 +- nova/conf/devices.py | 9 +- nova/conf/glance.py | 2 +- nova/conf/guestfs.py | 8 +- nova/conf/libvirt.py | 244 +- nova/conf/network.py | 19 +- nova/conf/neutron.py | 56 + nova/conf/notifications.py | 32 +- nova/conf/paths.py | 1 + nova/conf/pci.py | 44 +- nova/conf/placement.py | 85 +- nova/conf/powervm.py | 66 + nova/conf/quota.py | 21 +- nova/conf/rpc.py | 46 + nova/conf/scheduler.py | 245 +- nova/conf/service.py | 14 +- nova/conf/spice.py | 8 +- nova/conf/upgrade_levels.py | 126 +- nova/conf/vmware.py | 14 + nova/conf/vnc.py | 11 +- nova/conf/workarounds.py | 33 + nova/conf/wsgi.py | 4 +- nova/conf/xenserver.py | 67 +- nova/conf/zvm.py | 86 + nova/config.py | 5 + nova/console/api.py | 3 - nova/console/manager.py | 2 +- nova/console/securityproxy/rfb.py | 3 - nova/console/websocketproxy.py | 92 +- nova/console/xvp.py | 13 +- nova/context.py | 25 +- nova/crypto.py | 211 +- nova/db/__init__.py | 11 +- nova/db/api.py | 236 +- nova/db/base.py | 15 +- nova/db/constants.py | 25 + nova/db/sqlalchemy/api.py | 975 +--- .../versions/044_placement_add_projects_users.py | 5 - .../migrate_repo/versions/053_placeholder.py | 22 + .../migrate_repo/versions/054_placeholder.py | 22 + .../migrate_repo/versions/055_placeholder.py | 22 + .../migrate_repo/versions/056_placeholder.py | 22 + .../migrate_repo/versions/057_placeholder.py | 22 + .../versions/058_cell_mapping_add_disabled.py | 26 + .../versions/059_add_consumer_generation.py | 29 + .../060_instance_group_policy_add_rules.py | 26 + .../061_instance_mapping_add_queued_for_delete.py | 27 + nova/db/sqlalchemy/api_models.py | 19 +- .../345_require_online_migration_completion.py | 8 +- .../migrate_repo/versions/379_placeholder.py | 22 + .../migrate_repo/versions/380_placeholder.py | 22 + .../migrate_repo/versions/381_placeholder.py | 22 + .../migrate_repo/versions/382_placeholder.py | 22 + .../migrate_repo/versions/383_placeholder.py | 22 + .../migrate_repo/versions/384_placeholder.py | 22 + .../migrate_repo/versions/385_placeholder.py | 22 + .../migrate_repo/versions/386_placeholder.py | 22 + .../migrate_repo/versions/387_placeholder.py | 22 + .../migrate_repo/versions/388_placeholder.py | 22 + .../versions/389_add_aggregate_metadata_index.py | 44 + .../migrate_repo/versions/390_add_trusted_certs.py | 32 + nova/db/sqlalchemy/migration.py | 9 +- nova/db/sqlalchemy/models.py | 2 + nova/db/sqlalchemy/resource_class_cache.py | 172 - nova/exception.py | 285 +- nova/exception_wrapper.py | 13 +- nova/hacking/checks.py | 101 +- nova/image/api.py | 9 +- nova/image/glance.py | 109 +- nova/locale/cs/LC_MESSAGES/nova.po | 98 +- nova/locale/de/LC_MESSAGES/nova.po | 140 +- nova/locale/es/LC_MESSAGES/nova.po | 139 +- nova/locale/fr/LC_MESSAGES/nova.po | 141 +- nova/locale/it/LC_MESSAGES/nova.po | 139 +- nova/locale/ja/LC_MESSAGES/nova.po | 138 +- nova/locale/ko_KR/LC_MESSAGES/nova.po | 142 +- nova/locale/pt_BR/LC_MESSAGES/nova.po | 139 +- nova/locale/ru/LC_MESSAGES/nova.po | 139 +- nova/locale/tr_TR/LC_MESSAGES/nova.po | 101 +- nova/locale/zh_CN/LC_MESSAGES/nova.po | 150 +- nova/locale/zh_TW/LC_MESSAGES/nova.po | 134 +- nova/manager.py | 4 +- nova/network/api.py | 14 +- nova/network/base_api.py | 84 +- nova/network/linux_net.py | 138 +- nova/network/linux_utils.py | 122 + nova/network/neutronv2/api.py | 585 +- nova/network/neutronv2/constants.py | 1 + nova/network/os_vif_util.py | 23 +- nova/network/security_group/neutron_driver.py | 8 +- nova/notifications/__init__.py | 1 - nova/notifications/base.py | 85 +- nova/notifications/objects/aggregate.py | 4 + nova/notifications/objects/base.py | 19 +- nova/notifications/objects/exception.py | 14 +- nova/notifications/objects/instance.py | 191 +- nova/notifications/objects/metrics.py | 85 + nova/notifications/objects/server_group.py | 10 +- nova/objects/__init__.py | 2 + nova/objects/agent.py | 2 +- nova/objects/aggregate.py | 226 +- nova/objects/bandwidth_usage.py | 2 +- nova/objects/block_device.py | 2 +- nova/objects/cell_mapping.py | 161 +- nova/objects/compute_node.py | 4 +- nova/objects/console_auth_token.py | 5 +- nova/objects/dns_domain.py | 2 +- nova/objects/ec2.py | 2 +- nova/objects/fields.py | 180 +- nova/objects/fixed_ip.py | 2 +- nova/objects/flavor.py | 8 +- nova/objects/floating_ip.py | 2 +- nova/objects/host_mapping.py | 52 +- nova/objects/image_meta.py | 30 +- nova/objects/instance.py | 175 +- nova/objects/instance_action.py | 25 +- nova/objects/instance_fault.py | 2 +- nova/objects/instance_group.py | 225 +- nova/objects/instance_info_cache.py | 2 +- nova/objects/instance_mapping.py | 56 +- nova/objects/instance_numa_topology.py | 16 +- nova/objects/instance_pci_requests.py | 2 +- nova/objects/keypair.py | 2 +- nova/objects/migrate_data.py | 127 +- nova/objects/migration.py | 2 +- nova/objects/migration_context.py | 2 +- nova/objects/network.py | 2 +- nova/objects/network_metadata.py | 46 + nova/objects/numa.py | 108 +- nova/objects/pci_device.py | 3 +- nova/objects/quotas.py | 2 +- nova/objects/request_spec.py | 124 +- nova/objects/resource_provider.py | 3598 ------------- nova/objects/security_group.py | 2 +- nova/objects/security_group_rule.py | 2 +- nova/objects/service.py | 92 +- nova/objects/tag.py | 2 +- nova/objects/task_log.py | 2 +- nova/objects/trusted_certs.py | 36 + nova/objects/vcpu_model.py | 2 +- nova/objects/virt_device_metadata.py | 8 +- nova/objects/virtual_interface.py | 2 +- nova/objects/volume_usage.py | 2 +- nova/pci/request.py | 1 + nova/pci/utils.py | 15 +- nova/pci/whitelist.py | 51 +- nova/policies/__init__.py | 10 - nova/policies/fixed_ips.py | 49 - nova/policies/flavor_extra_specs.py | 40 +- nova/policies/floating_ip_dns.py | 78 - nova/policies/floating_ips_bulk.py | 51 - nova/policies/fping.py | 62 - nova/policies/instance_actions.py | 5 +- nova/policies/servers.py | 49 + nova/policies/virtual_interfaces.py | 41 - nova/privsep/fs.py | 189 +- nova/privsep/libvirt.py | 111 +- nova/privsep/qemu.py | 59 + nova/privsep/utils.py | 78 + nova/privsep/xenapi.py | 37 + nova/quota.py | 36 +- nova/rc_fields.py | 64 + nova/rpc.py | 18 +- nova/scheduler/client/report.py | 1086 ++-- nova/scheduler/driver.py | 10 +- nova/scheduler/filter_scheduler.py | 57 +- nova/scheduler/filters/affinity_filter.py | 46 +- .../aggregate_image_properties_isolation.py | 5 +- .../filters/aggregate_instance_extra_specs.py | 7 +- nova/scheduler/filters/compute_filter.py | 5 +- nova/scheduler/filters/core_filter.py | 5 +- nova/scheduler/filters/disk_filter.py | 14 +- nova/scheduler/filters/exact_core_filter.py | 58 - nova/scheduler/filters/exact_disk_filter.py | 52 - nova/scheduler/filters/exact_ram_filter.py | 49 - nova/scheduler/filters/image_props_filter.py | 22 +- nova/scheduler/filters/io_ops_filter.py | 9 +- nova/scheduler/filters/isolated_hosts_filter.py | 5 +- nova/scheduler/filters/metrics_filter.py | 2 +- nova/scheduler/filters/num_instances_filter.py | 10 +- nova/scheduler/filters/numa_topology_filter.py | 14 +- nova/scheduler/filters/ram_filter.py | 11 +- nova/scheduler/filters/retry_filter.py | 7 +- nova/scheduler/filters/utils.py | 10 +- nova/scheduler/host_manager.py | 163 +- nova/scheduler/ironic_host_manager.py | 141 - nova/scheduler/manager.py | 33 +- nova/scheduler/request_filter.py | 100 + nova/scheduler/utils.py | 214 +- nova/scheduler/weights/affinity.py | 35 +- nova/scheduler/weights/compute.py | 33 + nova/scheduler/weights/cpu.py | 41 + nova/service.py | 11 +- nova/test.py | 34 +- .../functional/api/openstack/placement/base.py | 69 + .../api/openstack/placement/db/__init__.py | 0 .../placement/db/test_allocation_candidates.py | 2659 ++++++++++ .../api/openstack/placement/db/test_base.py | 130 + .../api/openstack/placement/db/test_consumer.py | 305 ++ .../api/openstack/placement/db/test_project.py | 31 + .../api/openstack/placement/db/test_reshape.py | 359 ++ .../placement/db/test_resource_class_cache.py | 145 + .../placement/db/test_resource_provider.py | 2391 +++++++++ .../api/openstack/placement/db/test_user.py | 31 + .../functional/api/openstack/placement/fixtures.py | 317 -- .../api/openstack/placement/fixtures/__init__.py | 0 .../api/openstack/placement/fixtures/capture.py | 81 + .../api/openstack/placement/fixtures/gabbits.py | 428 ++ .../api/openstack/placement/fixtures/placement.py | 49 + .../placement/gabbits/aggregate-policy.yaml | 39 + .../api/openstack/placement/gabbits/aggregate.yaml | 69 +- .../gabbits/allocation-candidates-member-of.yaml | 141 + .../gabbits/allocation-candidates-policy.yaml | 18 + .../placement/gabbits/allocation-candidates.yaml | 167 + .../placement/gabbits/allocations-1-12.yaml | 15 + .../placement/gabbits/allocations-1.28.yaml | 255 + .../placement/gabbits/allocations-bug-1778591.yaml | 71 + .../placement/gabbits/allocations-bug-1778743.yaml | 70 + .../placement/gabbits/allocations-bug-1779717.yaml | 102 + .../placement/gabbits/allocations-policy.yaml | 76 + .../placement/gabbits/allocations-post.yaml | 111 + .../openstack/placement/gabbits/allocations.yaml | 59 + .../openstack/placement/gabbits/basic-http.yaml | 29 + .../placement/gabbits/ensure-consumer.yaml | 41 + .../api/openstack/placement/gabbits/granular.yaml | 474 ++ .../placement/gabbits/inventory-policy.yaml | 85 + .../api/openstack/placement/gabbits/inventory.yaml | 93 +- .../openstack/placement/gabbits/microversion.yaml | 10 +- .../placement/gabbits/resource-classes-policy.yaml | 40 + .../placement/gabbits/resource-classes.yaml | 14 +- .../gabbits/resource-provider-aggregates.yaml | 83 +- .../gabbits/resource-provider-bug-1779818.yaml | 123 + .../gabbits/resource-provider-policy.yaml | 48 + .../gabbits/resource-provider-resources-query.yaml | 10 +- .../placement/gabbits/resource-provider.yaml | 250 +- .../placement/gabbits/shared-resources.yaml | 16 +- .../openstack/placement/gabbits/traits-policy.yaml | 55 + .../api/openstack/placement/gabbits/traits.yaml | 85 +- .../openstack/placement/gabbits/usage-policy.yaml | 33 + .../api/openstack/placement/gabbits/usage.yaml | 22 + .../placement/gabbits/with-allocations.yaml | 57 + .../api/openstack/placement/test_direct.py | 77 + .../api/openstack/placement/test_placement_api.py | 11 +- .../api/openstack/placement/test_report_client.py | 448 -- .../consoles/consoles-create-req.json.tpl | 0 .../v2.61/flavor-create-post-req.json.tpl | 11 + .../v2.61/flavor-create-post-resp.json.tpl | 26 + .../flavor-manage/v2.61/flavor-update-req.json.tpl | 5 + .../v2.61/flavor-update-resp.json.tpl | 26 + .../flavors/v2.61/flavor-get-resp.json.tpl | 29 + .../flavors/v2.61/flavors-detail-resp.json.tpl | 178 + .../flavors/v2.61/flavors-list-resp.json.tpl | 109 + .../os-fixed-ips/fixedip-post-req.json.tpl | 3 - .../os-fixed-ips/fixedips-get-resp.json.tpl | 8 - .../os-fixed-ips/v2.4/fixedip-post-req.json.tpl | 3 - .../os-fixed-ips/v2.4/fixedips-get-resp.json.tpl | 9 - ...ting-ip-dns-create-or-update-entry-req.json.tpl | 6 - ...ing-ip-dns-create-or-update-entry-resp.json.tpl | 9 - .../floating-ip-dns-create-or-update-req.json.tpl | 6 - .../floating-ip-dns-create-or-update-resp.json.tpl | 8 - .../floating-ip-dns-entry-get-resp.json.tpl | 9 - .../floating-ip-dns-entry-list-resp.json.tpl | 11 - .../floating-ip-dns-list-resp.json.tpl | 10 - .../floating-ips-bulk-create-req.json.tpl | 7 - .../floating-ips-bulk-create-resp.json.tpl | 7 - .../floating-ips-bulk-delete-req.json.tpl | 3 - .../floating-ips-bulk-delete-resp.json.tpl | 3 - .../floating-ips-bulk-list-by-host-resp.json.tpl | 12 - .../floating-ips-bulk-list-resp.json.tpl | 28 - .../floating-ips-create-nopool-req.json.tpl | 0 .../os-fping/fping-get-details-resp.json.tpl | 7 - .../api_samples/os-fping/fping-get-resp.json.tpl | 9 - .../servers-details-resp.json.tpl | 6 + .../servers-list-resp.json.tpl | 6 + .../instance-action-get-resp.json.tpl | 39 +- .../instance-actions-list-resp.json.tpl | 16 +- .../v2.21/instance-action-get-resp.json.tpl | 23 +- .../v2.21/instance-actions-list-resp.json.tpl | 16 +- .../instance-action-get-non-admin-resp.json.tpl | 20 +- .../v2.51/instance-action-get-resp.json.tpl | 23 +- .../v2.51/instance-actions-list-resp.json.tpl | 16 +- .../instance-action-get-non-admin-resp.json.tpl | 2 +- .../v2.58/instance-action-get-resp.json.tpl | 4 +- .../v2.58/instance-actions-list-resp.json.tpl | 4 +- .../instance-actions-list-with-limit-resp.json.tpl | 2 +- ...instance-actions-list-with-marker-resp.json.tpl | 2 +- ...nce-actions-list-with-timestamp-filter.json.tpl | 2 +- .../instance-action-get-non-admin-resp.json.tpl | 21 + .../v2.62/instance-action-get-resp.json.tpl | 23 + .../v2.62/instance-actions-list-resp.json.tpl | 24 + .../instance-actions-list-with-limit-resp.json.tpl | 20 + ...instance-actions-list-with-marker-resp.json.tpl | 14 + ...nce-actions-list-with-timestamp-filter.json.tpl | 14 + .../v2.64/server-groups-get-resp.json.tpl | 11 + .../v2.64/server-groups-list-resp.json.tpl | 13 + .../v2.64/server-groups-post-req.json.tpl | 7 + .../v2.64/server-groups-post-resp.json.tpl | 11 + .../v2.12/vifs-list-resp.json.tpl | 9 - .../vifs-list-resp-v2.json.tpl | 9 - .../os-virtual-interfaces/vifs-list-resp.json.tpl | 8 - .../server-migrations/force_complete.json.tpl | 3 - .../server-migrations/live-migrate-server.json.tpl | 7 - .../v2.22/force_complete.json.tpl | 3 + .../v2.22/live-migrate-server.json.tpl | 7 + .../v2.24/live-migrate-server.json.tpl | 7 + .../v2.65/live-migrate-server.json.tpl | 6 + .../servers/servers-details-resp.json.tpl | 6 + .../api_samples/servers/servers-list-resp.json.tpl | 6 + .../servers/servers-list-status-resp.json.tpl | 24 + .../servers/v2.16/servers-details-resp.json.tpl | 6 + .../servers/v2.16/servers-list-resp.json.tpl | 6 + .../servers/v2.19/servers-details-resp.json.tpl | 6 + .../servers/v2.19/servers-list-resp.json.tpl | 6 + .../servers/v2.3/servers-details-resp.json.tpl | 6 + .../servers/v2.3/servers-list-resp.json.tpl | 6 + .../servers/v2.47/server-get-resp.json.tpl | 1 - .../servers/v2.47/server-update-req.json.tpl | 3 +- .../servers/v2.47/server-update-resp.json.tpl | 2 +- .../servers/v2.47/servers-details-resp.json.tpl | 7 +- .../servers/v2.47/servers-list-resp.json.tpl | 6 + .../servers/v2.52/servers-details-resp.json.tpl | 6 + .../servers/v2.52/servers-list-resp.json.tpl | 6 + .../v2.63/server-action-rebuild-resp.json.tpl | 68 + .../servers/v2.63/server-action-rebuild.json.tpl | 20 + .../servers/v2.63/server-create-req.json.tpl | 28 + .../servers/v2.63/server-create-resp.json.tpl | 22 + .../servers/v2.63/server-get-resp.json.tpl | 92 + .../servers/v2.63/server-update-req.json.tpl | 9 + .../servers/v2.63/server-update-resp.json.tpl | 65 + .../servers/v2.63/servers-details-resp.json.tpl | 100 + .../servers/v2.9/servers-details-resp.json.tpl | 6 + .../servers/v2.9/servers-list-resp.json.tpl | 6 + .../functional/compute/test_resource_tracker.py | 136 +- .../functional/db/test_allocation_candidates.py | 1526 ------ .../functional/db/test_instance_group_model.py | 59 - .../functional/db/test_resource_class_cache.py | 146 - .../functional/libvirt/test_pci_sriov_servers.py | 14 +- .../functional/libvirt/test_report_cpu_traits.py | 54 + .../libvirt/test_shared_resource_provider.py | 239 + .../notification_sample_base.py | 13 +- .../test_exception_notification.py | 5 + .../functional/regressions/test_bug_1404867.py | 107 + .../functional/regressions/test_bug_1558866.py | 3 - .../functional/regressions/test_bug_1595962.py | 6 +- .../functional/regressions/test_bug_1627838.py | 32 - .../functional/regressions/test_bug_1670627.py | 1 + .../functional/regressions/test_bug_1679750.py | 97 +- .../functional/regressions/test_bug_1689692.py | 1 + .../functional/regressions/test_bug_1718512.py | 154 + .../functional/regressions/test_bug_1735407.py | 4 - .../functional/regressions/test_bug_1741125.py | 15 +- .../functional/regressions/test_bug_1746483.py | 102 + .../functional/regressions/test_bug_1746509.py | 62 + .../functional/regressions/test_bug_1764883.py | 123 + .../functional/regressions/test_bug_1780373.py | 110 + .../functional/regressions/test_bug_1781710.py | 137 + .../test_legacy_v2_compatible_wrapper.py | 3 - .../openstack/compute/admin_only_action_common.py | 199 +- .../unit/api/openstack/compute/test_access_ips.py | 2 +- .../api/openstack/compute/test_admin_actions.py | 11 +- .../unit/api/openstack/compute/test_agents.py | 16 +- .../openstack/compute/test_availability_zone.py | 17 +- .../openstack/compute/test_block_device_mapping.py | 428 -- .../compute/test_block_device_mapping_v1.py | 355 -- .../api/openstack/compute/test_config_drive.py | 114 +- .../unit/api/openstack/compute/test_consoles.py | 4 +- .../unit/api/openstack/compute/test_disk_config.py | 18 +- .../compute/test_extended_availability_zone.py | 2 +- .../compute/test_extended_server_attributes.py | 2 +- .../api/openstack/compute/test_extended_status.py | 2 +- .../api/openstack/compute/test_extended_volumes.py | 62 +- .../unit/api/openstack/compute/test_fixed_ips.py | 265 - .../api/openstack/compute/test_flavor_manage.py | 2 +- .../unit/api/openstack/compute/test_flavors.py | 10 + .../api/openstack/compute/test_floating_ip_dns.py | 453 -- .../api/openstack/compute/test_floating_ips.py | 6 +- .../openstack/compute/test_floating_ips_bulk.py | 218 - .../compute/test_hide_server_addresses.py | 2 +- .../unit/api/openstack/compute/test_hypervisors.py | 6 +- .../unit/api/openstack/compute/test_images.py | 4 +- .../api/openstack/compute/test_instance_actions.py | 73 +- .../compute/test_instance_usage_audit_log.py | 4 +- .../unit/api/openstack/compute/test_keypairs.py | 50 +- .../unit/api/openstack/compute/test_lock_server.py | 29 +- .../api/openstack/compute/test_migrate_server.py | 142 +- .../api/openstack/compute/test_multiple_create.py | 463 -- .../compute/test_neutron_security_groups.py | 75 +- .../api/openstack/compute/test_pause_server.py | 14 +- .../unit/api/openstack/compute/test_quotas.py | 2 +- .../api/openstack/compute/test_scheduler_hints.py | 131 - .../compute/test_security_group_default_rules.py | 17 +- .../api/openstack/compute/test_security_groups.py | 137 +- .../api/openstack/compute/test_server_actions.py | 70 +- .../openstack/compute/test_server_diagnostics.py | 13 - .../openstack/compute/test_server_group_quotas.py | 17 +- .../api/openstack/compute/test_server_groups.py | 231 +- .../api/openstack/compute/test_server_metadata.py | 112 +- .../openstack/compute/test_server_migrations.py | 37 +- .../api/openstack/compute/test_server_password.py | 24 +- .../openstack/compute/test_server_start_stop.py | 6 +- .../unit/api/openstack/compute/test_server_tags.py | 28 +- .../api/openstack/compute/test_server_usage.py | 2 +- .../unit/api/openstack/compute/test_serversV21.py | 2685 +++++++--- .../unit/api/openstack/compute/test_services.py | 55 +- .../api/openstack/compute/test_suspend_server.py | 10 +- .../unit/api/openstack/compute/test_user_data.py | 171 - .../unit/api/openstack/compute/test_versions.py | 2 +- .../openstack/compute/test_virtual_interfaces.py | 177 - .../unit/api/openstack/compute/test_volumes.py | 250 +- .../api/openstack/placement/handlers/__init__.py | 0 .../openstack/placement/handlers/test_aggregate.py | 37 + .../api/openstack/placement/objects/__init__.py | 0 .../placement/objects/test_resource_provider.py | 330 ++ .../unit/api/openstack/placement/test_context.py | 68 + .../unit/api/openstack/placement/test_deploy.py | 19 +- .../api/openstack/placement/test_fault_wrap.py | 66 + .../unit/api/openstack/placement/test_handler.py | 15 +- .../api/openstack/placement/test_microversion.py | 26 +- .../unit/api/openstack/placement/test_policy.py | 80 + .../api/openstack/placement/test_requestlog.py | 4 +- .../unit/api/openstack/placement/test_util.py | 445 +- .../unit/conductor/tasks/test_live_migrate.py | 388 +- .../network/security_group/test_neutron_driver.py | 15 +- .../unit/notifications/objects/test_instance.py | 171 + .../notifications/objects/test_notification.py | 168 +- .../unit/notifications/objects/test_service.py | 8 +- .../unit/objects/test_instance_device_metadata.py | 2 +- .../unit/objects/test_instance_numa_topology.py | 25 +- .../unit/objects/test_instance_pci_requests.py | 2 +- .../scheduler/filters/test_affinity_filters.py | 51 +- .../scheduler/filters/test_exact_core_filter.py | 48 - .../scheduler/filters/test_exact_disk_filter.py | 42 - .../scheduler/filters/test_exact_ram_filter.py | 42 - .../scheduler/filters/test_image_props_filters.py | 15 + .../filters/test_numa_topology_filters.py | 65 +- .../unit/scheduler/test_ironic_host_manager.py | 618 --- .../scheduler/weights/test_weights_affinity.py | 2 +- .../unit/scheduler/weights/test_weights_compute.py | 57 + .../unit/scheduler/weights/test_weights_cpu.py | 129 + .../unit/virt/libvirt/volume/test_remotefs.py | 61 +- .../unit/virt/xenapi/image/test_vdi_stream.py | 149 + .../unit/virt/xenapi/image/test_vdi_through_dev.py | 198 +- nova/utils.py | 174 +- nova/virt/arch.py | 65 + nova/virt/block_device.py | 68 +- nova/virt/configdrive.py | 33 +- nova/virt/disk/api.py | 95 +- nova/virt/disk/vfs/guestfs.py | 6 +- nova/virt/driver.py | 89 +- nova/virt/event.py | 5 + nova/virt/fake.py | 34 +- nova/virt/hardware.py | 757 ++- nova/virt/hyperv/driver.py | 7 +- nova/virt/hyperv/vmops.py | 30 +- nova/virt/images.py | 47 +- nova/virt/ironic/client_wrapper.py | 40 +- nova/virt/ironic/driver.py | 412 +- nova/virt/ironic/ironic_states.py | 26 + nova/virt/ironic/patcher.py | 6 +- nova/virt/libvirt/config.py | 153 +- nova/virt/libvirt/designer.py | 48 +- nova/virt/libvirt/driver.py | 1382 +++-- nova/virt/libvirt/guest.py | 104 +- nova/virt/libvirt/host.py | 99 +- nova/virt/libvirt/imagebackend.py | 7 +- nova/virt/libvirt/migration.py | 115 +- nova/virt/libvirt/storage/lvm.py | 1 + nova/virt/libvirt/storage/rbd_utils.py | 6 +- nova/virt/libvirt/utils.py | 89 +- nova/virt/libvirt/vif.py | 322 +- nova/virt/libvirt/volume/nfs.py | 4 - nova/virt/libvirt/volume/nvme.py | 63 + nova/virt/libvirt/volume/remotefs.py | 113 +- nova/virt/libvirt/volume/scaleio.py | 10 + nova/virt/libvirt/volume/volume.py | 12 +- nova/virt/netutils.py | 10 + nova/virt/powervm/disk/driver.py | 272 + nova/virt/powervm/disk/localdisk.py | 211 + nova/virt/powervm/disk/ssp.py | 88 +- nova/virt/powervm/driver.py | 268 +- nova/virt/powervm/host.py | 2 - nova/virt/powervm/image.py | 63 + nova/virt/powervm/mgmt.py | 175 + nova/virt/powervm/tasks/image.py | 81 + nova/virt/powervm/tasks/network.py | 6 +- nova/virt/powervm/tasks/storage.py | 236 +- nova/virt/powervm/tasks/vm.py | 30 +- nova/virt/powervm/vif.py | 3 - nova/virt/powervm/vm.py | 5 +- nova/virt/powervm/volume/__init__.py | 28 + nova/virt/powervm/volume/fcvscsi.py | 469 ++ nova/virt/vmwareapi/driver.py | 34 +- nova/virt/vmwareapi/host.py | 10 +- nova/virt/vmwareapi/vm_util.py | 7 +- nova/virt/vmwareapi/vmops.py | 1 + nova/virt/xenapi/driver.py | 9 +- nova/virt/xenapi/fake.py | 29 +- nova/virt/xenapi/image/utils.py | 13 + nova/virt/xenapi/image/vdi_stream.py | 85 + nova/virt/xenapi/vif.py | 233 +- nova/virt/xenapi/vm_utils.py | 90 +- nova/virt/xenapi/vmops.py | 165 +- nova/virt/zvm/__init__.py | 17 + nova/virt/zvm/driver.py | 401 ++ nova/virt/zvm/guest.py | 51 + nova/virt/zvm/hypervisor.py | 182 + nova/virt/zvm/utils.py | 126 + nova/volume/cinder.py | 167 +- nova/wsgi.py | 274 - placement-api-ref/ext/__init__.py | 0 placement-api-ref/ext/validator.py | 68 + placement-api-ref/source/aggregates.inc | 80 +- placement-api-ref/source/allocation_candidates.inc | 32 +- placement-api-ref/source/allocations.inc | 38 +- placement-api-ref/source/conf.py | 13 +- .../source/create-resource_classes-request.json | 1 - .../source/create-resource_providers-request.json | 5 - placement-api-ref/source/get-aggregates.json | 6 - .../source/get-allocation_candidates-1.12.json | 68 - .../source/get-allocation_candidates.json | 34 - placement-api-ref/source/get-allocations.json | 19 - placement-api-ref/source/get-inventories.json | 29 - placement-api-ref/source/get-inventory.json | 9 - placement-api-ref/source/get-resource_class.json | 9 - placement-api-ref/source/get-resource_classes.json | 94 - .../source/get-resource_provider-traits.json | 7 - .../source/get-resource_provider.json | 33 - .../source/get-resource_provider_allocations.json | 23 - .../source/get-resource_provider_usages.json | 8 - .../source/get-resource_providers.json | 70 - placement-api-ref/source/get-root.json | 9 - placement-api-ref/source/get-traits.json | 7 - placement-api-ref/source/get-usages.json | 7 - placement-api-ref/source/index.rst | 4 +- placement-api-ref/source/inventories.inc | 6 +- placement-api-ref/source/inventory.inc | 6 +- .../source/manage-allocations-request.json | 31 - placement-api-ref/source/parameters.yaml | 233 +- placement-api-ref/source/resource_class.inc | 6 +- placement-api-ref/source/resource_classes.inc | 4 +- placement-api-ref/source/resource_provider.inc | 15 +- .../source/resource_provider_allocations.inc | 2 +- .../source/resource_provider_traits.inc | 6 +- .../source/resource_provider_usages.inc | 2 +- placement-api-ref/source/resource_providers.inc | 43 +- placement-api-ref/source/root.inc | 4 +- .../samples/aggregates/get-aggregates-1.19.json | 7 + .../source/samples/aggregates/get-aggregates.json | 6 + .../samples/aggregates/update-aggregates-1.19.json | 7 + .../aggregates/update-aggregates-request-1.19.json | 7 + .../aggregates/update-aggregates-request.json | 4 + .../samples/aggregates/update-aggregates.json | 6 + .../get-allocation_candidates-1.12.json | 68 + .../get-allocation_candidates-1.17.json | 71 + .../get-allocation_candidates-1.29.json | 88 + .../get-allocation_candidates.json | 34 + .../samples/allocations/get-allocations-1.28.json | 20 + .../samples/allocations/get-allocations.json | 19 + .../manage-allocations-request-1.28.json | 35 + .../allocations/manage-allocations-request.json | 31 + .../update-allocations-request-1.12.json | 17 + .../update-allocations-request-1.28.json | 18 + .../allocations/update-allocations-request.json | 23 + .../samples/inventories/get-inventories.json | 29 + .../source/samples/inventories/get-inventory.json | 9 + .../inventories/update-inventories-request.json | 16 + .../samples/inventories/update-inventories.json | 21 + .../inventories/update-inventory-request.json | 4 + .../samples/inventories/update-inventory.json | 9 + .../create-resource_classes-request.json | 1 + .../resource_classes/get-resource_class.json | 9 + .../resource_classes/get-resource_classes.json | 94 + .../update-resource_class-request.json | 1 + .../resource_classes/update-resource_class.json | 9 + .../get-resource_provider_allocations.json | 23 + .../get-resource_provider-traits.json | 7 + .../update-resource_provider-traits-request.json | 7 + .../update-resource_provider-traits.json | 7 + .../get-resource_provider_usages.json | 8 + .../create-resource_provider.json | 33 + .../create-resource_providers-request.json | 5 + .../resource_providers/get-resource_provider.json | 33 + .../resource_providers/get-resource_providers.json | 70 + .../update-resource_provider-request.json | 4 + .../update-resource_provider.json | 33 + .../source/samples/root/get-root.json | 16 + .../source/samples/traits/get-traits.json | 7 + .../source/samples/usages/get-usages.json | 7 + placement-api-ref/source/traits.inc | 2 +- .../source/update-aggregates-request.json | 4 - placement-api-ref/source/update-aggregates.json | 6 - .../source/update-allocations-request-1.12.json | 17 - .../source/update-allocations-request.json | 23 - .../source/update-inventories-request.json | 16 - placement-api-ref/source/update-inventories.json | 21 - .../source/update-inventory-request.json | 4 - placement-api-ref/source/update-inventory.json | 9 - .../source/update-resource_class-request.json | 1 - .../source/update-resource_class.json | 9 - .../source/update-resource_provider-request.json | 4 - .../update-resource_provider-traits-request.json | 7 - .../source/update-resource_provider-traits.json | 7 - .../source/update-resource_provider.json | 33 - placement-api-ref/source/usages.inc | 2 +- playbooks/legacy/nova-caching-scheduler/post.yaml | 15 + playbooks/legacy/nova-caching-scheduler/run.yaml | 59 + playbooks/legacy/nova-cells-v1/post.yaml | 15 + playbooks/legacy/nova-cells-v1/run.yaml | 67 + playbooks/legacy/nova-live-migration/post.yaml | 15 + playbooks/legacy/nova-live-migration/run.yaml | 43 + playbooks/legacy/nova-multiattach/run.yaml | 1 - playbooks/legacy/nova-next/post.yaml | 15 + playbooks/legacy/nova-next/run.yaml | 70 + ...port-for-Intel-CMT-events-017fbb890b631d70.yaml | 17 + ...4-minimum-libvirt-version-86331e5282effbf0.yaml | 12 + ...t-live-migration-in-queue-0c917f415d6dac5a.yaml | 5 + ...ance-action-notifications-27e6a3031da274c5.yaml | 8 + ...iation-refresh-config-opt-d1ca1af238d10c9a.yaml | 9 + .../notes/add-cpu-weigher-2e982c9f9751d631.yaml | 6 + ...d-disabled-to-create_cell-feb1643ec4716eb2.yaml | 10 + ...xtra-specs-to-flavor-list-362a4794c0871f2f.yaml | 18 + ...eback-to-exceptionpayload-06cf8d55d2918eab.yaml | 10 + ...to-instance-action-events-aad2cc18fe191afa.yaml | 10 + ...tion-support-in-xapi-pool-5ac42c2468c3616e.yaml | 11 + ...o-versioned-notifications-fd0b525bd37b7e41.yaml | 9 + ...didates_support_member_of-92f7e1440ed63fe7.yaml | 13 + ...ved-equal-total-inventory-fe93584dd28c460d.yaml | 6 + ...ity-zone-placement-filter-0006c9895853c9bc.yaml | 10 + ...ger-allocate-from-compute-95d048fbe9867c34.yaml | 13 + ...granular-placement-policy-65722fc6d7cb1359.yaml | 31 + .../bp-ironic-rescue-mode-c305f37e20fba203.yaml | 7 + ...rt-virtio-set-queue-sizes-6c54a2ce3dc30d18.yaml | 15 + .../bp-nvme-over-fabric-nova-ae1ef46fb5a7fc02.yaml | 4 + ...nova-network-api-removals-931ad60364f6f2a8.yaml | 29 + .../bp-report-cpu-features-aff90db66837de7d.yaml | 7 + ...-local-delete-allocations-cb7bfbcb6c36b6a2.yaml | 12 + .../notes/bug-1695861-ebc8a0aa7a87f7e0.yaml | 2 +- ...01-list-across-down-cells-82726cac592e9728.yaml | 10 + .../notes/bug-1734625-419fd0e21bd332f6.yaml | 9 + ...cked_for_zero_disk_flavor-b36a6eb4fa8b2964.yaml | 20 + ...age-ref-url-notifications-42df5911a46b7de7.yaml | 9 + ...-status-api-version-check-183fac0525bfd68c.yaml | 13 + ...ice-delete-with-instances-d7c5c47e4ce31239.yaml | 9 + .../notes/bug-1778044-f498ee2f2cfb35ea.yaml | 15 + ...ll-mapping-formatted-urls-4f5ee779a70960b8.yaml | 11 + ...ailure-counter-to-weigher-428de7da0ed2033a.yaml | 23 + ...ex-anti-affinity-policies-dcf4719e859093be.yaml | 18 + ...gure-amount-of-pcie-ports-486bfa44e9fbdd84.yaml | 9 + .../consumer_generation-f576ac2594b24e2e.yaml | 18 + .../deprecate-api-eventlet-1a0279f1f2333082.yaml | 5 + .../deprecate-keymap-options-b41ad9f33a5923e1.yaml | 34 + ...te-more-nova-network-opts-38a69fb87f10bb9c.yaml | 7 + ...eprecate-nova-consoleauth-ed6ccbc324a0fb10.yaml | 12 + ...a-manage-network-commands-212726e67bffdfc4.yaml | 2 +- .../deprecate_fping_path-87d192cf0e6a5930.yaml | 6 + .../deprecate_sparse_lvs-99f30d70a68a028d.yaml | 10 + ...discover-hosts-by-service-06ee20365b895127.yaml | 8 + .../emulator-threads-policy-e5b57767104531b8.yaml | 15 + .../enhanced-kvm-storage-qos-f8f67d404949c0b0.yaml | 18 + ...e-shutdown-retry-interval-d83724ade1b44e62.yaml | 6 + ...tiarch-image-props-filter-f2e885aa53d585ea.yaml | 9 + .../forbidden-traits-in-nova-478f1884a06e50e7.yaml | 21 + ...full_host_state_instances-6fbc828564a000ec.yaml | 21 + .../granular-extra-specs-50b26b8f63717942.yaml | 26 + ...hide_hypervisor_id-flavor-a7c16afeab553b01.yaml | 9 + .../hyperv-uefi-secure-boot-a2a617ac2c313afd.yaml | 2 +- ...ist-limit-to-cells-config-f72701ac68444e95.yaml | 16 + .../notes/instance-path-2efca507456d8a70.yaml | 2 +- ...irt-cpu-model-extra-flags-a23085f58bd22d27.yaml | 23 + ...ibvirt-file-backed-memory-ea2cd292200fc11c.yaml | 25 + ...ration-speed-limit-revert-81a9d29d60b0df4b.yaml | 11 + ...gration_wait_for_vif_plug-c9dcb034067890d8.yaml | 20 + ...tool-to-populate-inst.avz-29fed2fe57a9764d.yaml | 10 + ...t-aggregates-to-placement-597473efa94ee558.yaml | 21 + ...to-separate-os-vif-plugin-f7ee42da4ed9739b.yaml | 11 + .../notes/multi-member-of-4f9518a96652c0c6.yaml | 20 + ...ultiple-scheduler-workers-3e5ac0d86f436338.yaml | 26 + ...ers-allocation-candidates-66c1c5b0a3e93513.yaml | 11 + ...tion-transformation-rocky-e541ba916e8e38fd.yaml | 19 + ...lacement-heal-allocations-13a9a0a3df910e0b.yaml | 18 + ...placement-sync-aggregates-1e6380eceda7dc9b.yaml | 20 + ...k-ironic-flavor-migration-4c78314bf4e74ff6.yaml | 6 + ...eck-requestspec-migration-2a3b50b98fff9324.yaml | 6 + .../numa-aware-vswitches-162132290dd6ef17.yaml | 13 + ...ment-aggregate-generation-9dad79fb0356fcc0.yaml | 10 + .../notes/placement-database-2e087f379273535d.yaml | 24 + .../placement-error-code-fcbbf5d45560984e.yaml | 9 + ...lacement-forbidden-traits-ace037856aa29a09.yaml | 9 + ...tion-from-create-provider-203a0ac1ebfe64d9.yaml | 9 + ...ranular-resource-requests-944f9b73f306429f.yaml | 31 + ...te-consumer-configuration-b775dac1bcd34f9d.yaml | 11 + ...n-list-resource-providers-fab11cdb36cd3502.yaml | 12 + ...ment-return-all-resources-bfc7e3f8b5151e28.yaml | 9 + ...powervm-hotplug-interface-e54c84ebc039b18c.yaml | 5 + .../notes/powervm-localdisk-ccdf2347226303a8.yaml | 15 + .../notes/powervm-snapshot-c44dc38bf69360f2.yaml | 4 + .../notes/powervm-vscsi-46c82559f082d4ed.yaml | 6 + ...ivsep-rocky-rootwrap-adds-644c43fbd86f9f8a.yaml | 5 + .../notes/purge-db-command-d4cd9ea5400f479c.yaml | 7 + .../pvm_proc_units_factor-50d1e4ba079d7a6c.yaml | 12 + .../remove-baremetal-filters-52db06d597645d00.yaml | 23 + .../notes/remove-crypt-opts-67a1f304ae09aaeb.yaml | 16 + ...move-db_driver-config-opt-50110843b3221fc4.yaml | 7 + ...emove-deprecated-api-opts-d01d97fa19330e06.yaml | 13 + ...e-deprecated-compute-opts-b640061349806d9e.yaml | 10 + ...deprecated-placement-opts-aeffb090a2e94bdc.yaml | 11 + .../remove-monkey-patch-conf-220ea611d4ff348e.yaml | 14 + ...eduler_driver_task_period-3d13293428db905d.yaml | 6 + .../remove-topic-config-opts-705ebd829a6e80b6.yaml | 7 + ...nserver-vif-driver-option-850f8dcfe54bca7c.yaml | 11 + .../remove_exact_filters-2fd96171b93d7413.yaml | 11 + ...pci-parent_addr-migration-f7dfa2b441cf30e8.yaml | 2 +- ...-marker-for-map_instances-0c841ef45e3adc7b.yaml | 8 + ...me-upgrade-levels-options-bbe19bb2256e25ad.yaml | 12 + ...libvirt-qemu-min-versions-56412048c12f1f52.yaml | 8 + .../notes/rocky-prelude-b78b51b9026ed336.yaml | 58 + ...rocky-quota-driver-config-6459e19ef2b43aa2.yaml | 11 + .../rpc_timeout_changes-6b7e365bb44f7f3a.yaml | 21 + .../scaleio-extend-volume-d82c39a30e0a09ca.yaml | 5 + .../notes/server_migrations-30519b35d3ea6763.yaml | 2 +- ...eduling-to-disabled-cells-eadbfe30d1f6be65.yaml | 16 + ...ggregate_placement_filter-c2fed8889f43b6e3.yaml | 14 + ...hen-lock-unlock-instances-5c0bb9262c0b4f0b.yaml | 9 + ...rusted-certs-microversion-589b75f0180d4d51.yaml | 46 + .../notes/trusted-metatada-b999f1417f678c44.yaml | 6 + .../notes/trusted-vfs-abee6dff7c9b6940.yaml | 32 + ...-default-for-rng_dev_path-150a76b0ea74cbc2.yaml | 6 + ...e-policy-in-notifications-3c6eefbb56224be2.yaml | 10 + ...idate-expired-user-tokens-57a265cb4ee4ba6f.yaml | 2 +- ...rounds-enable-consoleauth-71d68c3879dc2c8a.yaml | 25 + .../xenapi-image-handler-7628a7221b7323e2.yaml | 48 + releasenotes/source/index.rst | 1 + .../source/locale/ja/LC_MESSAGES/releasenotes.po | 5612 ++++++++++++++++++++ releasenotes/source/queens.rst | 6 + requirements.txt | 40 +- setup.cfg | 18 +- test-requirements.txt | 19 +- tools/placement_api_docs.py | 71 - tools/releasenotes_tox.sh | 28 - tools/xenserver/destroy_cached_images.py | 2 - tox.ini | 223 +- 1474 files changed, 87101 insertions(+), 47237 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 403ad6c..8e31a31 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,2 +8,2 @@ decorator>=3.4.0 # BSD -eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT -Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause) +eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT +Jinja2>=2.10 # BSD License (3 clause) @@ -13,3 +13,5 @@ Routes>=2.3.1 # MIT -cryptography!=2.0,>=1.9 # BSD/Apache-2.0 -WebOb>=1.7.1 # MIT -greenlet>=0.4.10 # MIT +cryptography>=2.1 # BSD/Apache-2.0 +WebOb>=1.8.2 # MIT +# NOTE(mriedem): greenlet 0.4.14 does not work with older versions of gcc on +# ppc64le systems, see https://github.com/python-greenlet/greenlet/issues/136. +greenlet>=0.4.10,!=0.4.14 # MIT @@ -28,2 +30,2 @@ python-cinderclient>=3.3.0 # Apache-2.0 -keystoneauth1>=3.3.0 # Apache-2.0 -python-neutronclient>=6.3.0 # Apache-2.0 +keystoneauth1>=3.9.0 # Apache-2.0 +python-neutronclient>=6.7.0 # Apache-2.0 @@ -34 +36 @@ stevedore>=1.20.0 # Apache-2.0 -setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=16.0 # PSF/ZPL +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL @@ -37,2 +39,2 @@ oslo.cache>=1.26.0 # Apache-2.0 -oslo.concurrency>=3.25.0 # Apache-2.0 -oslo.config>=5.1.0 # Apache-2.0 +oslo.concurrency>=3.26.0 # Apache-2.0 +oslo.config>=6.1.0 # Apache-2.0 @@ -46,2 +48,2 @@ oslo.rootwrap>=5.8.0 # Apache-2.0 -oslo.messaging>=5.29.0 # Apache-2.0 -oslo.policy>=1.30.0 # Apache-2.0 +oslo.messaging>=6.3.0 # Apache-2.0 +oslo.policy>=1.35.0 # Apache-2.0 @@ -55 +57 @@ oslo.versionedobjects>=1.31.2 # Apache-2.0 -os-brick>=2.2.0 # Apache-2.0 +os-brick>=2.5.0 # Apache-2.0 @@ -60,2 +62,2 @@ castellan>=0.16.0 # Apache-2.0 -microversion-parse>=0.1.2 # Apache-2.0 -os-xenapi>=0.3.1 # Apache-2.0 +microversion-parse>=0.2.1 # Apache-2.0 +os-xenapi>=0.3.3 # Apache-2.0 @@ -64,2 +66,3 @@ cursive>=0.2.1 # Apache-2.0 -pypowervm>=1.1.10 # Apache-2.0 -os-service-types>=1.1.0 # Apache-2.0 +pypowervm>=1.1.15 # Apache-2.0 +retrying>=1.3.3,!=1.3.0 # Apache-2.0 +os-service-types>=1.2.0 # Apache-2.0 @@ -66,0 +70,3 @@ taskflow>=2.16.0 # Apache-2.0 +python-dateutil>=2.5.3 # BSD +zVMCloudConnector>=1.1.1;sys_platform!='win32' # Apache 2.0 License +futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # PSF diff --git a/test-requirements.txt b/test-requirements.txt index ef14c2d..19f0828 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -13,7 +13,3 @@ PyMySQL>=0.7.6 # MIT License -python-barbicanclient!=4.5.0,!=4.5.1,>=4.0.0 # Apache-2.0 -python-ironicclient>=2.2.0 # Apache-2.0 -requests-mock>=1.1.0 # Apache-2.0 -sphinx!=1.6.6,>=1.6.2 # BSD -sphinxcontrib-actdiag>=0.8.5 # BSD -sphinxcontrib-seqdiag>=0.8.4 # BSD -os-api-ref>=1.4.0 # Apache-2.0 +python-barbicanclient>=4.5.2 # Apache-2.0 +python-ironicclient>=2.3.0 # Apache-2.0 +requests-mock>=1.2.0 # Apache-2.0 @@ -27 +22,0 @@ bandit>=1.1.0 # Apache-2.0 -openstackdocstheme>=1.18.1 # Apache-2.0 @@ -33,3 +27,0 @@ oslo.vmware>=2.17.0 # Apache-2.0 -# releasenotes -reno>=2.5.0 # Apache-2.0 - @@ -37,4 +29 @@ reno>=2.5.0 # Apache-2.0 -wsgi-intercept>=1.4.1 # MIT License - -# redirect tests in docs -whereto>=0.3.0 # Apache-2.0 +wsgi-intercept>=1.7.0 # MIT License
participants (1)
-
no-reply@openstack.org