[release-announce] nova 22.0.0 (victoria)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 14 10:35:12 UTC 2020


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






More information about the Release-announce mailing list