We are satisfied to announce the release of: nova 28.0.0: Cloud computing fabric controller This release is part of the bobcat 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 27.0.0..28.0.0 ------------------------------ 10ea7a4fb2 Add a Bobcat prelude section c486cc89dc Make our nova-ovs-hybrid-plug job omit cinder 9a27434ffc Revert "Limit nodes by ironic shard key" 3491b945b9 Revert "Add nova-manage ironic-compute-node-move" 36a5740e2a Revert "Make compute node rebalance safter" ea07f96eb1 adapt to oslo.log changes a3e0910d88 Add service version for Bobcat f502a23600 Update compute rpc alias for bobcat 515d9cbfa4 doc: mark the maximum microversion for 2023.2 Bobcat 82a17a37de Imported Translations from Zanata 68b2131d81 only attempt to clean up dangling bdm if cinder is installed d42fe462be Follow up for unified limits: PCPU and documentation 772f5a1ae4 Make compute node rebalance safter 9068db09e4 Add nova-manage ironic-compute-node-move 9d5935d007 Delete dangling bdms f5a12f511b Limit nodes by ironic shard key cbf400df1d Deprecate ironic.peer_list c33a9ccf4c Reproducer for dangling bdms 8f0817f078 Add documentation for unified limits 395501c876 nova-manage: Add 'limits migrate_to_unified_limits' 32ed205794 Add function to get all attachments in Cinder.API module bc58c1d2fb [functional]Fix remaining greenlet leaks 0ae1802db6 [functional] Avoid leaking greenlet in UnifiedLimits tests d71d2dc219 introduce global greenpool 8d0a0ec88e Avoid lazy-loads in resize 3a68b5e193 Avoid lazy-loads on server create 9ae9d77b03 Remove a lazy load on every server show 5ebf1fa206 Avoid lazy-loading in resize and rebuild/evacuate b9fe87ddee Log excessive lazy-loading behavior 7b7b60684e [functional] Don't leak running live migration 53972dfa5a Fix bindep for Debian bookworm e96ac439d3 Use OSC in run-evacuate-hook instead of novaclient e8d7380759 Update contributor guide for 2023.2 Bobcat 56adc9bd85 Fix tox docs target f2a10afb64 Remove n-v ceph live migration job from gate 27f384b7ac Add upgrade check for compute-object-ids linkage 3e1cfcefc2 Remove unused mocks b6cf8e6128 Bump MIN_{LIBVIRT,QEMU} for "Bobcat" 2fd034ec48 libvirt: Add 'COMPUTE_ADDRESS_SPACE_*' traits support ca3fbb4d15 Add a new NumInstancesWeigher 5edd805fe2 Remove deprecated AZ filter. 9ae6240c92 Decorate only Flavor.get_* methods that execute queries bb06d8817f Fix up inconsistent max_count argument in o-d-ms 3f7cc63d94 Add config option to configure TB cache size f7ce4df51c Refactor CinderFixture 6f56c5c9fd enable validations in nova-lvm 2d320f9b00 Add a new policy for cold-migrate with host c13a8080ea Pick next min libvirt / QEMU versions for "C" (2024) release 86c542c56a Drop Fedora support 697fa3c000 database: Archive parent and child rows "trees" one at a time f6620d48c8 testing: Fix and robustify archive_deleted_rows test a1568e483d db: Store unmasked password 3fab43786b cpu: fix the privsep issue when offlining the cpu 56d320a203 Fix failed count for anti-affinity check 25be0306d7 Add online migration for Instance.compute_id 84e7bed27e Online migrate missing Instance.compute_id fields 625fb569a7 Add compute_id to Instance object 70516d4ff9 Add dest_compute_id to Migration object a47fdef1bf Add compute_id columns to instances, migrations afad847e4d Populate ComputeNode.service_id aeddcd61fd Add integrated job to test the Nova RBAC old defaults 6f79d6321e Enforce quota usage from placement when unshelving 427b2cb4d6 Reproducer for bug 2003991 unshelving offloaded instance e2264d7657 Fixes a typo in availability-zone doc e0fbb6fc06 Add debug logging when Instance raises OrphanedObjectError 32f191c359 [alembic] Alembic operations require keywords only arguments c095cfe04e tests: Use GreenThreadPoolExecutor.shutdown(wait=True) fe125da63b CI: fix backport validator for new branch naming 6ff3237149 Bump nova-ceph-multstore timeout 41c64b94b0 Enable use of service user token with admin context db455548a1 Use force=True for os-brick disconnect during delete 973ff4fc1a Have host look for CPU controller of cgroupsv2 location. 6d7bd6a034 Fix get_segments_id with subnets without segment_id 6833695e70 Revert "Debug Nova APIs call failures" b50bcdf2b2 Add nova-tox-functional-py310 to gate jobs 04ebae9dc0 Save cell socket correctly when updating host NUMA topology 63d6ecd99b Reproduce bug 1995153 82deb0ce4b Stop ignoring missing compute nodes in claims fbf2515b4c Remove silent failure to find a node on rebuild 2f86a8a088 Remove focal job for 2023.2 e38d6a356b add hypervisor version weigher de683a2ed0 db: Avoid relying on autobegin 9b47bcca9d tests: Add missing args to sqlalchemy.Table fd742c176b tests: Pass parameters to sqlalchemy.text() as bindparams b2520d6728 db: Remove unnecessary 'insert()' argument 1f30b5a4e2 db: Don't rely on branched connections 5c4452739b doc: Update version info 89b3b7795c Allow running functional-py311 45b9e966dd Update to the PTL guide dacae335e4 Process unlimited exceptions raised by unplug_vifs bc3cf01ff0 Verify a move operation for cross_az_attach=False 390d647d22 Fix a typo in this URL: https://docs.openstack.org/nova/latest/admin/availability-zones.html 29de62bf3b mypy: Fix implicit optional usage 402b155043 Add grenade-skip-level-always to nova d37cca361a Make scheduler lazy-load the placement client 23c345d61d Update serial console example client for py3 4df62f7015 Imported Translations from Zanata 55a3f17e0e Update min support for Bobcat e0fc974b97 Update master for stable/2023.1 59c85b6a28 Make nova-next reduce mysql memory d533727904 testing: Reset affinity support global variables 37fa501cac fup for power management series 2454843b8f db: Remove the legacy 'migration_version' table fd39e4b4be db: Remove legacy migrations cffe3971ce Handle zero pinned CPU in a cell with mixed policy 182c5be122 Reproduce asym NUMA mixed CPU policy bug 4eef0fe635 Unbind port when offloading a shelved instance 713ef78396 vmwareapi: Mark driver as experimental 9baade7ea1 hyperv: Mark driver as experimental f996674c36 Fix exception catch when volume mount fails Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 77 +- api-ref/source/servers-admin-action.inc | 5 +- bindep.txt | 9 +- .../admin/configuration/cross-cell-resize.rst | 2 +- .../admin/configuration/hypervisor-ironic.rst | 21 +- .../admin/configuration/service-user-token.rst | 59 + .../admin/migrate-instance-with-snapshot.rst | 2 +- nova/api/openstack/compute/evacuate.py | 8 +- nova/api/openstack/compute/migrate_server.py | 9 +- nova/api/openstack/compute/migrations.py | 1 + .../openstack/compute/rest_api_version_history.rst | 4 +- nova/api/openstack/compute/servers.py | 14 +- nova/api/openstack/compute/shelve.py | 4 +- nova/api/openstack/wsgi.py | 6 - nova/cmd/manage.py | 236 ++- nova/cmd/status.py | 36 + nova/compute/api.py | 46 + nova/compute/build_results.py | 8 + nova/compute/manager.py | 146 +- nova/compute/resource_tracker.py | 139 +- nova/compute/rpcapi.py | 1 + nova/conductor/manager.py | 84 +- nova/conf/base.py | 8 + nova/conf/ironic.py | 14 +- nova/conf/keystone.py | 2 +- nova/conf/libvirt.py | 16 + nova/conf/quota.py | 21 +- nova/conf/scheduler.py | 126 +- nova/db/api/legacy_migrations/README | 4 - nova/db/api/legacy_migrations/__init__.py | 0 nova/db/api/legacy_migrations/manage.py | 20 - nova/db/api/legacy_migrations/migrate.cfg | 20 - .../db/api/legacy_migrations/versions/067_train.py | 602 -------- .../legacy_migrations/versions/068_placeholder.py | 22 - .../legacy_migrations/versions/069_placeholder.py | 22 - .../legacy_migrations/versions/070_placeholder.py | 22 - .../legacy_migrations/versions/071_placeholder.py | 22 - .../legacy_migrations/versions/072_placeholder.py | 22 - .../legacy_migrations/versions/073_placeholder.py | 22 - .../legacy_migrations/versions/074_placeholder.py | 22 - .../legacy_migrations/versions/075_placeholder.py | 22 - .../legacy_migrations/versions/076_placeholder.py | 22 - .../legacy_migrations/versions/077_placeholder.py | 22 - .../legacy_migrations/versions/078_placeholder.py | 22 - .../legacy_migrations/versions/079_placeholder.py | 22 - .../legacy_migrations/versions/080_placeholder.py | 22 - .../legacy_migrations/versions/081_placeholder.py | 22 - .../legacy_migrations/versions/082_placeholder.py | 22 - .../legacy_migrations/versions/083_placeholder.py | 22 - .../legacy_migrations/versions/084_placeholder.py | 22 - .../legacy_migrations/versions/085_placeholder.py | 22 - .../legacy_migrations/versions/086_placeholder.py | 22 - .../legacy_migrations/versions/087_placeholder.py | 22 - nova/db/api/legacy_migrations/versions/__init__.py | 0 nova/db/api/migrations/env.py | 18 +- ...eec0c85668_drop_legacy_migrate_version_table.py | 36 + nova/db/main/api.py | 168 +- nova/db/main/legacy_migrations/README | 4 - nova/db/main/legacy_migrations/__init__.py | 0 nova/db/main/legacy_migrations/manage.py | 20 - nova/db/main/legacy_migrations/migrate.cfg | 20 - .../main/legacy_migrations/versions/402_train.py | 1619 -------------------- .../legacy_migrations/versions/403_placeholder.py | 22 - .../legacy_migrations/versions/404_placeholder.py | 22 - .../legacy_migrations/versions/405_placeholder.py | 22 - .../legacy_migrations/versions/406_placeholder.py | 22 - .../legacy_migrations/versions/407_placeholder.py | 22 - .../legacy_migrations/versions/408_placeholder.py | 22 - .../legacy_migrations/versions/409_placeholder.py | 22 - .../legacy_migrations/versions/410_placeholder.py | 22 - .../legacy_migrations/versions/411_placeholder.py | 22 - .../legacy_migrations/versions/412_placeholder.py | 22 - .../legacy_migrations/versions/413_placeholder.py | 22 - .../legacy_migrations/versions/414_placeholder.py | 22 - .../legacy_migrations/versions/415_placeholder.py | 22 - .../legacy_migrations/versions/416_placeholder.py | 22 - .../legacy_migrations/versions/417_placeholder.py | 22 - .../legacy_migrations/versions/418_placeholder.py | 22 - .../legacy_migrations/versions/419_placeholder.py | 22 - .../legacy_migrations/versions/420_placeholder.py | 22 - .../legacy_migrations/versions/421_placeholder.py | 22 - .../legacy_migrations/versions/422_placeholder.py | 22 - .../db/main/legacy_migrations/versions/__init__.py | 0 nova/db/main/migrations/env.py | 18 +- .../16f1fbcab42b_resolve_shadow_table_diffs.py | 6 +- .../1acf2c98e646_add_compute_id_to_instance.py | 49 + ...91788ec3a6_drop_legacy_migrate_version_table.py | 36 + nova/db/main/models.py | 10 + nova/db/migration.py | 77 +- nova/exception.py | 9 + nova/limit/placement.py | 8 +- nova/locale/cs/LC_MESSAGES/nova.po | 8 +- nova/locale/de/LC_MESSAGES/nova.po | 8 +- nova/locale/es/LC_MESSAGES/nova.po | 8 +- nova/locale/fr/LC_MESSAGES/nova.po | 8 +- nova/locale/it/LC_MESSAGES/nova.po | 8 +- nova/locale/ja/LC_MESSAGES/nova.po | 8 +- nova/locale/ko_KR/LC_MESSAGES/nova.po | 126 +- nova/locale/pt_BR/LC_MESSAGES/nova.po | 8 +- nova/locale/ru/LC_MESSAGES/nova.po | 8 +- nova/locale/tr_TR/LC_MESSAGES/nova.po | 8 +- nova/locale/zh_CN/LC_MESSAGES/nova.po | 8 +- nova/locale/zh_TW/LC_MESSAGES/nova.po | 8 +- nova/manager.py | 4 +- nova/network/neutron.py | 31 +- nova/objects/aggregate.py | 2 +- nova/objects/base.py | 38 + nova/objects/block_device.py | 5 +- nova/objects/build_request.py | 1 + nova/objects/flavor.py | 7 +- nova/objects/host_mapping.py | 1 + nova/objects/instance.py | 84 +- nova/objects/instance_group.py | 1 + nova/objects/instance_mapping.py | 1 + nova/objects/migration.py | 44 +- nova/objects/pci_device.py | 5 +- nova/objects/quotas.py | 14 +- nova/objects/request_spec.py | 1 + nova/objects/selection.py | 1 - nova/objects/service.py | 4 +- nova/pci/request.py | 4 +- nova/pci/stats.py | 2 +- nova/pci/whitelist.py | 2 +- nova/policies/migrate_server.py | 13 +- nova/scheduler/client/report.py | 2 +- nova/scheduler/filters/availability_zone_filter.py | 78 - nova/scheduler/manager.py | 35 +- nova/scheduler/request_filter.py | 2 - nova/scheduler/utils.py | 11 + nova/scheduler/weights/hypervisor_version.py | 39 + nova/scheduler/weights/num_instances.py | 41 + nova/service.py | 5 +- nova/service_auth.py | 6 +- nova/test.py | 15 + .../functional/compute/test_attached_volumes.py | 152 ++ .../functional/libvirt/test_pci_sriov_servers.py | 52 +- .../functional/regressions/test_bug_1595962.py | 1 + .../functional/regressions/test_bug_1835822.py | 1 + .../functional/regressions/test_bug_1899835.py | 2 +- .../functional/regressions/test_bug_1937084.py | 2 +- .../functional/regressions/test_bug_1995153.py | 107 ++ .../test_legacy_v2_compatible_wrapper.py | 1 + .../unit/api/openstack/compute/test_migrations.py | 4 + .../api/openstack/compute/test_server_actions.py | 8 +- .../api/openstack/compute/test_server_groups.py | 1 + .../openstack/compute/test_server_migrations.py | 2 + .../unit/api/openstack/compute/test_servers.py | 9 +- .../filters/test_availability_zone_filters.py | 50 - .../weights/test_weights_hypervisor_version.py | 97 ++ .../weights/test_weights_num_instances.py | 71 + .../unit/virt/libvirt/test_machine_type_utils.py | 1 + .../unit/virt/libvirt/volume/test_fibrechannel.py | 20 + .../unit/virt/libvirt/volume/test_storpool.py | 16 +- .../unit/virt/libvirt/volume/test_vzstorage.py | 8 +- nova/utils.py | 19 +- nova/virt/driver.py | 6 + nova/virt/fake.py | 2 + nova/virt/hardware.py | 11 +- nova/virt/hyperv/driver.py | 10 + nova/virt/hyperv/vmops.py | 2 +- nova/virt/hyperv/volumeops.py | 12 +- nova/virt/ironic/driver.py | 33 +- nova/virt/libvirt/config.py | 15 + nova/virt/libvirt/cpu/__init__.py | 22 - nova/virt/libvirt/cpu/core.py | 1 + nova/virt/libvirt/driver.py | 97 +- nova/virt/libvirt/event.py | 7 +- nova/virt/libvirt/host.py | 37 +- nova/virt/libvirt/utils.py | 6 +- nova/virt/libvirt/volume/fibrechannel.py | 7 +- nova/virt/libvirt/volume/fs.py | 2 +- nova/virt/libvirt/volume/iscsi.py | 7 +- nova/virt/libvirt/volume/lightos.py | 7 +- nova/virt/libvirt/volume/mount.py | 2 +- nova/virt/libvirt/volume/nvme.py | 6 +- nova/virt/libvirt/volume/quobyte.py | 2 +- nova/virt/libvirt/volume/scaleio.py | 7 +- nova/virt/libvirt/volume/smbfs.py | 2 +- nova/virt/libvirt/volume/storpool.py | 5 +- nova/virt/libvirt/volume/volume.py | 2 +- nova/virt/libvirt/volume/vzstorage.py | 5 +- nova/virt/vmwareapi/driver.py | 10 + nova/virt/zvm/driver.py | 2 + nova/volume/cinder.py | 41 +- .../notes/az-filter-removal-587f7337040b6216.yaml | 11 + ...libvirt-QEMU-version-bump-720b2528d521dfb1.yaml | 11 + .../notes/bobcat-prelude-1bd68dd5133fe4dd.yaml | 55 + ...ld-migrate-to-host-policy-a28b648dc16d2e3b.yaml | 6 + .../bp-num_instances_weigher-bba342c82aac5509.yaml | 13 + .../notes/bug-2022955-eac8b0c8e42e3696.yaml | 7 + .../notes/compute-object-ids-e6dee31eb7f1ce34.yaml | 8 + ...e-performance-degradation-3fdabc43398149b1.yaml | 21 + .../delete-dangling-volumes-2615100187fe29fb.yaml | 24 + ...eprecate-ironic-peer-list-ff8a502935faa045.yaml | 16 + ...ecate-legacy-quota-driver-56906ca0e2842839.yaml | 5 + ...erv-experimental-antelope-372e18a05cafc295.yaml | 6 + ...ypervisor-version-weigher-d0bba77e720edafe.yaml | 20 + .../libvirt-tb-cache-size-c0d0d672c0950393.yaml | 12 + ...ova-manage-limits-migrate-d1de95d20991674c.yaml | 7 + ...removed-shelved-offloaded-f1772a64be007b24.yaml | 6 + .../quota-unshelve-offloaded-e4ea2d6a1449f549.yaml | 8 + ...remove-sqlalchemy-migrate-907c200314884d81.yaml | 5 + .../notes/service-user-token-421d067c16257782.yaml | 11 + ...are-experimental-antelope-16a1342dd5e6ba09.yaml | 6 + releasenotes/source/2023.1.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 694 --------- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 126 -- requirements.txt | 3 +- .../files/setup_evacuate_resources.sh | 7 +- roles/run-evacuate-hook/files/test_evacuate.sh | 21 +- .../files/test_negative_evacuate.sh | 7 +- tools/check-cherry-picks.sh | 2 +- tox.ini | 26 +- 309 files changed, 6482 insertions(+), 5764 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 9954d06bc9..9be319ab76 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19 +18,0 @@ PrettyTable>=0.7.1 # BSD -sqlalchemy-migrate>=0.13.0 # Apache-2.0 @@ -56 +55 @@ os-resource-classes>=1.1.0 # Apache-2.0 -os-traits>=2.9.0 # Apache-2.0 +os-traits>=2.10.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org