[release-announce] nova 26.0.0 (zed)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 5 12:28:46 UTC 2022


We are pleased to announce the release of:

nova 26.0.0: Cloud computing fabric controller

This release is part of the zed 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 25.0.0..26.0.0
------------------------------

2db7cbf7d0 requires os-traits >= 2.9.0
839502e454 [stable-only] Update TOX_CONSTRAINTS_FILE for stable/zed
c38b1dbe03 [stable-only] Update .gitreview for stable/zed
cfd3aa8dfc Prelude section for Zed release
a1731927cc Update min supported service version for Zed
8f5fd2ae46 Bump min oslo.concurrencty to >= 5.0.1
e43bf900dc Gracefully ERROR in _init_instance if vnic_type changed
f8c91eb75f Reproduce bug 1981813 in func env
966dd8b25a doc: mark the max microversion for zed
a4bf453a3c Update compute rpc version alias for zed
efb6fd834e Doc follow up for PCI in placement
11bcf2676c Follow up for the PCI in placement series
dc05564435 Add traits for viommu model
14e3b352c2 libvirt: Add vIOMMU device to guest
1bc1b599df Skip UnshelveToHostMultiNodesTest in nova-multi-cell
45c5b80fd0 Add API support for rebuilding BFV instances
a85d052a22 Add missing descriptions in HACKING.rst
6919db5612 Add conductor RPC interface for rebuild
30aab9c234 Add support for volume backed server rebuild
6903456820 Add documentation and releasenotes for RBAC change
ccab6fed46 Generate request_id for Flavor based InstancePCIRequest
06389f8d84 Allow enabling PCI tracking in Placement
9268bc36a3 Handle PCI dev reconf with allocations
ab439dadb1 Heal allocation for same host resize
98e9989cad Heal PCI allocation during resize
d483a696a5 Heal missing simple PCI allocation in the resource tracker
48229b46b4 Retry /reshape at provider generation conflict
bdec962fd6 Move provider_tree RP creation to PciResourceProvider
3e68e19d6e Stop if tracking is disable after it was enabled before
5860541bd7 Support [pci]device_spec reconfiguration
01d7a39e00 Reject devname based device_spec config
10ba714125 Ignore PCI devs with physical_network tag
07f2bf8035 Reject mixed VF rc and trait config
0d526d1f4b Reject PCI dependent device config
2722038946 Extend device_spec with resource_class and traits
953f1eef19 Basics for PCI Placement reporting
2b447b7236 Trigger reschedule if PCI consumption fail on compute
2aeb0a96b7 Reproduce bug 1986838
909b0b0247 Keep legacy admin behaviour in new RBAC
572c2b18e2 Add locked_memory extra spec and image property
066e1e69d1 Remove system scope from all APIs
0f82a6465a Revert "Test attached volume extend actions in the nova-next job"
0aad338b1c Add VDPA support for suspend and livemigrate
51a970af37 Fix suspend for non hostdev sriov ports
6f1c7ab2e7 Add source dev parsing for vdpa interfaces
49605f8829 Alphabetizes objects
18d9c85aa4 Fix a deprecation warning about threading.Thread
07022c7791 doc: Update a PTL guide
232684b440 Avoid n-cond startup abort for keystone failures
c178d93606 Unify placement client singleton implementations
c7b865c79b nova-live-migration tests not needed for Ironic
15769b883e Adapt websocketproxy tests for SimpleHTTPServer fix
95f96ed3aa enable blocked VDPA move operations
82cdfa23c7 Add reno for fixing bug 1941005
48a6a9cab2 libvirt: Consolidate create_cow_image and create_image
e2cf3ae9ab imagebackend: Add disk_info_mapping as an optional attribute of Image
5c228e8d39 blockinfo: Add encryption details to the disk_info mappings when provided
6d9e8739d4 virt: Add block_device_info helper to find encrypted disks
0b0fa8ac31 Fix a deprecation warning about distutils
5710a8ac06 Add limitation to docs about bug 1983570
99dd3f75cd Rename whitelist in tests
f55da0802b Rename exception.PciConfigInvalidWhitelist to PciConfigInvalidSpec
14e68ac6e9 Rename [pci]passthrough_whitelist to device_spec
57c253a609 Add compute restart capability for libvirt func tests
ebae3c2081 Poison /sys access via various calls in test
a93092e0d5 Update RequestSpec.pci_request for resize
6d602c6b73 Reproducer for bug 1983753
e76ec7af4d update default numa allocation strategy
d57bb972a2 Imported Translations from Zanata
bf654e3a4a Remove double mocking... again
de830f87b0 Adds img_config_drive in nova users docs
fe83c63b86 Remove workaround for SQLAlchemy < 1.4
db919aa15f For evacuation, ignore if task_state is not None
d53d9eba22 block_device: Add encryption attributes to image and ephemeral disks
5df97016b4 block_device: Add DriverImageBlockDevice to block_device_info
794d2f98d9 scheduler: Add an ephemeral encryption pre filter
a370d1b581 virt: Add ephemeral encryption flag
2f97ca2cdc compute: Update bdms with ephemeral encryption details when requested
bf701eb4a0 BlockDeviceMapping: Add is_local property
cdea73bd9c BlockDeviceMapping: Add encryption fields
065b324835 image_meta: Add ephemeral encryption properties
184f0074cc imagebackend: default by_name image_type to config correctly
535212eaad libvirt: Remove defunct comment
d0bd8b8bee libvirt: Improve creating images INFO log
003f1d2b45 block_device_info: Add swap to inline
57ab45323c Update libvirt enlightenments for Windows
6069592bcf Fix mocking SafeConnectedTestCase
deae814611 Remove the PowerVM driver
c36782a96a hacking: force explicit import of python's mock
f8cf050a13 Remove double mocking
b351f0b848 [docs] Fix mention of custom scheduling after Wallaby
1495d802c6 Updated Suspend definition in server concepts doc
89ef050b8c Use unittest.mock instead of third party mock
a755e5d9f2 api: Drop generating a keypair and add special chars to naming
00ed8a232b Add a workaround to skip hypervisor version check on LM
5904c7f993 add regression test case for bug 1978983
ff7d9d7b7e [trivial] Simplify dict get call by removing unused default
09239fc2ea Allow unshelve to a specific host (REST API part)
a263fa46f8 Allow unshelve to a specific host (Compute API part)
2709e30956 Fix compatibility with jsonschema 4.x
e1a925772b Remove unused requirement
f08b71f3ab libvirt: Remove unnecessary TODO
f708feee35 libvirt: Ignore LibvirtConfigObject kwargs
4fdc0807b4 Add a proper schema version to network_data.json
f77a9fee5b libvirt: remove default cputune shares value
8133092907 Remove use of pkg_resources
786a09ad7a etc: Highlight absence of packages from config gen
9a7028f02c Test setting the nova job to centos-9-stream
467bbee758 Adds link in releasenotes for hw machine type bug
4fb2aa4682 zuul: Put Centos9 Stream job periodic-weekly and experimental
cbf9b2b873 update nova-next and nova-ovs-hybrid-plug to disable linuxbridge
a669f9150a Test attached volume extend actions in the nova-next job
7b9312ef8e Adds validation for hw machine type in host caps
c4cd6ee461 Imported Translations from Zanata
cd2c2f359b ignore deleted server groups in validation
84a84f7f2f add repoducer test for bug 1890244
7824471b79 Remove return from rpc cast
45c0a3884b zuul: Temporarly put Centos9 Stream job non-voting
ecc90f2e55 Make test_wait_for_instance_event_* test time independent
099a6f63af Optimize numa_fit_instance_to_host
8f4b740ca5 Retry attachment delete API call for 504 Gateway Timeout
9af4c6115f Change TooOldComputeService upgrade check code to failure
f551447804 Optimize _local_delete calls by compute unit tests
4d6cce1d10 docs: Correct path used for config on Hyper-V
2521810e55 Fix typos
aa1e7a6933 Fix typos in help messages
3aa77a3999 Add missing condition
a240cf8d09 Fix duplicates keys
ab51a5dd25 Accept both 1 and Y as AMD SEV KVM kernel param value
267a40663c libvirt: Add a workaround to skip compareCPU() on destination
9e0dcb52ab neutron: Unbind remaining ports after PortNotFound
8534499b4a Fix race condition in _get_pci_passthrough_devices
512aab83c8 Revert "zuul: Skip block migration with attached volumes tests due to bug #1931702"
0c028aa9e6 trivial: fix deprecation warning in notification fixture
8fbaeba11f Fix extending non LUKSv1 encrypted volumes
7c87c2f5f7 Switch libvirt event timeout message to warning
9063e3a1fd Add Python 3.10 functional jobs
e187e97253 Adapt bindep ubuntu-jammy
b70cd298fc Add releasenote about dropping pythin 3.6|7 support
a3a593ad55 Enable live_migration_events in nova-ovs-hybrid-plug
3af2ecc13f Allow claiming PCI PF if child VF is unavailable
cd03bbc1c3 Record SRIOV PF MAC in the binding profile
1d4dbfd468 Log the exception returned from a cell during API.get()
4c339c10e3 Drop lower-constraints.txt and its testing
56055ede03 VMware: StableMoRefProxy for moref recovery
494e8d7db6 [CI] Install dependencies for docs target
9ee5d2c662 Simulate bug 1969496
284ea72e96 Remove unavailable but not reported PCI devices at startup
c58376db75 Isolate PCI tracker unit tests
aa1b0a7ccb Fix LM rollback w/o multi port bindings extension
5181bae923 Reproduce live migration rollback w/o multi port bindings error
ee32934f34 Fix segment-aware scheduling permissions error
5f5551448d Move centos stream testing to centos-9-stream
cf906cdcc2 Deprecate [api] use_forwarded_for
03fd208c56 VMware: Split out VMwareAPISession
78e3a6e610 db: Close connection on early return
8dafea25e3 enable locking test fixture
7c8b800867 Update python testing as per zed cycle teting runtime
08e8bdf271 VMware: Early fail spawn if memory is not multiple of 4.
2234b179b5 Store pf_mac_address and vf_num in extra_info
8142b9dc47 db: Resolve additional SAWarning warnings
612b83ee5d db: Don't rely on autocommit behavior
b02166c91f db: Replace use of Column.copy() method
287ef8d689 db: Remove inplicit coercion of SELECTs
440fa6ab00 db: Replace use of Connection.connect() method
982e15980c db: Remove use of empty 'and_()'
0939b3c4d1 db: Replace use of strings in join, defer operations
523297bdfa db: Trivial rewrapping of warning filters
f7a1be8ddd db: Narrow down deprecation warning filter
abfd692285 Add nova-emulation to the experimental queue too
3fddfa9fc2 pre-commit: Sync hacking version, bump plugins
b082d06cbc hacking: Prevent use of six
ca8e4dad7f Sync rootwrap.conf from oslo.rootwrap
5e6b9a8698 Fix wrong attribute to find remote address
547ed98550 Imported Translations from Zanata
63ffba7496 Fix pre_live_migration rollback
01980cfb08 objects: Don't use generic 'Field' container
1c8122a25f Retry in CellDatabases fixture when global DB state changes
86ded7f65d objects: Remove 'NovaObjectDictCompat' from 'InstancePCIRequest'
028b3bca16 objects: Remove 'NovaObjectDictCompat' from 'Migration'
7beff288d6 doc: Remove useless contributor/api-2 doc
84c6d05ac3 Fix unit tests when they are run with OS_DEBUG=True
8d2776fb34 refactor: remove duplicated logic
2ddb8bf53f Adds regression test for bug LP#1944619
c3ad968c87 Fix the PCI device capability dict creation
16a463a68f Attempt to thin out nova-ceph-multistore
6ab6969550 Move FIPS jobs to experimental and periodic queue
0638d1eb44 Update contributor guide for Zed
3d20fd3fd1 Add Python3 zed unit tests
d2cba990a6 Update master for stable/yoga
43f13acab5 Changes Emulation CI to weekly-periodic
e3f36ff397 Add oslo.limit options to generated nova.conf
453c11e05d Follow up for nova-manage image property commands
b2d28f8908 Fix eventlet.tpool import
9a31212a44 doc: Split up notifications document
afb0f77484 Debug Nova APIs call failures
8d02119475 List auth plugin parameters for [keystone] section
f831618b25 Catch an exception in power off procedure
fbd62a5c16 Remove the code that never reach
4cf4af7ff4 tests: Add test for bug #1936278
2b3fe4771f manager: Reduce unnecessary calls
8107e5ced8 Update the file for IPv4-only or IPv6-only network


