We are ecstatic to announce the release of: nova 22.0.0: Cloud computing fabric controller This release is part of the victoria release series. The source is available from: https://opendev.org/openstack/nova Download the package from: https://tarballs.openstack.org/nova/ Please report issues through: https://bugs.launchpad.net/nova/+bugs For more details, please see below. Changes in nova 21.0.0.0rc1..22.0.0 ----------------------------------- 6f35e4fd2a Test for disabling greendns 95103c3bc9 libvirt: Bump MIN_{LIBVIRT,QEMU}_VERSION and NEXT_MIN_{LIBVIRT,QEMU}_VERSION 5ab9b28161 test_evacuate.sh: Stop using libvirt-bin 6c62830ae8 test_evacuate.sh: Support libvirt-bin and libvirtd systemd services 57ac83d4d7 releasenote: Add known issue for bug #1894804 e3cfcb0b37 doc: Fix rendering in the accelerator support doc db7f263406 doc: correct the link to user/flavor.rst 75250d6b17 fakelibvirt: Use versionutils to set min versions found in the driver 09204e6616 Victoria 22.0.0 prelude section f9b67893ac compute: Skip cinder_encryption_key_id check when booting from volume e76cccddd3 Add regression test for bug #1895696 2a7f1f986e docs: Improve 'AggregateImagePropertiesIsolation' docs 19ef3655b1 tests: Remove '_FakeImageService' cc45581a18 functional: Add and use 'GlanceFixture' 8750c4e173 functional: Enable real policy fixture by default 32c43fc801 api: Set min, maxItems for server_group.policies field 2c66962c7a tests: Add regression test for bug 1894966 9d55b754f2 test_evacuate: Wait until subnode is down before starting tests 17ba10b759 functional: Add test for SR-IOV neutron ports cc8b300f67 conductor: Don't use setattr 7c1d964faa Correctly disable greendns f1e0cfda52 Update compute rpc version alias for victoria f8919c9705 Remove write_to_file. cec24aee74 doc: mark the max microversion for victoria 84cfc8e9ab Allow tap interface with multiqueue 1fd44eb56f trivial: Final cleanup b9fdf09a17 objects: Remove 'XenapiLiveMigrateData' b93debd12c xenapi: Remove Xen-only code paths 7991155454 virt: Remove 'is_xenapi' helper adb28f503c xenapi: Remove driver and tests 793e96c524 trivial: Remove useless comment b420c343f2 Support old & new versions of svm and vmx traits 3b10781c85 Cleanup unused code 53172fa3b0 Follow up for I67504a37b0fe2ae5da3cba2f3122d9d0e18b9481 adbc94f8cd Spell out 3pp in vmware undeprecation reno fd99a7ca0f Fix error that cannot overwrite policy rule for 'forced_host' 1361ea5ad1 Support SRIOV interface attach and detach 8ccc46c35d functional: Add cold migration tests for PCI servers 0ab8a03c78 functional: Clean up PCI tests 980711f3d3 functional: Use tempdir for CONF.instances_path 6c4d1a6aab functional: Add 'start_compute' helper 8cb9b84f28 Fix invalid assert_has_calls 255b3f2f91 Track error migrations in resource tracker ef769443fb [Trivial] Replace ref of policy.json to policy.yaml b430036a77 docs: Remove resize, cold migration from vTPM limitations fe545dbe5f Migrate default policy file from JSON to YAML eb819c8c63 Add support for resize and cold migration of emulated TPM files b2fbaa8767 Set 'old_flavor', 'new_flavor' on source before resize 27b37ed5c8 Expand generic reproducer for bug #1879878 498b41f65b Undeprecate the vmwareapi driver b8f3be6b3c Set migrate_data.vifs only when using multiple port bindings 71bc6fc9b8 add functional regression test for bug #1888395 5bea8a09c5 Use UUID as vif and network_id in vif tests c6ebfa45e6 doc: Fix note directives 049c0e6bde Run voting jobs in gate pipeline also 6f1f71620a Add type hints to 'nova.virt.libvirt.utils' 49817d31b1 Handle oslo.messaging ping endpoint a33f455ec7 Adapt the admin guide to describe the direct RBD export dc9c7a5ebf Move revert resize under semaphore a57800d382 Move confirm resize under semaphore 8223a84d04 Remove no-op fake calls from network_info tests a8b0c6b456 Add note and daxio version to the vPMEM document 6488a5dfb2 post live migration: don't call Neutron needlessly a77f44a6c5 func: Remove references to attachment_id when volume_id is used 46b1ff4e80 libvirt: Remove '[vnc] keymap', '[spice] keymap' options 3ae2153632 Describe '[glance]/enable_rbd_download' 97267fc05c Reject resize operation for accelerator e45f3b5d71 Remove support for Intel CMT events f0ec6378c4 trivial: Use constants for libvirt version checks 7e8a9786dc Only unplug vif after the device is detached from libvirt c21f08f0f6 Move equality check into LibvirtConfigGuestInterface eff6099c82 Remove unused vpn param from allocate_for_instance 16429c6b90 Delete non tag related device metadata during detach 789bff29fc privsep: Add support for recursive chown, move_tree operations 44376d2e21 Don't unset Instance.old_flavor, new_flavor until necessary 340ef02e06 libvirt: Deprecate support for non-QEMU/KVM backends 64b4271279 Revert "Handle Neutron errors in _post_live_migration()" fe52b6c25b Update image_base_image_ref during rebuild. 1356ef5b57 Cyborg evacuate support 38757964ed Provider Config File: Coding style and test cases improvement 45c0ea4a3e tools: Remove xenserver tooling 58f7582c63 docs: Remove references to XenAPI driver 31b2fd114c hacking: Stop special casing 'plugins.xenserver' d4e6e9151c virt: Highlight soon-to-be-unused driver APIs 61aeb1adbc Add ability to download Glance images into the libvirt image cache via RBD b5d4804346 doc: Update references to image properties 4c11d5467a Default user_id when not specified in check_num_instances_quota 38bc8b871a Add regression test for bug 1893284 39831c5599 Add a lock to prevent race during detach/attach of interface 220c62e2d5 functional: Provide default 'host_info' for '_get_connection' 662af9fab6 Change default num_retries for glance to 3 a323ed29ee vmware: Handle exception in destroy with attached volumes e91b07dc52 functional: Don't inherit from 'ProviderUsageBaseTestCase' 260713dc22 Provider Config File: Enable loading and merging of provider configs b0ebdf8602 Avoid invalid file name, preventing git clone on win32 e4601c77fb Ensure source compute is up when confirming a resize 25d786bd8a releasenotes: Detail support for server ops with vTPM 9285428a16 rbd: Move rbd_utils out of libvirt driver under nova.storage 953b49ee12 Add type hints to 'nova.compute.manager' fc8deb4f86 Provider Config File: Functions to merge provider configs to provider tree a5d153a4c6 Set different VirtualDevice.key 0ed4ec6f26 docs: Add docs for vTPM support e0ca2652ed libvirt: Add emulated TPM support to Nova ecff78e05d tests: Add helpers for rebuild, cold migrate, and shelve/unshelve 1bb8ee95d4 libvirt: Provide VIR_MIGRATE_PARAM_PERSIST_XML during live migration e1adbced92 Add generic reproducer for bug #1879878 366ed13937 Add reno for deprecated APIs policy changes eef4b5435e api: Reject non-spawn operations for vTPM 3a54eec5ef docs: fix aggregate weight multiplier property names 521ea08467 Few todo fixes for API new policies b39d8b8c96 db: fix database migrations when name includes dash 10f0a42de1 tests: Add reproducer for bug #1879878 5018d5d517 functional: Drop '_api' suffix from placement fixture 1cb9a3a0b8 functional: Move single-use function to its caller f0b76cc0f1 libvirt: Add libvirt version mocks in test_private_destroy_* tests 30c30f5a59 libvirt: Fix indentation in test__video_model_supported 10e9a9b9fc Add checks for volume status when rebuilding bc96af5659 libvirt: Do not reference VIR_ERR_DEVICE_MISSING when libvirt is < v4.1.0 982ee741fb Fix indentation nits e905400ca0 [goal] Prepare for job migration to Ubuntu Focal (20.04) f881854ea6 zuul: use the new barbican simple-crypto job 583672c03c Pass the actual target in FIP policy 08f58909bd Add new default roles in FIP policies fb3bf32fa2 Pass the actual target in networks policy 558c6e752a Add new default roles in networks policies 284ac43f7a Add scope and new default roles in extensions policies fcc451cd4c Pass the actual target in baremetal nodes policy de2226b4b3 Add new default roles in baremetal nodes policies 4ba23996d0 libvirt: Mock LoopingCallBase._sleep in rbd tests ddcd422c44 libvirt: Pass context, instance to '_create_guest' 0f61324893 tests: Add helpers for suspend, resume and reboot of server 2c074b9486 Remove six.reraise 5191b4f2f0 Remove six.add_metaclass 28ed0c5c9a Remove six.PY2 and six.PY3 09b2dce4c3 Introduce scope_types in FIP policy 8d7b7f55d8 Add test coverage of FIP policies 8953a68946 Rebase qcow2 images when unshelving an instance 4939d0d1e2 Remove deprecated scheduler filters 806575cfd5 Detach is broken for multi-attached fs-based volumes 9b6a93ae3e fakelibvirt: Remove nova-network remnants 5d26fda5ea [Trivial] Remove wrong format_message() conversion 49b3ad33d3 Fix FIP policy for admin_or_owner 1cee7c01ef Remove dead volume driver code d2af7ca7a5 Removes the delta file once image is extracted 8c69c86f18 Provider Config File: Function to further validate and retrieve configs b3b56d8127 Add lsscsi to bindep 9f205c620e Handle Neutron errors in _post_live_migration() 1c733d9730 zuul: Start to migrate nova-live-migration to zuulv3 efc27ff84c Lookup nic feature by PCI address e7d3a65ff4 doc: Add IPv6 metadata address 81a44384a9 Add regression test for bug 1879787 e70ddd621c func: Introduce a server_expected_state kwarg to InstanceHelperMixin._live_migrate 1f81c08657 func: Add CinderFixture to _IntegratedTestBase 2102f1834a compute: Don't delete the original attachment during pre LM rollback 274cc3d7f4 Fix lower-constraints conflicts 9c27033204 hardware: Reject requests for no hyperthreads on hosts with HT 737e0c0111 tests: Add reproducer for bug #1889633 77d3f5bacf Remove warning filters for legacy Python version 27336fb465 trivial: Remove unused attributes a89ffab832 Removed the host FQDN from the exception message 3667af6cd1 Provider Config File: YAML file loading and schema validation 5913bd889f compute: Validate a BDMs disk_bus when provided 3e9aa55455 compute: As cellsv1 is no more fold _detach_volume back into detach_volume 4c970f499c Add regression tests for bug #1889108 e6c2a86328 func: Add live migration rollback volume attachment tests abeb47b20d Pass the actual target in volumes policy b6aef1ec4f Handle multiple 'vcpusched' elements during live migrate b39712f03e Add new default roles in volumes policies ce22034566 Make _rebase_with_qemu_img() generic ebdb852a83 libvirt: Remove blockjob.end == 0 workaround resolved in libvirt v2.3.0 260ebeebb8 Add test coverage of extensions policies 4ef2ebe241 Add new default roles in hosts policies 864a32bc37 Introduce scope_types in hosts policy b58713b2e0 Add test coverage of hosts policies ce6fcf5a83 scheduler: Default request group to None e4aa424642 Use compression by default for 'SshDriver' 4ecec2ff73 Pass the actual target in security_groups policy a20ab7016e Add new default roles in security_groups policies 9acbae3619 Introduce scope_types in volumes policy 136fc7a936 Add test coverage of volumes policies 3423d44c5e Pass the actual target in tenant networks policy cade031eb3 Add new default roles in tenant networks policies 787e359bb1 Introduce scope_types in tenant networks policy 35420580e5 Add test coverage of tenant networks policies 2e1c10e269 Introduce scope_types in networks policy ff9d31b333 Add test coverage of networks policies 2939847226 Introduce scope_types in security_groups policy 80156827ed Add test coverage of security_groups policies 9bf228a55a trivial: Test object backporting against correct version d94ea23d3d Delete ARQs by UUID if Cyborg ARQ bind fails. 7ba8f40134 QEMU/KVM: accept vmxnet3 NIC 086796021b objects: Update keypairs when saving an instance 73aad31a34 resolve ResourceProviderSyncFailed issue 902f09af25 libvirt: Handle VIR_ERR_DEVICE_MISSING when detaching devices 24fe5d7dda Add new default roles in multinic policies 9c129ccef9 Introduce scope_types in multinic policy d9954df201 Add test coverage of multinic policies 904e4db1f8 Fix multinic policy for admin_or_owner 6f121598b6 libvirt: Use better variable names, types for '_create_guest' 5964d7e11c libvirt: Remove workaround for really old QEMU 279f89e320 libvirt: Re-enable live snapshot for paused instances f2659da160 test: add some notes and new tests for mixed instance dd1b812ebd release note: add new features introduces by use-pcpu-and-vcpu-in-one-instance 916ffddca8 metadata: export the vCPU IDs that are pinning on the host CPUs 275ea2de36 hardware: create 'mixed' instance for realtime CPUs 5c71ac5e02 hardware: Enable 'hw:cpu_dedicated_mask' for creating a mixed instance 9ddc60539f compute: bump nova-compute version and check in API f1d4d9762c Correct the check_str and pass actual target in FIP pools policy c97ccb3634 libvirt: Track blockjob status in DEBUG when polling for completion a8296eaf16 libvirt: Remove two-level loop 8c0d1acf6e Introduce scope_types in FIP pools 4e67f4aa27 Add test coverage of FIP pools policies 672aa45dd1 Introduce scope_types in baremetal node bf9762f701 Add test coverage of baremetal nodes policies e8eb8d8387 Remove broken legacy zuul jobs c60f90cb2f tests: Make '_IntegratedTestBase' subclass 'PlacementInstanceHelperMixin' 58ecd338c1 tests: Add 'PlacementHelperMixin', 'PlacementInstanceHelperMixin' bfe7b7f3ee tests: Remove 'test_servers.ServersTestBase' c558b58619 tests: Define constants in '_IntegratedTestBase' af5a6aae45 tests: Move single use constants to their callers 9ae79d3b29 tests: Rename tests for '_create_guest_with_network' bf5eea6fda manager: Prevent compute startup on invalid vTPM config 6ac2287826 crypto: Add support for creating, destroying vTPM secrets 5550f86623 scheduler: Request vTPM trait based on flavor or image e3b0412dda libvirt: Add vTPM config support 969a6d49e5 libvirt: Simplify '_create_domain' function 9bb54cab55 scheduler: mixed instance CPU resource translating fba70587b6 Calculate the CPU usage for mixed instance 3a4814804d Validate CPU pinning configuration for mixed instance 6aa1931e8d libvirt: apply mixed instance CPU policy c4e9e2e066 hardware: refactor the code for CPU policy sanity check ba3388d666 objects: Introduce the 'CPUAllocationPolicy.MIXED' enum d992eb2f5a notifications: add the pcpuset info to instance numa cell payload a81189b0e2 Make our ceph job test with glance in multistore mode 867d447101 objects: Introduce 'pcpuset' field for InstanceNUMACell ccfde2795a Move image verification and writing out of download method 84e8aa717c doc: Correct typo 6297e3aadc Replace assertItemsEqual with assertCountEqual 1b661c2669 Reduce gen conflict in COMPUTE_STATUS_DISABLED handling bce4a3ab97 zuul: remove legacy-tempest-dsvm-neutron-dvr-multinode-full f167891218 Repro gen conflict in COMPUTE_STATUS_DISABLED handling b327b961f6 Document nova in tree virt drivers 55ff751775 test_hardware: code formating for multiline construct 9fc63c7644 hardware: Tweak the 'cpu_realtime_mask' handling slightly f5aa144593 hardware: Allow 'hw:cpu_realtime_mask' to be omitted 9ce6c0d8e9 crypto: Add type hints b9ff0ca94e compute: Do not allow rescue attempts using volume snapshot images 7e4d8afb95 virt: Add 'context', drop 'network_info' parameters for 'unrescue' 72cf37bca0 utils: Move 'get_bdm_image_metadata' to nova.block_device 8fa83ff62a Add traits for new AVX512 CPU feature 2ee9ad2516 Fix mock for 'autospec' and 'new' together af80c3ffd1 catch libvirt exception when nodedev not found. 87fc1748f3 Implement extend_volume for libvirt NFS volume driver e0d541073d Fix user creation with GRANT in MySQL 8.0(Ubuntu Focal) be9b735847 Snapshot: offload glance upload in a native thread 6bb0c4fdab Limit the number of concurrent snapshots 01e3c8778d Extend is_ipv6_supported() to cover more error cases c7c48c6f52 Fix cherry-pick check for merge patch 68a5531568 Prevent libvirt driver starting on non Linux platform e567adf7f6 Correct reported system memory 2fbe8e02d5 Remove deprecated nova.image.download hook 16df22dcd5 Raise InstanceMappingNotFound if StaleDataError is encountered 07025abf72 Make libvirt able to trigger a backend image copy when needed 4a6a366b05 Plumb image import functionality through our glance module d689533d9e hardware: Remove '_numa_fit_instance_cell_with_pinning' eedac34b21 hardware: Invert order of NUMA topology generation 4d58c0bb3d Switch from unittest2 compat methods to Python 3.x methods 385df41b70 Remove lxml deprecated methods a45daafd31 Delete resource provider in tree by top-down traversable order a85753778f Guard against missing image cache directory c88a35e8ea hardware: Rework 'get_realtime_constraint' 184a2cadf0 hardware: Remove handling of pre-Train compute nodes 0a0c174fbc hardware: Don't consider overhead CPUs for unpinned instances 690ce37e72 objects: Replace 'cpu_pinning_requested' helper dff70b3bce tests: Split instance NUMA object tests b065974187 hardware: Add validation for 'cpu_realtime_mask' 6a71981e47 libvirt: Add typing information 26c1567a16 hardware: Update and correct typing information 61084702f4 libvirt: ensure disk_over_commit is not negative 9dca0d186f Remove hacking rules for python 2/3 compatibility aebc829c4e Check cherry-pick hashes in pep8 tox target 0eb77b0ad2 Update interop repo link b2f07a4959 Fix pdf-docs build failing for TeX over capacity 69079f072d Remove unused function parameters 6ae11a0bcf Remove unnecessary retrieval of Migration object 3b99747b42 libvirt: Don't allow "reserving" file-backed memory 644cb5cb8b libvirt: Mark e1000e VIF as supported 125df26bf9 Use 'Exception.__traceback__' for versioned notifications 03b00ae02f Add reproducer for bug #1881455 e9eb52dee4 libvirt: Remove unused host parameters be3c56c793 libvirt: Remove MIN_*_INTERFACE_MTU, MIN_*_TX_QUEUE_SIZE d84446bdd8 libvirt: Remove MIN_LIBVIRT_ETHERNET_SCRIPT_PATH_NONE 49788b7633 libvirt: Remove workaround for unsupported libvirt version b72980960e Remove hooks 45a88f08b4 hacking: Modify checks for translated logs 21fecc7060 trivial: Remove log translations 325e51f1b0 Cap jsonschema 3.2.0 as the minimal version 497360b0ea libvirt: Don't delete disks on shared storage during evacuate 90e0e874bd Add functional test for bug 1550919 236f1b2d09 zuul: Make devstack-plugin-ceph-tempest-py3 a voting check job again 58159470bf [Nova] Add reference to Placement installation guide cf74d24032 Fix configure() called after DatabaseAtVersion fixture 714c5a3ede Cleanup libvirt test_mount unit tests d8f7325181 Add missing test bindep on openssl bcfa24a09b Remove eventlet hub workaround for monotonic clock 4e394380a3 zuul: Make barbican-simple-crypto-devstack-tempest a non-voting check job ee84b2688e Remove compatibility check from migrate_data 2e7acc3249 Remove inject_file from compute manager and virt driver 3c8079666f Fix an erroneous grammar in explanatory notes f76d09b19d hardware: Raise useful error for invalid mempage size ef83f67a58 Remove unused object_compat decorator 79e6d3e135 docs: Remove subtitles, metadata from man pages f4534e5148 [Trivial]Add missing white spaces between words in log messages 9e457deba0 Fix pygments_style ab3fab0322 Add admin doc information about image cache resource accounting 6458c3dba5 rbd_utils: increase _destroy_volume timeout 89fe504abf Reserve DISK_GB resource for the image cache 61b99a1295 Bump hacking min version to 3.1.0 d40a0856ad Add packages required for pdf-docs run to bindep.txt 2eb2752988 Add link to PDF document d565e7a092 trivial: Remove remaining '_LI' instances 3a28b0e771 trivial: Remove remaining '_LW' instances eee57f2380 trivial: Remove remaining '_LE' instances ab16946885 Make quotas respect instance_list_per_project_cells 6c963e7712 Switch to newer openstackdocstheme and reno versions 34ecf5ab91 tox: Integrate mypy 7776cc02a1 compute: Remove snapshot quiesce tests for STOPPED and SUSPENDED instances cfde53e4b4 compute: Allow snapshots to be created from PAUSED volume backed instances 9f2e24a5a4 Bump hacking min version to 3.0.1 2cc105b46a Poison netifaces.interfaces() in tests 2ac289ce12 libvirt: Remove MIN_LIBVIRT_MULTIATTACH 324c9b596b Suppress remaining policy warnings in unit tests c3834e675f Moving functional jobs to Victoria testing runtime f203da3838 objects: Add MigrationTypeField bf488a8630 replace the "hide_hypervisor_id" to "hw:hide_hypervisor_id" 8a2ed8a78e docs: Resolve issue with deprecated extra specs ca2fe01cc1 remove support of oslo.messaging 9.8.0 warning message d6f664524d Silence amqp heartbeat warning eb433bf17e Fix aggregate placement sync issue dc5dc4de2f Wait for all servers to be active when testing vGPUs 2362970d5c config: Explicitly register 'remote_debug' CLI opts eff787626f Fix ut error on Aarch64(And other non-x86 platform) 0f61d926b1 objects: Add migrate-on-load behavior for legacy NUMA objects 87936baaac Support for --force flag for nova-manage placement heal_allocations command 40e3366ea3 docs: Add evacuation pre-conditions around the src host ca8f1f4222 Follow-up for NUMA live migration functional tests 5af9ad4e54 Remove monotonic usage 505e1f1838 Don't show upgr note for policy validation in V e722fb63e4 Add py38 package metadata 2b82575f3f doc: Fix list rendering in cli/nova-status.rst c19de075e1 Add nested resource providers limit for multi create d4af91f349 Add nova-status upgrade check and reno for policy new defaults 32bbbd698a Test multi create with vGPUs d637b14092 Update contributor guide for Victoria d10f4169c9 Fix list rendering in the accelerator support doc 9f0d2d8ecf zuul: Switch to the Zuulv3 grenade job 5c01be7bf3 Remove translation sections from setup.cfg fcf1ce51c3 Imported Translations from Zanata ff42d69aa7 Switch to TOX_CONSTRAINTS_FILE 75a2d600fc Add placeholder migrations for Ussuri backports 347d656c35 Add Python3 victoria unit tests b5ab89762a Update master for stable/ussuri d3ca735686 Remove stale nested backport from InstancePCIRequests c59225cefd Remove Babel requirement af2405e118 libvirt:driver:Disallow AIO=native when 'O_DIRECT' is not available 5ab9ef11e2 Don't recompute weighers' minval/maxval attributes be810df06f Feature matrix: update AArch64 information 738110db74 Update scheduler instance info at confirm resize b52c483308 Reproduce bug 1869050 1515a229e3 Remove future imports 32713a4fe8 NUMA LM: Add func test for bug 1845146 06aaa08dc4 Functional tests for NUMA live migration 7f3a8957fc Increase code reuse in test_numa_servers efdcaf00e0 Handle flavor disk mismatches when resizing Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + .zuul.yaml | 161 +- HACKING.rst | 7 +- README.rst | 2 +- api-guide/source/accelerator-support.rst | 89 +- api-guide/source/conf.py | 20 +- api-ref/source/conf.py | 8 +- api-ref/source/parameters.yaml | 7 +- api-ref/source/servers-action-evacuate.inc | 6 + api-ref/source/servers-admin-action.inc | 3 +- babel.cfg | 2 - bindep.txt | 12 + .../os-rescue/server-get-resp-rescue.json | 3 - .../os-rescue/server-get-resp-unrescue.json | 3 - .../os-rescue/v2.87/server-get-resp-rescue.json | 13 +- .../os-rescue/v2.87/server-get-resp-unrescue.json | 13 +- .../v2.26/server-tags-show-details-resp.json | 13 +- .../v2.26/servers-tags-details-resp.json | 13 +- .../servers/server-action-rebuild-resp.json | 2 +- .../servers/v2.16/servers-details-resp.json | 2 +- .../servers/v2.19/server-action-rebuild-resp.json | 2 +- .../servers/v2.19/servers-details-resp.json | 2 +- .../servers/v2.26/server-action-rebuild-resp.json | 2 +- .../servers/v2.3/servers-details-resp.json | 2 +- .../servers/v2.47/server-action-rebuild-resp.json | 2 +- .../servers/v2.47/server-update-resp.json | 2 +- .../servers/v2.47/servers-details-resp.json | 2 +- .../servers/v2.52/servers-details-resp.json | 2 +- .../servers/v2.54/server-action-rebuild-resp.json | 2 +- .../servers/v2.57/server-action-rebuild-resp.json | 2 +- .../servers/v2.63/server-action-rebuild-resp.json | 2 +- .../servers/v2.63/server-update-resp.json | 2 +- .../servers/v2.63/servers-details-resp.json | 2 +- .../v2.66/servers-details-with-changes-before.json | 2 +- .../servers/v2.71/server-action-rebuild-resp.json | 2 +- .../servers/v2.71/server-get-down-cell-resp.json | 4 +- .../servers/v2.71/server-groups-post-resp.json | 2 +- .../servers/v2.71/server-update-resp.json | 2 +- .../servers/v2.73/server-action-rebuild-resp.json | 2 +- .../servers/v2.73/server-update-resp.json | 2 +- .../servers/v2.73/servers-details-resp.json | 2 +- .../servers/v2.75/server-action-rebuild-resp.json | 2 +- .../servers/v2.75/server-update-resp.json | 2 +- .../servers/v2.9/servers-details-resp.json | 2 +- .../common_payloads/ImageMetaPropsPayload.json | 2 +- .../common_payloads/InstanceNUMACellPayload.json | 3 +- .../_static/images/xenserver_architecture.svg | 1035 ------ .../admin/configuration/hypervisor-hyper-v.rst | 2 +- .../admin/configuration/hypervisor-xen-api.rst | 475 --- .../admin/configuration/hypervisor-xen-libvirt.rst | 7 +- gate/test_evacuate.sh | 17 +- lower-constraints.txt | 73 +- mypy-files.txt | 9 + nova/accelerator/cyborg.py | 39 +- nova/api/metadata/base.py | 18 +- nova/api/metadata/password.py | 3 +- nova/api/metadata/vendordata_dynamic.py | 3 +- nova/api/openstack/compute/agents.py | 1 - nova/api/openstack/compute/attach_interfaces.py | 3 +- nova/api/openstack/compute/baremetal_nodes.py | 6 +- nova/api/openstack/compute/console_auth_tokens.py | 2 +- nova/api/openstack/compute/evacuate.py | 2 + nova/api/openstack/compute/extension_info.py | 4 +- nova/api/openstack/compute/floating_ip_pools.py | 2 +- nova/api/openstack/compute/floating_ips.py | 32 +- nova/api/openstack/compute/hosts.py | 19 +- nova/api/openstack/compute/hypervisors.py | 10 +- nova/api/openstack/compute/instance_actions.py | 4 +- nova/api/openstack/compute/keypairs.py | 18 +- nova/api/openstack/compute/limits.py | 10 +- nova/api/openstack/compute/migrate_server.py | 13 +- nova/api/openstack/compute/migrations.py | 11 +- nova/api/openstack/compute/multinic.py | 10 +- nova/api/openstack/compute/networks.py | 6 +- nova/api/openstack/compute/quota_classes.py | 8 +- nova/api/openstack/compute/quota_sets.py | 16 +- nova/api/openstack/compute/rescue.py | 22 +- .../openstack/compute/rest_api_version_history.rst | 4 +- .../api/openstack/compute/schemas/server_groups.py | 18 +- nova/api/openstack/compute/security_groups.py | 35 +- nova/api/openstack/compute/server_migrations.py | 2 +- nova/api/openstack/compute/server_topology.py | 2 +- nova/api/openstack/compute/servers.py | 39 +- nova/api/openstack/compute/services.py | 2 +- nova/api/openstack/compute/shelve.py | 7 +- nova/api/openstack/compute/simple_tenant_usage.py | 4 +- nova/api/openstack/compute/tenant_networks.py | 6 +- nova/api/openstack/compute/volumes.py | 32 +- nova/api/openstack/urlmap.py | 7 +- nova/api/openstack/wsgi.py | 38 +- nova/api/validation/extra_specs/hw.py | 70 +- nova/api/validation/extra_specs/null.py | 8 +- nova/api/wsgi.py | 4 +- nova/availability_zones.py | 4 - nova/block_device.py | 98 +- nova/cmd/api.py | 2 + nova/cmd/api_metadata.py | 2 + nova/cmd/api_os_compute.py | 2 + nova/cmd/baseproxy.py | 3 + nova/cmd/common.py | 2 - nova/cmd/compute.py | 2 + nova/cmd/conductor.py | 2 + nova/cmd/manage.py | 44 +- nova/cmd/novncproxy.py | 10 +- nova/cmd/scheduler.py | 2 + nova/cmd/serialproxy.py | 2 + nova/cmd/spicehtml5proxy.py | 2 + nova/cmd/status.py | 89 +- nova/compute/api.py | 291 +- nova/compute/claims.py | 7 +- nova/compute/manager.py | 994 ++--- nova/compute/monitors/base.py | 5 +- nova/compute/multi_cell_list.py | 5 +- nova/compute/provider_config.py | 420 +++ nova/compute/resource_tracker.py | 254 +- nova/compute/rpcapi.py | 28 +- nova/compute/utils.py | 79 +- nova/conductor/manager.py | 114 +- nova/conductor/tasks/base.py | 4 +- nova/conductor/tasks/cross_cell_migrate.py | 19 +- nova/conductor/tasks/live_migrate.py | 18 +- nova/conf/__init__.py | 5 - nova/conf/compute.py | 28 +- nova/conf/console.py | 28 +- nova/conf/glance.py | 61 +- nova/conf/libvirt.py | 130 +- nova/conf/netconf.py | 11 +- nova/conf/remote_debug.py | 41 +- nova/conf/spice.py | 17 - nova/conf/vnc.py | 25 - nova/conf/workarounds.py | 19 + nova/conf/xenserver.py | 549 --- nova/config.py | 13 + nova/console/rfb/auth.py | 5 +- nova/console/securityproxy/base.py | 5 +- nova/console/websocketproxy.py | 11 +- nova/crypto.py | 170 +- nova/db/api.py | 8 + nova/db/sqlalchemy/api.py | 18 + .../migrate_repo/versions/073_placeholder.py} | 17 +- .../migrate_repo/versions/074_placeholder.py} | 20 +- .../migrate_repo/versions/075_placeholder.py | 22 + .../migrate_repo/versions/076_placeholder.py | 22 + .../migrate_repo/versions/077_placeholder.py | 22 + .../sqlalchemy/migrate_repo/versions/216_havana.py | 2 +- .../330_enforce_mitaka_online_migrations.py | 6 +- .../migrate_repo/versions/408_placeholder.py | 22 + .../migrate_repo/versions/409_placeholder.py | 22 + .../migrate_repo/versions/410_placeholder.py | 22 + .../migrate_repo/versions/411_placeholder.py | 22 + .../migrate_repo/versions/412_placeholder.py | 22 + nova/debugger.py | 10 +- nova/exception.py | 104 +- nova/exception_wrapper.py | 37 +- nova/filters.py | 6 +- nova/hacking/checks.py | 129 +- nova/hooks.py | 165 - nova/i18n.py | 10 - nova/image/download/__init__.py | 54 - nova/image/glance.py | 293 +- nova/locale/cs/LC_MESSAGES/nova.po | 342 +- nova/locale/de/LC_MESSAGES/nova.po | 374 +- nova/locale/es/LC_MESSAGES/nova.po | 355 +- nova/locale/fr/LC_MESSAGES/nova.po | 358 +- nova/locale/it/LC_MESSAGES/nova.po | 354 +- nova/locale/ja/LC_MESSAGES/nova.po | 358 +- nova/locale/ko_KR/LC_MESSAGES/nova.po | 357 +- nova/locale/pt_BR/LC_MESSAGES/nova.po | 350 +- nova/locale/ru/LC_MESSAGES/nova.po | 350 +- nova/locale/tr_TR/LC_MESSAGES/nova.po | 295 +- nova/locale/zh_CN/LC_MESSAGES/nova.po | 333 +- nova/locale/zh_TW/LC_MESSAGES/nova.po | 334 +- nova/manager.py | 4 +- nova/monkey_patch.py | 31 +- nova/network/constants.py | 2 +- nova/network/neutron.py | 63 +- nova/network/security_group_api.py | 32 +- nova/notifications/objects/exception.py | 41 +- nova/notifications/objects/image.py | 6 +- nova/notifications/objects/request_spec.py | 10 +- nova/objects/compute_node.py | 6 + nova/objects/fields.py | 47 +- nova/objects/image_meta.py | 19 +- nova/objects/instance.py | 31 +- nova/objects/instance_mapping.py | 13 +- nova/objects/instance_numa.py | 169 +- nova/objects/instance_pci_requests.py | 8 - nova/objects/migrate_data.py | 35 - nova/objects/migration.py | 24 +- nova/objects/numa.py | 53 +- nova/objects/service.py | 7 +- nova/pci/devspec.py | 3 +- nova/pci/stats.py | 5 - nova/pci/utils.py | 24 - nova/policies/baremetal_nodes.py | 40 +- nova/policies/extensions.py | 13 +- nova/policies/floating_ip_pools.py | 11 +- nova/policies/floating_ips.py | 92 +- nova/policies/hosts.py | 90 +- nova/policies/multinic.py | 45 +- nova/policies/networks.py | 43 +- nova/policies/security_groups.py | 93 +- nova/policies/server_topology.py | 2 +- nova/policies/servers.py | 14 +- nova/policies/tenant_networks.py | 41 +- nova/policies/volumes.py | 141 +- nova/policy.py | 54 +- nova/privsep/libvirt.py | 8 +- nova/privsep/path.py | 21 +- nova/privsep/xenapi.py | 37 - nova/quota.py | 8 +- nova/scheduler/client/report.py | 38 +- nova/scheduler/driver.py | 5 +- nova/scheduler/filters/core_filter.py | 98 - nova/scheduler/filters/disk_filter.py | 95 - nova/scheduler/filters/ram_filter.py | 89 - nova/scheduler/filters/retry_filter.py | 60 - nova/scheduler/request_filter.py | 9 +- nova/scheduler/utils.py | 86 +- nova/service.py | 29 +- nova/servicegroup/api.py | 11 +- nova/servicegroup/drivers/db.py | 14 +- nova/servicegroup/drivers/mc.py | 13 +- .../unit/virt/xenapi => storage}/__init__.py | 0 nova/{virt/libvirt => }/storage/rbd_utils.py | 46 +- nova/test.py | 24 +- .../os-rescue/server-get-resp-rescue.json.tpl | 3 - .../os-rescue/server-get-resp-unrescue.json.tpl | 3 - .../os-rescue/server-unrescue-req.json.tpl | 2 +- .../v2.87/server-get-resp-rescue.json.tpl | 11 - .../v2.87/server-get-resp-unrescue.json.tpl | 11 - .../v2.26/server-tags-show-details-resp.json.tpl | 13 +- .../v2.26/servers-tags-details-resp.json.tpl | 13 +- .../servers/server-action-rebuild-resp.json.tpl | 2 +- .../api_samples/servers/server-get-resp.json.tpl | 2 +- .../servers/server-update-resp.json.tpl | 2 +- .../servers/servers-details-resp.json.tpl | 2 +- .../servers/v2.16/server-get-resp.json.tpl | 2 +- .../servers/v2.16/servers-details-resp.json.tpl | 2 +- .../v2.19/server-action-rebuild-resp.json.tpl | 2 +- .../servers/v2.19/server-get-resp.json.tpl | 2 +- .../servers/v2.19/server-put-resp.json.tpl | 2 +- .../servers/v2.19/servers-details-resp.json.tpl | 2 +- .../v2.26/server-action-rebuild-resp.json.tpl | 2 +- .../servers/v2.3/server-get-resp.json.tpl | 2 +- .../servers/v2.3/servers-details-resp.json.tpl | 2 +- .../v2.47/server-action-rebuild-resp.json.tpl | 2 +- .../servers/v2.47/server-get-resp.json.tpl | 2 +- .../servers/v2.47/server-update-resp.json.tpl | 2 +- .../servers/v2.47/servers-details-resp.json.tpl | 2 +- .../servers/v2.52/server-get-resp.json.tpl | 2 +- .../servers/v2.52/servers-details-resp.json.tpl | 2 +- .../v2.54/server-action-rebuild-resp.json.tpl | 2 +- .../v2.57/server-action-rebuild-resp.json.tpl | 2 +- .../v2.63/server-action-rebuild-resp.json.tpl | 2 +- .../servers/v2.63/server-get-resp.json.tpl | 2 +- .../servers/v2.63/server-update-resp.json.tpl | 2 +- .../servers/v2.63/servers-details-resp.json.tpl | 2 +- .../servers-details-with-changes-before.json.tpl | 2 +- .../servers/v2.69/server-get-resp.json.tpl | 6 +- .../v2.71/server-action-rebuild-resp.json.tpl | 2 +- .../v2.71/server-get-down-cell-resp.json.tpl | 4 +- .../servers/v2.71/server-get-resp.json.tpl | 2 +- .../servers/v2.71/server-groups-post-resp.json.tpl | 4 +- .../servers/v2.71/server-update-resp.json.tpl | 2 +- .../v2.73/server-action-rebuild-resp.json.tpl | 4 +- .../servers/v2.73/server-get-resp.json.tpl | 4 +- .../servers/v2.73/server-update-resp.json.tpl | 4 +- .../servers/v2.73/servers-details-resp.json.tpl | 4 +- .../v2.75/server-action-rebuild-resp.json.tpl | 2 +- .../servers/v2.75/server-update-resp.json.tpl | 2 +- .../servers/v2.9/server-get-resp.json.tpl | 2 +- .../servers/v2.9/servers-details-resp.json.tpl | 2 +- .../test_assisted_volume_snapshots.py | 3 + .../test_preserve_ephemeral_rebuild.py | 4 +- .../functional/compute/test_live_migration.py | 127 +- .../functional/compute/test_resource_tracker.py | 264 +- .../functional/libvirt/test_numa_live_migration.py | 613 ++++ .../functional/libvirt/test_pci_sriov_servers.py | 529 ++- .../functional/libvirt/test_report_cpu_traits.py | 39 +- .../libvirt/test_shared_resource_provider.py | 12 +- .../notification_sample_base.py | 6 +- .../functional/regressions/test_bug_1404867.py | 2 - .../functional/regressions/test_bug_1522536.py | 8 +- .../functional/regressions/test_bug_1541691.py | 11 +- .../functional/regressions/test_bug_1548980.py | 15 +- .../functional/regressions/test_bug_1558866.py | 8 +- .../functional/regressions/test_bug_1595962.py | 10 +- .../functional/regressions/test_bug_1620248.py | 6 +- .../functional/regressions/test_bug_1669054.py | 2 - .../functional/regressions/test_bug_1670627.py | 6 +- .../functional/regressions/test_bug_1671648.py | 8 +- .../functional/regressions/test_bug_1675570.py | 5 +- .../functional/regressions/test_bug_1679750.py | 4 +- .../functional/regressions/test_bug_1682693.py | 4 +- .../functional/regressions/test_bug_1689692.py | 4 +- .../functional/regressions/test_bug_1702454.py | 4 +- .../functional/regressions/test_bug_1713783.py | 6 +- .../functional/regressions/test_bug_1718455.py | 5 +- .../functional/regressions/test_bug_1718512.py | 4 +- .../functional/regressions/test_bug_1719730.py | 4 +- .../functional/regressions/test_bug_1732947.py | 5 - .../functional/regressions/test_bug_1735407.py | 7 +- .../functional/regressions/test_bug_1741307.py | 5 +- .../functional/regressions/test_bug_1746483.py | 7 +- .../functional/regressions/test_bug_1764556.py | 4 +- .../functional/regressions/test_bug_1764883.py | 8 +- .../functional/regressions/test_bug_1780373.py | 13 +- .../functional/regressions/test_bug_1781286.py | 8 +- .../functional/regressions/test_bug_1781710.py | 9 +- .../functional/regressions/test_bug_1784353.py | 8 +- .../functional/regressions/test_bug_1797580.py | 9 +- .../functional/regressions/test_bug_1806515.py | 6 +- .../functional/regressions/test_bug_1815153.py | 5 +- .../functional/regressions/test_bug_1823370.py | 2 - .../functional/regressions/test_bug_1825020.py | 4 +- .../functional/regressions/test_bug_1825034.py | 5 +- .../functional/regressions/test_bug_1830747.py | 4 +- .../functional/regressions/test_bug_1835822.py | 48 +- .../functional/regressions/test_bug_1837955.py | 2 +- .../functional/regressions/test_bug_1843708.py | 69 + .../functional/regressions/test_bug_1849409.py | 5 +- .../functional/regressions/test_bug_1852458.py | 4 +- .../functional/regressions/test_bug_1862633.py | 10 +- .../functional/regressions/test_bug_1879878.py | 361 ++ .../functional/regressions/test_bug_1886418.py | 82 + .../functional/regressions/test_bug_1888395.py | 132 + .../functional/regressions/test_bug_1889108.py | 97 + .../functional/regressions/test_bug_1893284.py | 87 + .../functional/regressions/test_bug_1894966.py | 40 + .../functional/regressions/test_bug_1895696.py | 146 + .../test_conf_max_attach_disk_devices.py | 8 +- .../test_legacy_v2_compatible_wrapper.py | 20 +- .../functional/test_list_servers_ip_filter.py | 10 +- .../unit/api/openstack/compute/microversions.py | 8 +- .../unit/api/openstack/compute/test_access_ips.py | 4 +- .../openstack/compute/test_availability_zone.py | 4 +- .../unit/api/openstack/compute/test_disk_config.py | 21 +- .../unit/api/openstack/compute/test_evacuate.py | 8 + .../api/openstack/compute/test_extension_info.py | 30 - .../openstack/compute/test_flavors_extra_specs.py | 1 + .../openstack/compute/test_floating_ip_pools.py | 18 - .../api/openstack/compute/test_floating_ips.py | 59 - .../api/openstack/compute/test_migrate_server.py | 13 +- .../unit/api/openstack/compute/test_multinic.py | 37 +- .../unit/api/openstack/compute/test_networks.py | 28 - .../unit/api/openstack/compute/test_rescue.py | 29 +- .../api/openstack/compute/test_security_groups.py | 2 +- .../api/openstack/compute/test_server_actions.py | 48 +- .../api/openstack/compute/test_server_topology.py | 5 +- .../{test_serversV21.py => test_servers.py} | 52 +- .../unit/api/openstack/compute/test_shelve.py | 51 +- .../api/openstack/compute/test_tenant_networks.py | 30 - .../unit/api/openstack/compute/test_urlmap.py | 8 +- .../api/validation/extra_specs/test_validators.py | 5 +- .../provider_config_data/v1/example_provider.yaml | 33 + .../v1/validation_error_test_data.yaml | 204 ++ .../v1/validation_success_test_data.yaml | 113 + .../validate_provider_bad_config.yaml | 72 + .../validate_provider_good_config.yaml | 103 + .../compute/{test_compute_api.py => test_api.py} | 508 ++- .../conductor/tasks/test_cross_cell_migrate.py | 12 +- .../unit/conductor/tasks/test_live_migrate.py | 66 +- .../unit/notifications/objects/test_exception.py | 53 + .../notifications/objects/test_notification.py | 4 +- .../unit/objects/test_instance_pci_requests.py | 14 - .../policies/test_assisted_volume_snapshots.py | 2 + .../unit/policies/test_console_auth_tokens.py | 7 +- .../unit/policies/test_instance_usage_audit_log.py | 2 + .../unit/policies/test_server_external_events.py | 6 +- .../unit/scheduler/filters/test_core_filters.py | 64 - .../unit/scheduler/filters/test_disk_filters.py | 55 - .../filters/test_numa_topology_filters.py | 125 +- .../unit/scheduler/filters/test_ram_filters.py | 64 - .../unit/scheduler/filters/test_retry_filters.py | 56 - .../scheduler/weights/test_weights_affinity.py | 38 +- .../unit/{virt/libvirt => }/storage/test_rbd.py | 77 +- .../unit/virt/libvirt/volume/test_remotefs.py | 10 + .../virt/libvirt/volume/test_vrtshyperscale.py | 74 - .../unit/virt/xenapi/image/test_vdi_stream.py | 149 - .../unit/virt/xenapi/image/test_vdi_through_dev.py | 204 -- nova/utils.py | 132 +- nova/version.py | 4 +- nova/virt/disk/api.py | 4 +- nova/virt/driver.py | 77 +- nova/virt/fake.py | 13 +- nova/virt/hardware.py | 729 ++-- nova/virt/hyperv/driver.py | 20 +- nova/virt/hyperv/snapshotops.py | 3 +- nova/virt/hyperv/vmops.py | 11 +- nova/virt/hyperv/volumeops.py | 4 +- nova/virt/imagecache.py | 9 + nova/virt/ironic/driver.py | 15 +- nova/virt/libvirt/config.py | 87 +- nova/virt/libvirt/designer.py | 15 +- nova/virt/libvirt/driver.py | 1530 +++++--- nova/virt/libvirt/guest.py | 103 +- nova/virt/libvirt/host.py | 79 +- nova/virt/libvirt/imagebackend.py | 84 +- nova/virt/libvirt/imagecache.py | 35 +- nova/virt/libvirt/migration.py | 51 +- nova/virt/libvirt/utils.py | 226 +- nova/virt/libvirt/vif.py | 225 +- nova/virt/libvirt/volume/aoe.py | 62 - nova/virt/libvirt/volume/disco.py | 62 - nova/virt/libvirt/volume/drbd.py | 59 - nova/virt/libvirt/volume/fs.py | 9 +- nova/virt/libvirt/volume/hgst.py | 52 - nova/virt/libvirt/volume/mount.py | 16 +- nova/virt/libvirt/volume/nfs.py | 6 + nova/virt/libvirt/volume/quobyte.py | 2 +- nova/virt/libvirt/volume/remotefs.py | 15 +- nova/virt/libvirt/volume/vrtshyperscale.py | 58 - nova/virt/powervm/disk/driver.py | 6 +- nova/virt/powervm/driver.py | 3 +- nova/virt/powervm/vif.py | 3 +- nova/virt/vmwareapi/driver.py | 23 +- nova/virt/vmwareapi/host.py | 4 +- nova/virt/vmwareapi/vm_util.py | 15 +- nova/virt/vmwareapi/vmops.py | 2 +- nova/virt/xenapi/agent.py | 442 --- nova/virt/xenapi/driver.py | 862 ----- nova/virt/xenapi/fake.py | 1172 ------ nova/virt/xenapi/host.py | 569 --- nova/virt/xenapi/image/__init__.py | 0 nova/virt/xenapi/image/glance.py | 93 - nova/virt/xenapi/image/utils.py | 121 - nova/virt/xenapi/image/vdi_stream.py | 85 - nova/virt/xenapi/image/vdi_through_dev.py | 108 - nova/virt/xenapi/network_utils.py | 52 - nova/virt/xenapi/pool.py | 240 -- nova/virt/xenapi/pool_states.py | 51 - nova/virt/xenapi/vif.py | 443 --- nova/virt/xenapi/vm_utils.py | 2607 ------------- nova/virt/xenapi/vmops.py | 2730 -------------- nova/virt/xenapi/volume_utils.py | 398 -- nova/virt/xenapi/volumeops.py | 226 -- nova/volume/cinder.py | 85 +- nova/weights.py | 21 +- nova/wsgi.py | 21 +- playbooks/ceph/glance-copy-policy.yaml | 10 + ...s-refresh-deprecated-apis-a758af4090419b11.yaml | 9 + ...ative-io-is-not-supported-fe56014e9648a518.yaml | 14 + .../notes/bug-1841932-c871ac7b3b05d67e.yaml | 9 + .../notes/bug-1874032-2b01ed05bc7f6f8d.yaml | 8 + .../notes/bug-1875418-0df3198e36530ec7.yaml | 31 + ...efault-policy-file-change-22bd4cc6e27e0091.yaml | 19 + ...erve-disk-for-image-cache-ef6688f869b12bcb.yaml | 10 + ...-memory-reserved-conflict-3ad4c04ab993ebf8.yaml | 15 + ...882919-support-e1000e-vif-5437a45c13dff978.yaml | 7 + .../notes/bug-1884231-16acf297d88b122e.yaml | 16 + ...ach-multiattached-volumes-5fa862aea7f237ea.yaml | 6 + .../notes/bug-1889633-37e524fb6c20fbdf.yaml | 9 + .../notes/bug-1892870-eb894956bf04713d.yaml | 8 + .../notes/bug-1893263-769acadc4b6141d0.yaml | 5 + .../notes/bug-1894804-c03c20cd983c3192.yaml | 15 + .../notes/bug-1894966-d25c12b1320cb910.yaml | 10 + ...eprecate-libvirt-backends-496446b8b8b225e9.yaml | 9 + .../notes/emulated-tpm-cb277659fc2f9660.yaml | 9 + .../enable_rbd_download-e60470890518a605.yaml | 9 + .../force-heal-allocations-7834f3156be90c94.yaml | 4 + ...crease_glance_num_retries-ddfcd7053631882b.yaml | 11 + .../libvirt-nodedev-lookup-d80174ac30bc82f0.yaml | 12 + ...irt-rbd-glance-multistore-ecb66a071c282183.yaml | 13 + .../max-concurrent-snapshots-21a0a437dbe1044a.yaml | 12 + .../provider-config-file-bf026380cb5a7898.yaml | 13 + releasenotes/notes/qemu-accept-vmxnet3-nic.yaml | 7 + .../rbd-increase-timeout-c4e5a34cf5da7fdc.yaml | 19 + .../notes/remove-hooks-96d08645404d327c.yaml | 13 + ...emove-image-download-hook-27b39dca2497446a.yaml | 5 + ...ove-intel-cmt-perf-events-69df7324d6fe41a8.yaml | 7 + .../remove-keymap-options-8db6d03ccf098db1.yaml | 19 + ...try-and-aggregate-filters-f872a85d0b815982.yaml | 21 + .../remove-xenapi-driver-194756049f22dc9e.yaml | 46 + ...cky-portbinding-semantics-48e9b1fa969cc5e9.yaml | 14 + .../support-sriov-attach-5a52a3388e2e41c2.yaml | 5 + ...deprecate-vmware-victoria-2eaf5d877733f8d9.yaml | 6 + ...-and-vcpu-in-one-instance-0ea66aeb9c2970de.yaml | 22 + ...oria-libvirt-version-bump-e1a09b3a72ee56a4.yaml | 8 + .../notes/victoria-prelude-9b4c16ff8c6e7f3e.yaml | 44 + releasenotes/source/conf.py | 8 +- releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 398 ++ .../source/locale/fr/LC_MESSAGES/releasenotes.po | 126 + releasenotes/source/unreleased.rst | 2 + releasenotes/source/ussuri.rst | 6 + requirements.txt | 38 +- setup.cfg | 22 +- test-requirements.txt | 13 +- tools/check-cherry-picks.sh | 42 + tools/db/schema_diff.py | 2 - tools/mypywrap.sh | 22 + tools/test-setup.sh | 4 +- tools/xenserver/destroy_cached_images.py | 85 - tools/xenserver/populate_other_config.py | 103 - tools/xenserver/rotate_xen_guest_logs.sh | 69 - tools/xenserver/stress_test.py | 181 - tools/xenserver/vdi_chain_cleanup.py | 128 - tools/xenserver/vm_vdi_cleaner.py | 316 -- tox.ini | 31 +- 793 files changed, 26813 insertions(+), 43380 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 1ab8c54bdb..e62366561e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,2 +7,2 @@ SQLAlchemy>=1.2.19 # MIT -decorator>=3.4.0 # BSD -eventlet!=0.20.1,>=0.20.0 # MIT +decorator>=4.1.0 # BSD +eventlet>=0.22.0 # MIT @@ -11 +11 @@ keystonemiddleware>=4.20.0 # Apache-2.0 -lxml!=3.7.0,>=3.4.1 # BSD +lxml>=4.5.0 # BSD @@ -17 +17 @@ WebOb>=1.8.2 # MIT -greenlet>=0.4.10,!=0.4.14 # MIT +greenlet>=0.4.15 # MIT @@ -24,2 +24 @@ netifaces>=0.10.4 # MIT -paramiko>=2.0.0 # LGPLv2.1+ -Babel!=2.4.0,>=2.3.4 # BSD +paramiko>=2.7.1 # LGPLv2.1+ @@ -27 +26 @@ iso8601>=0.1.11 # MIT -jsonschema>=2.6.0 # MIT +jsonschema>=3.2.0 # MIT @@ -32,2 +31,2 @@ python-glanceclient>=2.8.0 # Apache-2.0 -requests>=2.14.2 # Apache-2.0 -six>=1.10.0 # MIT +requests>=2.23.0 # Apache-2.0 +six>=1.11.0 # MIT @@ -38,2 +37,2 @@ oslo.concurrency>=3.29.0 # Apache-2.0 -oslo.config>=6.1.0 # Apache-2.0 -oslo.context>=2.21.0 # Apache-2.0 +oslo.config>=6.8.0 # Apache-2.0 +oslo.context>=2.22.0 # Apache-2.0 @@ -44 +43 @@ oslo.upgradecheck>=0.1.1 -oslo.utils>=4.1.0 # Apache-2.0 +oslo.utils>=4.5.0 # Apache-2.0 @@ -48 +47 @@ oslo.messaging>=10.3.0 # Apache-2.0 -oslo.policy>=3.1.0 # Apache-2.0 +oslo.policy>=3.4.0 # Apache-2.0 @@ -52 +51 @@ oslo.service>=1.40.1 # Apache-2.0 -rfc3986>=1.1.0 # Apache-2.0 +rfc3986>=1.2.0 # Apache-2.0 @@ -56 +55 @@ oslo.versionedobjects>=1.35.0 # Apache-2.0 -os-brick>=3.0.1 # Apache-2.0 +os-brick>=3.1.0 # Apache-2.0 @@ -58 +57 @@ os-resource-classes>=0.4.0 # Apache-2.0 -os-traits>=2.2.0 # Apache-2.0 +os-traits>=2.4.0 # Apache-2.0 @@ -60 +59 @@ os-vif>=1.14.0 # Apache-2.0 -os-win>=3.0.0 # Apache-2.0 +os-win>=4.2.0 # Apache-2.0 @@ -63 +62 @@ microversion-parse>=0.2.1 # Apache-2.0 -os-xenapi>=0.3.3 # Apache-2.0 +os-xenapi>=0.3.4 # Apache-2.0 @@ -69 +68 @@ os-service-types>=1.7.0 # Apache-2.0 -taskflow>=2.16.0 # Apache-2.0 +taskflow>=3.8.0 # Apache-2.0 @@ -74,0 +74 @@ dataclasses>=0.7;python_version=='3.6' # Apache 2.0 License +PyYAML>=3.13 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index b04b42b0df..98b2a0e2bc 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5,2 @@ -hacking>=2.0<2.1 +hacking>=3.1.0,<3.2.0 # Apache-2.0 +mypy>=0.761 # MIT @@ -7 +8 @@ coverage!=4.4,>=4.0 # Apache-2.0 -ddt>=1.0.1 # MIT +ddt>=1.2.1 # MIT @@ -10,2 +11,2 @@ mock>=3.0.0 # BSD -psycopg2>=2.7 # LGPL/ZPL -PyMySQL>=0.7.6 # MIT License +psycopg2>=2.8 # LGPL/ZPL +PyMySQL>=0.8.0 # MIT License @@ -13 +14 @@ python-barbicanclient>=4.5.2 # Apache-2.0 -python-ironicclient!=2.7.1,>=2.7.0 # Apache-2.0 +python-ironicclient>=3.0.0 # Apache-2.0 @@ -16 +17 @@ oslotest>=3.8.0 # Apache-2.0 -stestr>=1.0.0 # Apache-2.0 +stestr>=2.0.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org