Diffstat (except docs and test files)
-------------------------------------

.gitreview                                         |    1 +
.pre-commit-config.yaml                            |    9 +-
.zuul.yaml                                         |  113 +-
HACKING.rst                                        |    5 +
README.rst                                         |    2 +-
api-guide/source/server_concepts.rst               |   12 +-
api-ref/source/os-keypairs.inc                     |   22 +-
api-ref/source/parameters.yaml                     |   53 +-
api-ref/source/servers-action-shelve.inc           |   94 +-
api-ref/source/servers-actions.inc                 |   14 +-
bindep.txt                                         |    1 -
devstack/nova-multi-cell-exclude-list.txt          |    4 +
.../images/images-details-get-resp.json            |  198 ++-
.../v2.92/keypairs-import-post-req.json            |    8 +
.../v2.92/keypairs-import-post-resp.json           |    9 +
.../{os-unshelve.json => os-unshelve-az.json}      |    0
.../os-shelve/v2.91/os-unshelve-az-host.json       |    6 +
.../v2.91/os-unshelve-host-and-unpin-az.json       |    6 +
.../os-shelve/v2.91/os-unshelve-host.json          |    5 +
.../os-shelve/v2.91/os-unshelve-unpin-az.json      |    5 +
.../common_payloads/ImageMetaPropsPayload.json     |    2 +-
.../admin/configuration/hypervisor-hyper-v.rst     |    4 +-
.../admin/configuration/hypervisor-powervm.rst     |   75 -
etc/nova/api-paste.ini                             |    2 +-
etc/nova/nova-config-generator.conf                |    2 +
etc/nova/rootwrap.conf                             |    6 +
lower-constraints.txt                              |  166 --
mypy-files.txt                                     |    1 +
nova/api/openstack/api_version_request.py          |    8 +-
nova/api/openstack/auth.py                         |    2 +-
nova/api/openstack/compute/keypairs.py             |   10 +-
.../openstack/compute/rest_api_version_history.rst |   27 +
nova/api/openstack/compute/schemas/keypairs.py     |   11 +-
.../compute/schemas/server_external_events.py      |    4 +
nova/api/openstack/compute/schemas/shelve.py       |   54 +-
.../openstack/compute/server_external_events.py    |    3 +-
nova/api/openstack/compute/server_migrations.py    |    2 +-
nova/api/openstack/compute/servers.py              |    3 +
nova/api/openstack/compute/services.py             |    7 +-
nova/api/openstack/compute/shelve.py               |   58 +-
nova/api/openstack/wsgi.py                         |    6 +
nova/api/validation/extra_specs/hw.py              |   57 +-
nova/api/validation/extra_specs/powervm.py         |  271 ----
nova/api/validation/parameter_types.py             |   14 +-
nova/api/validation/validators.py                  |   23 +
nova/block_device.py                               |    6 +-
nova/cmd/manage.py                                 |   16 +-
nova/cmd/status.py                                 |   75 +-
nova/compute/api.py                                |  358 +++--
nova/compute/manager.py                            |  319 +++-
nova/compute/pci_placement_translator.py           |  597 ++++++++
nova/compute/resource_tracker.py                   |   79 +-
nova/compute/rpcapi.py                             |   21 +-
nova/conductor/api.py                              |    5 +-
nova/conductor/manager.py                          |   47 +-
nova/conductor/rpcapi.py                           |   17 +-
nova/conductor/tasks/cross_cell_migrate.py         |    2 +-
nova/conductor/tasks/live_migrate.py               |    5 +-
nova/conductor/tasks/migrate.py                    |    4 +-
nova/conf/__init__.py                              |    2 -
nova/conf/api.py                                   |    4 +
nova/conf/compute.py                               |   31 +-
nova/conf/hyperv.py                                |    2 +-
nova/conf/keystone.py                              |    4 +
nova/conf/libvirt.py                               |    4 +-
nova/conf/neutron.py                               |    2 +-
nova/conf/pci.py                                   |  134 +-
nova/conf/powervm.py                               |   66 -
nova/conf/quota.py                                 |    2 +-
nova/conf/scheduler.py                             |    4 +-
nova/conf/workarounds.py                           |   15 +
nova/console/websocketproxy.py                     |    2 +-
nova/context.py                                    |    2 +-
nova/db/main/api.py                                |  368 +++--
.../main/legacy_migrations/versions/402_train.py   |    4 +-
.../versions/8f2f1571d55b_initial_version.py       |    4 +-
.../ccb0fa1a2252_add_encryption_fields_to_.py      |   59 +
nova/db/main/models.py                             |   12 +-
nova/exception.py                                  |   85 +-
nova/hacking/checks.py                             |   48 +
nova/limit/placement.py                            |    6 +-
nova/locale/cs/LC_MESSAGES/nova.po                 |  383 +----
nova/locale/de/LC_MESSAGES/nova.po                 |  457 +-----
nova/locale/es/LC_MESSAGES/nova.po                 |  414 +----
nova/locale/fr/LC_MESSAGES/nova.po                 |  423 +----
nova/locale/it/LC_MESSAGES/nova.po                 |  415 +----
nova/locale/ja/LC_MESSAGES/nova.po                 |  415 +----
nova/locale/ko_KR/LC_MESSAGES/nova.po              |  406 +----
nova/locale/pt_BR/LC_MESSAGES/nova.po              |  409 +----
nova/locale/ru/LC_MESSAGES/nova.po                 |  405 +----
nova/locale/tr_TR/LC_MESSAGES/nova.po              |  387 +----
nova/locale/zh_CN/LC_MESSAGES/nova.po              |  476 +-----
nova/locale/zh_TW/LC_MESSAGES/nova.po              |  385 +----
nova/network/model.py                              |   16 +-
nova/network/neutron.py                            |  150 +-
nova/notifications/objects/image.py                |    6 +-
nova/objects/aggregate.py                          |   43 +-
nova/objects/block_device.py                       |   52 +-
nova/objects/cell_mapping.py                       |   12 +-
nova/objects/external_event.py                     |    6 +-
nova/objects/fields.py                             |   34 +
nova/objects/flavor.py                             |   14 +-
nova/objects/host_mapping.py                       |   19 +-
nova/objects/image_meta.py                         |   26 +-
nova/objects/instance.py                           |   41 +
nova/objects/instance_group.py                     |   26 +-
nova/objects/instance_info_cache.py                |    4 +-
nova/objects/instance_mapping.py                   |   24 +-
nova/objects/instance_pci_requests.py              |   14 +-
nova/objects/migrate_data.py                       |   41 +-
nova/objects/migration.py                          |   23 +-
nova/objects/pci_device.py                         |   86 +-
nova/objects/request_spec.py                       |    7 +-
nova/objects/service.py                            |   16 +-
nova/pci/devspec.py                                |   33 +-
nova/pci/manager.py                                |   49 +-
nova/pci/request.py                                |    5 +-
nova/pci/stats.py                                  |   31 +-
nova/pci/whitelist.py                              |    8 +-
nova/policies/admin_actions.py                     |    4 +-
nova/policies/admin_password.py                    |    2 +-
nova/policies/aggregates.py                        |   18 +-
nova/policies/assisted_volume_snapshots.py         |    4 +-
nova/policies/attach_interfaces.py                 |    8 +-
nova/policies/availability_zone.py                 |    4 +-
nova/policies/baremetal_nodes.py                   |    4 +-
nova/policies/base.py                              |   44 +-
nova/policies/console_auth_tokens.py               |    2 +-
nova/policies/console_output.py                    |    2 +-
nova/policies/create_backup.py                     |    2 +-
nova/policies/deferred_delete.py                   |    4 +-
nova/policies/evacuate.py                          |    2 +-
nova/policies/extended_server_attributes.py        |    2 +-
nova/policies/extensions.py                        |    2 +-
nova/policies/flavor_access.py                     |    6 +-
nova/policies/flavor_extra_specs.py                |   10 +-
nova/policies/flavor_manage.py                     |    6 +-
nova/policies/floating_ip_pools.py                 |    2 +-
nova/policies/floating_ips.py                      |   12 +-
nova/policies/hosts.py                             |   12 +-
nova/policies/hypervisors.py                       |   14 +-
nova/policies/instance_actions.py                  |    8 +-
nova/policies/instance_usage_audit_log.py          |    4 +-
nova/policies/ips.py                               |    4 +-
nova/policies/keypairs.py                          |    8 +-
nova/policies/limits.py                            |    2 +-
nova/policies/lock_server.py                       |    6 +-
nova/policies/migrate_server.py                    |    4 +-
nova/policies/migrations.py                        |    2 +-
nova/policies/multinic.py                          |    4 +-
nova/policies/networks.py                          |    4 +-
nova/policies/pause_server.py                      |    4 +-
nova/policies/quota_class_sets.py                  |    4 +-
nova/policies/quota_sets.py                        |   16 +-
nova/policies/remote_consoles.py                   |    2 +-
nova/policies/rescue.py                            |    4 +-
nova/policies/security_groups.py                   |   20 +-
nova/policies/server_diagnostics.py                |    2 +-
nova/policies/server_external_events.py            |    2 +-
nova/policies/server_groups.py                     |   10 +-
nova/policies/server_metadata.py                   |   12 +-
nova/policies/server_password.py                   |    4 +-
nova/policies/server_tags.py                       |   12 +-
nova/policies/server_topology.py                   |    4 +-
nova/policies/servers.py                           |   60 +-
nova/policies/servers_migrations.py                |    8 +-
nova/policies/services.py                          |    6 +-
nova/policies/shelve.py                            |   18 +-
nova/policies/simple_tenant_usage.py               |    4 +-
nova/policies/suspend_server.py                    |    4 +-
nova/policies/volumes.py                           |   20 +-
nova/policies/volumes_attachments.py               |   12 +-
nova/quota.py                                      |    7 +-
nova/scheduler/client/report.py                    |   70 +-
nova/scheduler/manager.py                          |    2 +-
nova/scheduler/request_filter.py                   |   41 +-
nova/scheduler/rpcapi.py                           |   12 +-
nova/test.py                                       |   22 +-
.../images/images-details-get-resp.json.tpl        |  118 ++
.../images/images-list-get-resp.json.tpl           |   76 +
.../v2.92/keypairs-import-post-req.json.tpl        |    8 +
.../v2.92/keypairs-import-post-resp.json.tpl       |    9 +
.../os-keypairs/v2.92/keypairs-post-req.json.tpl   |    7 +
.../os-shelve/v2.77/os-unshelve-az.json.tpl        |    5 +
.../os-shelve/v2.77/os-unshelve.json.tpl           |    4 +-
.../os-shelve.json.tpl}                            |    0
.../os-shelve/v2.91/os-unshelve-az-host.json.tpl   |    6 +
.../os-shelve/v2.91/os-unshelve-az.json.tpl        |    5 +
.../v2.91/os-unshelve-host-and-unpin-az.json.tpl   |    6 +
.../os-shelve/v2.91/os-unshelve-host.json.tpl      |    5 +
.../os-shelve/v2.91/os-unshelve-unpin-az.json.tpl  |    5 +
.../os-shelve/v2.91/os-unshelve.json.tpl           |    2 +-
.../functional/compute/test_live_migration.py      |    3 +-
.../functional/compute/test_migration_list.py      |    6 +-
.../functional/compute/test_resource_tracker.py    |   12 +-
.../libvirt/test_device_bus_migration.py           |    8 +-
.../functional/libvirt/test_numa_live_migration.py |   12 +-
.../functional/libvirt/test_pci_in_placement.py    | 1620 ++++++++++++++++++++
.../functional/libvirt/test_pci_sriov_servers.py   | 1088 +++++++++++--
.../functional/libvirt/test_report_cpu_traits.py   |    8 +-
.../notification_sample_base.py                    |    2 +-
.../functional/regressions/test_bug_1554631.py     |    3 +-
.../functional/regressions/test_bug_1595962.py     |    2 +-
.../functional/regressions/test_bug_1732947.py     |    4 +-
.../functional/regressions/test_bug_1781286.py     |   33 +-
.../functional/regressions/test_bug_1830747.py     |    2 +-
.../functional/regressions/test_bug_1831771.py     |    2 +-
.../functional/regressions/test_bug_1843090.py     |    2 +-
.../functional/regressions/test_bug_1843708.py     |    6 +
.../functional/regressions/test_bug_1845291.py     |    2 +-
.../functional/regressions/test_bug_1849165.py     |    2 +-
.../functional/regressions/test_bug_1853009.py     |    2 +-
.../functional/regressions/test_bug_1862633.py     |    2 +-
.../functional/regressions/test_bug_1879878.py     |    3 +-
.../functional/regressions/test_bug_1888395.py     |   40 +-
.../functional/regressions/test_bug_1889108.py     |    2 +-
.../functional/regressions/test_bug_1890244.py     |   96 ++
.../functional/regressions/test_bug_1893284.py     |    2 +-
.../functional/regressions/test_bug_1896463.py     |    8 -
.../functional/regressions/test_bug_1899835.py     |    2 +-
.../functional/regressions/test_bug_1902925.py     |    5 +
.../functional/regressions/test_bug_1914777.py     |    2 +-
.../functional/regressions/test_bug_1928063.py     |    6 +-
.../functional/regressions/test_bug_1937084.py     |    2 +-
.../functional/regressions/test_bug_1937375.py     |    2 +-
.../functional/regressions/test_bug_1944619.py     |   76 +
.../functional/regressions/test_bug_1978983.py     |   71 +
.../functional/regressions/test_bug_1983753.py     |  177 +++
.../functional/test_servers_resource_request.py    |    6 +-
.../openstack/compute/admin_only_action_common.py  |    3 +-
.../api/openstack/compute/test_admin_password.py   |    4 +-
.../unit/api/openstack/compute/test_aggregates.py  |    3 +-
.../openstack/compute/test_attach_interfaces.py    |    3 +-
.../openstack/compute/test_availability_zone.py    |    2 +-
.../api/openstack/compute/test_baremetal_nodes.py  |    5 +-
.../openstack/compute/test_console_auth_tokens.py  |    2 +-
.../api/openstack/compute/test_console_output.py   |    2 +-
.../api/openstack/compute/test_create_backup.py    |    7 +-
.../api/openstack/compute/test_deferred_delete.py  |    3 +-
.../unit/api/openstack/compute/test_disk_config.py |    2 +-
.../unit/api/openstack/compute/test_evacuate.py    |    3 +-
.../api/openstack/compute/test_flavor_access.py    |    2 +-
.../api/openstack/compute/test_flavor_manage.py    |    2 +-
.../unit/api/openstack/compute/test_flavors.py     |    2 +-
.../openstack/compute/test_flavors_extra_specs.py  |    3 +-
.../openstack/compute/test_floating_ip_pools.py    |    2 +-
.../api/openstack/compute/test_floating_ips.py     |    3 +-
.../unit/api/openstack/compute/test_hypervisors.py |  396 +++--
.../api/openstack/compute/test_image_metadata.py   |    2 +-
.../unit/api/openstack/compute/test_images.py      |    2 +-
.../api/openstack/compute/test_instance_actions.py |    2 +-
.../unit/api/openstack/compute/test_keypairs.py    |  128 +-
.../unit/api/openstack/compute/test_limits.py      |  172 +--
.../unit/api/openstack/compute/test_lock_server.py |    4 +-
.../api/openstack/compute/test_microversions.py    |    3 +-
.../api/openstack/compute/test_migrate_server.py   |    6 +-
.../unit/api/openstack/compute/test_migrations.py  |    2 +-
.../unit/api/openstack/compute/test_multinic.py    |    3 +-
.../unit/api/openstack/compute/test_networks.py    |    2 +-
.../api/openstack/compute/test_quota_classes.py    |    4 +-
.../unit/api/openstack/compute/test_quotas.py      |    8 +-
.../api/openstack/compute/test_remote_consoles.py  |    5 +-
.../unit/api/openstack/compute/test_rescue.py      |    2 +-
.../api/openstack/compute/test_security_groups.py  |    3 +-
.../api/openstack/compute/test_server_actions.py   |   41 +-
.../openstack/compute/test_server_diagnostics.py   |    3 +-
.../compute/test_server_external_events.py         |    5 +-
.../openstack/compute/test_server_group_quotas.py  |   10 +-
.../api/openstack/compute/test_server_groups.py    |    3 +-
.../api/openstack/compute/test_server_metadata.py  |    3 +-
.../openstack/compute/test_server_migrations.py    |    2 +-
.../api/openstack/compute/test_server_password.py  |    2 +-
.../openstack/compute/test_server_reset_state.py   |    3 +-
.../openstack/compute/test_server_start_stop.py    |    3 +-
.../unit/api/openstack/compute/test_server_tags.py |    3 +-
.../api/openstack/compute/test_server_topology.py  |    3 +-
.../unit/api/openstack/compute/test_servers.py     |   41 +-
.../unit/api/openstack/compute/test_services.py    |    2 +-
.../unit/api/openstack/compute/test_shelve.py      |  258 +++-
.../openstack/compute/test_simple_tenant_usage.py  |    2 +-
.../unit/api/openstack/compute/test_snapshots.py   |    3 +-
.../api/openstack/compute/test_suspend_server.py   |    3 +-
.../api/openstack/compute/test_tenant_networks.py  |    2 +-
.../unit/api/openstack/compute/test_volumes.py     |   12 +-
.../api/validation/extra_specs/test_validators.py  |   11 +-
.../unit/compute/monitors/cpu/test_virt_driver.py  |    2 +-
.../v1/validation_error_test_data.yaml             |    4 +-
.../unit/compute/test_pci_placement_translator.py  |  222 +++
.../conductor/tasks/test_cross_cell_migrate.py     |    2 +-
.../unit/conductor/tasks/test_live_migrate.py      |   33 +-
.../unit/notifications/objects/test_flavor.py      |    2 +-
.../unit/notifications/objects/test_instance.py    |    3 +-
.../notifications/objects/test_notification.py     |    4 +-
.../unit/notifications/objects/test_service.py     |    2 +-
.../unit/objects/test_instance_device_metadata.py  |    3 +-
.../unit/objects/test_instance_pci_requests.py     |   20 +-
.../policies/test_assisted_volume_snapshots.py     |    3 +-
.../unit/policies/test_console_auth_tokens.py      |    2 +-
.../unit/policies/test_instance_usage_audit_log.py |    5 +-
.../unit/policies/test_server_external_events.py   |    3 +-
.../unit/policies/test_simple_tenant_usage.py      |   21 +-
.../scheduler/filters/test_affinity_filters.py     |    3 +-
...aggregate_image_properties_isolation_filters.py |    2 +-
.../test_aggregate_instance_extra_specs_filters.py |    2 +-
...est_aggregate_multitenancy_isolation_filters.py |    2 +-
.../filters/test_availability_zone_filters.py      |    2 +-
.../filters/test_compute_capabilities_filters.py   |    2 +-
.../unit/scheduler/filters/test_compute_filters.py |    2 +-
.../unit/scheduler/filters/test_io_ops_filters.py  |    2 +-
.../filters/test_num_instances_filters.py          |    2 +-
.../filters/test_pci_passthrough_filters.py        |    2 +-
.../unit/scheduler/filters/test_type_filters.py    |    2 +-
.../scheduler/weights/test_weights_affinity.py     |    2 +-
.../unit/scheduler/weights/test_weights_metrics.py |    2 +-
.../unit/scheduler/weights/test_weights_pci.py     |    2 +-
.../unit/servicegroup/test_db_servicegroup.py      |    3 +-
.../unit/servicegroup/test_mc_servicegroup.py      |    2 +-
.../unit/virt/hyperv/test_block_device_manager.py  |    2 +-
.../unit/virt/hyperv/test_livemigrationops.py      |    3 +-
.../unit/virt/hyperv/test_serialconsolehandler.py  |    2 +-
.../unit/virt/hyperv/test_serialconsoleops.py      |    2 +-
.../unit/virt/libvirt/storage/test_dmcrypt.py      |    3 +-
.../unit/virt/libvirt/test_machine_type_utils.py   |    3 +-
.../unit/virt/libvirt/volume/test_fibrechannel.py  |    2 +-
.../unit/virt/libvirt/volume/test_remotefs.py      |    3 +-
.../unit/virt/libvirt/volume/test_storpool.py      |    2 +-
.../unit/virt/libvirt/volume/test_vzstorage.py     |    2 +-
nova/utils.py                                      |    3 +-
nova/virt/block_device.py                          |   89 +-
nova/virt/driver.py                                |   54 +-
nova/virt/fake.py                                  |   59 +-
nova/virt/hardware.py                              |  146 ++
nova/virt/hyperv/serialproxy.py                    |    4 +-
nova/virt/interfaces.template                      |    6 +-
nova/virt/ironic/driver.py                         |   27 +-
nova/virt/libvirt/blockinfo.py                     |   85 +-
nova/virt/libvirt/config.py                        |  176 ++-
nova/virt/libvirt/driver.py                        |  516 +++++--
nova/virt/libvirt/guest.py                         |   21 +-
nova/virt/libvirt/host.py                          |  141 +-
nova/virt/libvirt/imagebackend.py                  |   96 +-
nova/virt/libvirt/migration.py                     |   13 +
nova/virt/libvirt/utils.py                         |   70 +-
nova/virt/libvirt/vif.py                           |    2 +-
nova/virt/powervm/__init__.py                      |   17 -
nova/virt/powervm/disk/__init__.py                 |    0
nova/virt/powervm/disk/driver.py                   |  268 ----
nova/virt/powervm/disk/localdisk.py                |  211 ---
nova/virt/powervm/disk/ssp.py                      |  258 ----
nova/virt/powervm/driver.py                        |  709 ---------
nova/virt/powervm/host.py                          |   66 -
nova/virt/powervm/image.py                         |   62 -
nova/virt/powervm/media.py                         |  237 ---
nova/virt/powervm/mgmt.py                          |  175 ---
nova/virt/powervm/tasks/__init__.py                |    0
nova/virt/powervm/tasks/base.py                    |   38 -
nova/virt/powervm/tasks/image.py                   |   81 -
nova/virt/powervm/tasks/network.py                 |  259 ----
nova/virt/powervm/tasks/storage.py                 |  429 ------
nova/virt/powervm/tasks/vm.py                      |  154 --
nova/virt/powervm/vif.py                           |  373 -----
nova/virt/powervm/vm.py                            |  543 -------
nova/virt/powervm/volume/__init__.py               |   28 -
nova/virt/powervm/volume/fcvscsi.py                |  468 ------
nova/virt/vmwareapi/driver.py                      |   56 +-
nova/virt/vmwareapi/session.py                     |  157 ++
nova/virt/vmwareapi/vm_util.py                     |   47 +-
nova/virt/vmwareapi/vmops.py                       |    6 +
nova/virt/vmwareapi/volumeops.py                   |   31 +-
nova/virt/zvm/hypervisor.py                        |    2 +-
nova/volume/cinder.py                              |   18 +-
.../notes/add-volume-rebuild-b973562ea8f49347.yaml |   10 +
...eypair-generation-removal-3004a8643dcd1fd9.yaml |   10 +
...ice-tracking-in-placement-75ee1d20a57662f2.yaml |    9 +
.../bp-unshelve_to_host-c9047d518eb67747.yaml      |   10 +
.../notes/bug-1942329-22b08fa4b322881d.yaml        |    9 +
.../bug-1944619-fix-live-migration-rollback.yaml   |   10 +
.../notes/bug-1967157-extend-encrypted.yaml        |    9 +
...nt-scheduling-permissions-92ba907b10a9eb1c.yaml |    7 +
...ed-numa-fitting-algorithm-5d5b922b0bdbf818.yaml |    9 +
.../notes/bug-1978444-db46df5f3d5ea19e.yaml        |    7 +
...-1981813-vnic-type-change-9f3e16fae885b57f.yaml |    9 +
...ec-pci_request-for-resize-a3c6b0a979db723f.yaml |    6 +
...986838-pci-double-booking-1da71ea4399db65a.yaml |    8 +
...t-numa-strategy-to-spread-18668c6d80154042.yaml |   12 +
...ugh_whitelist-config-name-0530d502c960d753.yaml |    6 +
...precate-use_forwarded_for-f7b24eaf130782b9.yaml |   12 +
.../drop-python-3-6-and-3-7-cd3bf1e945f05fd3.yaml  |    5 +
...ation-with-deleted-groups-4f685fd1d6b84192.yaml |   13 +
.../notes/guest-iommu-device-4795c3a060aca424.yaml |   21 +
...task-state-for-evacuation-e000f141d0153638.yaml |   11 +
.../new_locked_memory_option-b68a031779366828.yaml |   13 +
.../project-reader-rbac-8a1d11b3b2e776fd.yaml      |   36 +
...ult-cputune-shares-values-85d5ddf4b8e24eaa.yaml |   15 +
.../notes/remove-powervm-6132cc10255ca205.yaml     |    6 +
.../skip-compare-cpu-on-dest-6ae419ddd61fd0f8.yaml |   24 +
...visor-version-check-on-lm-a87f2dcb4f8bf0f2.yaml |   13 +
...oo-old-compute-check-code-7dbcde45cfd23394.yaml |    6 +
...nlightenments-for-windows-23abea98cc1db667.yaml |   21 +
.../validate-machine-type-0d5f3dbd1e2ace31.yaml    |   10 +
.../notes/vdpa-move-ops-a7b3799807807a92.yaml      |   11 +
...d-detach-and-live-migrate-e591e6a03a0c834d.yaml |   25 +
...-multiple-of-4-validation-9740bf60d59ce5e2.yaml |    7 +
.../notes/zed-prelude-a3cddb8b2ac8e293.yaml        |   46 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |  398 -----
.../source/locale/fr/LC_MESSAGES/releasenotes.po   |  126 --
releasenotes/source/yoga.rst                       |    6 +
requirements.txt                                   |   13 +-
setup.cfg                                          |    7 +-
test-requirements.txt                              |    1 -
tools/test-setup.sh                                |    8 +-
tox.ini                                            |  129 +-
786 files changed, 19528 insertions(+), 20923 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 1a83a0813a..c38ade020d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -0,0 +1,4 @@
+# Requirements lower bounds listed here are our best effort to keep them up to
+# date but we do not test them so no guarantee of having them all correct. If
+# you find any incorrect lower bounds, let us know or propose a fix.
+
@@ -30 +34 @@ oslo.cache>=1.26.0 # Apache-2.0
-oslo.concurrency>=4.5.0 # Apache-2.0
+oslo.concurrency>=5.0.1 # Apache-2.0
@@ -40 +44 @@ oslo.db>=10.0.0 # Apache-2.0
-oslo.rootwrap>=5.8.0 # Apache-2.0
+oslo.rootwrap>=5.15.0 # Apache-2.0
@@ -52 +56 @@ os-resource-classes>=1.1.0 # Apache-2.0
-os-traits>=2.7.0 # Apache-2.0
+os-traits>=2.9.0 # Apache-2.0
@@ -60 +63,0 @@ os-service-types>=1.7.0 # Apache-2.0
-taskflow>=3.8.0 # Apache-2.0
@@ -64 +66,0 @@ openstacksdk>=0.35.0 # Apache-2.0
-dataclasses>=0.7;python_version=='3.6'  # Apache 2.0 License
@@ -65,0 +68 @@ PyYAML>=5.1 # MIT
+packaging>=21.0  # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 3194e9dd66..bbf04f5a1a 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11 +10,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=3.0.0 # BSD






More information about the Release-announce mailing list