Release-announce
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- 1 participants
- 17215 discussions
We exuberantly announce the release of:
nova 32.0.0
This release is part of the flamingo 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 31.0.0..32.0.0
------------------------------
187ffa120f Update Debian qemu/libvirt/libguestfs versions
45ddbc2569 Add Flamingo prelude section
51aceec3ab docs: Update libvirt version support matrix for Flamingo
2bf2814add Fix fast8 tox target
567dbe1867 hypervisors: Optimize uptime retrieval for better performance
4495f1f019 [pci]Keep used dev in Placement regardless of dev_spec
f37cdf0c41 [PCI tracker]Remove non configured devs when freed
d86aa2d15a Reproduce bug/2115905
1593dddfaf Fix bug 2114951
aa59133626 Reproducer for bug 2114951
60ba6afc49 Add service version for Falmingo
2c87ab7573 Update compute rpc alias for epoxy
73724fef9a doc: mark the maximum microversion for 2025.2 Flamingo
68fbace8af Fix duplicate words
19f206f58c Fix 'nova-manage image_property set' command
583d88308f Replace remaining usage of Ubuntu Jammy
79846eb0d0 libvirt: Disable VMCoreInfo device for SEV-encrypted instances
87385d2411 Follow-up of AMD SEV-ES support
a8386bdab3 Purge nested SEV RPs when SEV is disabled
af287b71c4 Add functional test scenario for mixed SEV RPs
4f5a3f3c00 libvirt: Launch instances with SEV-ES memory encryption
dc6641baad Add hw_mem_encryption_model image property
6c0a689d80 Detect AMD SEV-ES support
f914cb185c Add service role in Nova policy
ea50365cce Do not yield in threading mode
350cdd1b5e [CI]Make nova-tox-py312-threading voting
1318cd48a1 [test]RPC using threading or eventlet selectively
83eed99a9f Run unit test with threading mode
b278240370 Allow to start unit test without eventlet
2a9cbdabce Ask for pre-prod testing for native threading
b7c7d45093 Migrate MEM_ENCRYPTION_CONTEXT from root provider
d6032973ca Update min support for Flamingo
1d32b50b4a api: Only apply "soft" additionalProperties validation to requests
2a546a8645 tests: Use valid UUIDs for cinder resources
a8651eaff3 api: Separate volume, snapshot and volume attachments
2e666e768a api: Address issues with images APIs
4119634bf1 api: Fix validators for hw:cpu_max_* extra specs
93c0f9bc74 restrict swap volume to cinder
d6a3f86329 Run nova-api and -metadata in threaded mode
e2adef487e [tests] Add printing of sample and template paths
c7eac94fc5 only show standard image properties in server show.
3e33b58092 Run nova-next with n-sch in threading mode
5cbe39aca9 Allow services to start with threading
bda78b5cf2 Remove logic for unsupported old libvirt/qemu
df630cd1b2 api: Deprecate v2 API
d238306aa6 api: Remove '[api] auth_strategy', NoAuthMiddlware
4baa108c04 api: Remove deprecated pipeline_factory
b2451a74fc conf: Rename '[api] neutron_default_tenant_id'
c921e5b3bc tests: Use v2.1 API in OSAPIFixture
0996acc941 tests: Remove unnecessary API version overrides
3a2169cb59 tests: Update to use '/v2.1' prefix, avoid project ID
660bacebc4 Fix libvirt metadata upgrade release note
6a19bf9778 Drop unused method
c8e36b57d9 db: Fix api_db_opts reading main_db_opts
7ce26377af Add image meta to libvirt XML metadata
619cd0a9c7 Add more flavor metadata to libvirt guest XML
4c64f84058 Fix image ID in libvirt metadata when unshelving
ebfda4bb37 Enable E711 consistently
668d9d37f8 libvirt: Get info with abs path, rebase with rel path
acc469b3de mypy: fix type annotations for PciDevicePoolList and NUMATopologyLimits
8701a93743 Document native threading mode and tuneables
f8d0b2ee98 Fix doc comment on manager role change
593ac130b6 Don't reset port dns_name when shelving instances
6c03f9d1da Update contributor guide for 2025.2 Flamingo
d8e1248b7e api: Add response body schemas for images APIs
48ddc7c4d1 Replace eventlet.event.Event with threading.Event
3eea2d58a9 Implement USB controller extra spec for libvirt.
56e038900c [test]Speed up qemu announce test by mocking sleep
218ce9448b [test]Speed up RBD test by decreasing retry interval
f175f68e90 [test]Speed up ironic console test by decreasing timeout
8bf3bcccc4 [test]Speed up fs retry tests by mocking sleep
ae3ae0700d Print ThreadPool statistics
06699f26a5 Add project manager role in Nova API policy rule
920344c276 Drop unused parameter type validation method
bd2b62a2e4 Migrate ExceptionHelper to test utilities
02fcae2d45 Remove unused utilities
c5feba11ff Make the default executor configurable
cc0c57b73a Rename DEFAULT_GREEN_POOL to DEFAULT_EXECUTOR
f9eb35a384 Make nova.utils.pass_context private
bf04b66b4a Move ConductorManager to use spawn_on
3b99b8a6e9 FUP: Translate scatter-gather to futurist
547a002cc5 Imported Translations from Zanata
4adde2c0ae sqlalchemy: Use built-in declarative
ce8faa8d74 api: Add response body schemas for networks API
8f9cbe0015 api: Add response body schemas for removed APIs
e249f5762d api: Address issues with server group APIs
04589a4530 api: Add response body schemas for server group APIs
558a870e13 api: Add response body schemas for server password APIs
8ed52a058a api: Add response body schemas for server external events API
697c05dd55 libvirt: Add objects and notifications for USB controller model.
dab248718d Implement sound model extra spec for libvirt.
183896a79b libvirt: Add objects and notifications for sound model.
0208be629c Fix pci_tracker.save to delete all removed devs
d3cb76c858 Reproduce that only half of the PCI devs are removed
5c180e1761 Move ComputeManager to use spawn_on
b215c6fee9 Add spawn_on
81a03ab824 Replace utils.spawn_n with spawn
d90e7726c0 Use futurist for _get_default_green_pool()
95e60fd58a api: Correct expected errors
c4f81a54d5 api: Address issues with remote consoles APIs
1cd1c472bd Note on RPC error decorators around build_and_run_instance
7d946c4535 Fix neutron client dict grabbing
38f978d39a Add Project Manager role context in unit tests
4e6070085f Revert^2 "Support glance's new location API"
1efbbc8d5f Remove Unicode characters
2275b8545e Translate scatter-gather to futurist
0065bb6cd4 Cache [pci]alias parsing
ae064caf16 Validate [pci]alias at service startup
acc6221660 Validated that PCI alias has proper ids
c3f392dd8e Multiple spec per PCI alias limitation
0bfac5c7fe Return HTTP400 for multi spec pci alias if PCI in Placement
a0af4648b5 api: Address issues with hypervisors APIs
cd401c5c1b libvirt: Enable autodeflate and freePageReporting for memballoon
3b08d60dc4 api: Address issues with server diagnostics APIs
33cf8fef38 api: Address issues with keypairs APIs
72a66cbb9e db: Resolve alembic deprecation warning
f09904f62d api: Address issues with instance actions API
c4c5134369 Fix small documentation issue
b3aefbcb58 Remove unused config options
6ba5168da8 doc: Fix Caracal release number
93af6dce29 Remove contrib/clean-on-delete.py
a1c47fc242 [doc]Clarify where to set pci_in_placement
6621832635 doc: Adding link for RabbitMQ installation during nova deployment on controller node.
cfb99acd6a Fix live migration error logging
ebf5aca101 Add functional reproducer for bug 2102038
221a3e89e8 Revert "Support glance's new location API"
82856f95c6 libvirt: Use common naming convention for ephemeral disk labels
e3c494cbd9 [doc] Adding vGPUs max_instances caveat fix for virtual-gpu
bfbea63f3f Mention IRC topic update in PTL post-PTG checklist
28331fee3c Example NVMe cleaning script for one-time-use
e383b46545 [tool] Fix backport validator for non-SLURP
dec761b680 Disable NOVA_COMPILE_MDEV_SAMPLES to unblock CI
0552350a3b api: Add response body schemas for server diagnostics API
485ee768d6 api: Add response body schemas for remote consoles
22c372cbe0 api: Add response body schemas for server topology API
5f70e0ef57 api: Add response body schemas for image metadata APIs
64f70797d6 api: Add response body schemas for keypairs APIs
2b3eb6b015 api: Add response body schemas for server IPs APIs
c918fcc587 api: Add response body schemas for hypervisors APIs (3/3)
f5d9e5cb2f api: Add response body schemas for hypervisors APIs (2/3)
531ede50a3 api: Add response body schemas for hypervisors APIs (1/3)
2ca03367ad api: Add response body schemas for instance actions
f7a03e5834 api: Add response body schemas for hosts APIs
4520a058c8 doc: Add missing API samples
02a6c48b38 tests: Ensure all APIs have a response body schema
baf310ac28 api: Simplify parameter types
678bc4ae6e api: Only run format checks on strings
08dd30d3fc api: Add new, simpler api_version decorator
a722640b2f api: Only check minimum API version
d73a0861f8 api: Stop using wsgi.Controller.api_version to switch between API versions
89977c3661 api: Adjust validation helpers for a single-method future
9fd207ff90 reorder and extend pre-commit hooks
ebd75760e1 Allow autopep8 to fix more things
87c0c201a3 update pre-commit version pins
023be4f561 wsgi: Don't create, use lock in same line
2d4887491c Replace eventlet semaphores with threading one
7f4c47c642 [quota]Refactor group counting to scatter-gather
a5bcaf69b1 Remove python 3.9 support
5a55a78d51 live migration: Avoid volume rollback mismatches
ac765008c9 Remove superfluous monkey patching form func test
659710a626 split monkey_patching form import
02d72b9d56 Remove nova debugger functionality
a0dc4e8516 [hacking] N373 do not use eventlet primitives
3946a94538 Replace eventlet sleep with time.sleep
eab0de2900 Support glance's new location API
c12eebd4c6 Remove WSGIServer related config options
05bab98aba [doc]Describe file based GMR triggering
e25418c857 [doc]Remove eventlet based API endpoints
51eb60063f Remove WSGIService and WSGIServer classes
05b219746f Remove eventlet based WSGI server entry points
691d47e936 Remove workaround for ovn live migration
8cafefb2bd Amend functional reproducer for bug 1899835
509820f156 Use dict object for request_specs_dict in the _list_view
ee67362728 Functional tests for one-time-use devices
3dc42b8422 Add one-time-use devices docs and reno
28a266461a Support "one-time-use" PCI devices
c5efabbd07 Invalidate PCI-in-placement cached RPs during claim
ba00d60b95 Extend invalidate_rp to only invalidate cache
9947dac7ae FUP improve and add integration tests for PCI SR-IOV servers
2180c205b4 Fix disable memballoon device
98226b60f3 FUP: Improve libvirt fixture for hostdevs
c6a96a17db FUP Update pci-passthrough and virtual-gpu documentation
28f82ba912 FUP Add a warning to make non-explicit live migration request debugging easier
5ac94abfdb FUP improve comment accuracy and variable naming for tag removal
4e4262cd3d FUP Remove unnecessary PCI check
8dcbbe43e7 wrap wsgi_app.init_application with latch_error_on_raise
229fb3513a Ignore metadata tags in pci/stats _find_pool logic
9b7809b289 Fix missing backtick in configuration option help
65409f9483 Remove tags from README
5ef6eae174 Imported Translations from Zanata
932d2334c2 Update master for stable/2025.1
37888e875f ironic: fix logging of validation errors
32afd0c644 Reproduce bug/2098496
b193325eec Fix description of [pci] alias
5c50b8d5a9 doc: Remove non-existent [service_user] auth_strategy
50ca86d329 doc: Drop deprecated [api] auth_strategy
eb3a803cd7 unified limits: discover service ID and region ID
8c2df0035d Fix case sensitive comparison
ca85ee4ad6 Fix case-sensitivity for metadata keys
2102c7735b Drop CentOS 8 Stream
Diffstat (except docs and test files)
-------------------------------------
.pre-commit-config.yaml | 45 +-
.zuul.yaml | 58 +-
HACKING.rst | 2 +
README.rst | 6 -
api-guide/source/microversions.rst | 4 +-
api-guide/source/port_with_resource_request.rst | 2 +-
api-guide/source/versions.rst | 2 +-
api-ref/source/index.rst | 13 +
api-ref/source/os-volume-attachments-swap.inc | 60 +
api-ref/source/os-volume-attachments.inc | 55 +-
api-ref/source/os-volumes.inc | 10 +-
api-ref/source/parameters.yaml | 51 +-
api-ref/source/servers-actions.inc | 30 +-
.../images/images-details-get-resp.json | 24 +-
.../v2.31/create-serial-console-req.json | 6 +
.../os-keypairs/v2.92/keypairs-post-req.json | 7 +
.../v2.6/create-rdp-console-req.json | 6 +
.../v2.97/server-shares-create-tag-req.json | 6 +
.../v2.97/server-shares-delete-req.json | 5 +
.../os-shelve/v2.91/os-unshelve-az.json | 5 +
.../snapshot-create-req.json | 0
.../snapshot-create-resp.json | 4 +-
.../snapshots-detail-resp.json | 18 +-
.../snapshots-list-resp.json | 18 +-
.../snapshots-show-resp.json | 6 +-
.../attach-volume-to-server-req.json | 0
.../attach-volume-to-server-resp.json | 0
.../list-volume-attachments-resp.json | 0
.../update-volume-req.json | 0
.../v2.49/attach-volume-to-server-req.json | 0
.../v2.49/attach-volume-to-server-resp.json | 0
.../v2.49/list-volume-attachments-resp.json | 0
.../v2.49/update-volume-req.json | 0
.../v2.49/volume-attachment-detail-resp.json | 0
.../v2.70/attach-volume-to-server-req.json | 0
.../v2.70/attach-volume-to-server-resp.json | 0
.../v2.70/list-volume-attachments-resp.json | 0
.../v2.70/update-volume-req.json | 0
.../v2.70/volume-attachment-detail-resp.json | 0
.../v2.79/attach-volume-to-server-req.json | 0
.../v2.79/attach-volume-to-server-resp.json | 0
.../v2.79/list-volume-attachments-resp.json | 0
.../v2.79/update-volume-req.json | 0
.../v2.79/volume-attachment-detail-resp.json | 0
.../v2.85/attach-volume-to-server-req.json | 0
.../v2.85/attach-volume-to-server-resp.json | 0
.../v2.85/list-volume-attachments-resp.json | 0
.../update-volume-attachment-delete-flag-req.json | 0
.../v2.85/update-volume-req.json | 0
.../v2.85/volume-attachment-detail-resp.json | 0
.../v2.89/attach-volume-to-server-req.json | 0
.../v2.89/attach-volume-to-server-resp.json | 0
.../v2.89/list-volume-attachments-resp.json | 0
.../update-volume-attachment-delete-flag-req.json | 0
.../v2.89/volume-attachment-detail-resp.json | 0
.../volume-attachment-detail-resp.json | 0
.../os-volumes/os-volumes-detail-resp.json | 4 +-
.../os-volumes/os-volumes-get-resp.json | 6 +-
.../os-volumes/os-volumes-index-resp.json | 6 +-
.../os-volumes/os-volumes-post-req.json | 2 +-
.../os-volumes/os-volumes-post-resp.json | 6 +-
.../servers/v2.100/server-action-rebuild-resp.json | 9 +-
.../servers/v2.100/server-action-rebuild.json | 15 +
.../servers/v2.100/server-create-req.json | 25 +
.../servers/v2.100/server-get-resp.json | 9 +-
.../servers/v2.100/server-update-resp.json | 9 +-
.../servers/v2.100/servers-details-resp.json | 9 +-
.../servers/v2.98/server-action-rebuild-resp.json | 9 +-
.../servers/v2.98/server-update-resp.json | 9 +-
.../servers/v2.98/servers-details-resp.json | 9 +-
.../common_payloads/ImageMetaPropsPayload.json | 2 +-
.../admin/configuration/service-user-token.rst | 1 -
.../reference/libvirt-distro-support-matrix.rst | 32 +-
etc/nova/api-paste.ini | 11 -
nova/accelerator/cyborg.py | 22 +-
nova/api/auth.py | 22 +-
nova/api/openstack/__init__.py | 4 +-
nova/api/openstack/api_version_request.py | 22 +-
nova/api/openstack/auth.py | 85 -
nova/api/openstack/compute/admin_actions.py | 2 +
nova/api/openstack/compute/admin_password.py | 1 +
nova/api/openstack/compute/agents.py | 5 +
nova/api/openstack/compute/aggregates.py | 8 +-
.../openstack/compute/assisted_volume_snapshots.py | 11 +-
nova/api/openstack/compute/attach_interfaces.py | 1 +
nova/api/openstack/compute/availability_zone.py | 1 +
nova/api/openstack/compute/baremetal_nodes.py | 13 +-
nova/api/openstack/compute/cells.py | 10 +
nova/api/openstack/compute/certificates.py | 3 +
nova/api/openstack/compute/cloudpipe.py | 4 +
nova/api/openstack/compute/console_auth_tokens.py | 63 +-
nova/api/openstack/compute/console_output.py | 1 +
nova/api/openstack/compute/consoles.py | 5 +
nova/api/openstack/compute/create_backup.py | 5 +-
nova/api/openstack/compute/deferred_delete.py | 1 +
nova/api/openstack/compute/evacuate.py | 22 +-
nova/api/openstack/compute/extension_info.py | 1 +
nova/api/openstack/compute/fixed_ips.py | 4 +
nova/api/openstack/compute/flavor_access.py | 4 +-
nova/api/openstack/compute/flavors.py | 25 +-
nova/api/openstack/compute/flavors_extraspecs.py | 5 +-
nova/api/openstack/compute/floating_ip_dns.py | 8 +
nova/api/openstack/compute/floating_ip_pools.py | 3 +-
nova/api/openstack/compute/floating_ips.py | 13 +-
nova/api/openstack/compute/floating_ips_bulk.py | 5 +
nova/api/openstack/compute/fping.py | 3 +
nova/api/openstack/compute/hosts.py | 33 +-
nova/api/openstack/compute/hypervisors.py | 189 +-
nova/api/openstack/compute/image_metadata.py | 43 +-
nova/api/openstack/compute/images.py | 19 +-
nova/api/openstack/compute/instance_actions.py | 111 +-
nova/api/openstack/compute/ips.py | 9 +-
nova/api/openstack/compute/keypairs.py | 199 +-
nova/api/openstack/compute/limits.py | 47 +-
nova/api/openstack/compute/lock_server.py | 7 +-
nova/api/openstack/compute/migrate_server.py | 23 +-
nova/api/openstack/compute/migrations.py | 118 +-
nova/api/openstack/compute/multinic.py | 5 +-
nova/api/openstack/compute/networks.py | 16 +-
nova/api/openstack/compute/networks_associate.py | 6 +-
nova/api/openstack/compute/pause_server.py | 1 +
nova/api/openstack/compute/quota_classes.py | 53 +-
nova/api/openstack/compute/quota_sets.py | 91 +-
nova/api/openstack/compute/remote_consoles.py | 29 +-
nova/api/openstack/compute/rescue.py | 1 +
.../openstack/compute/rest_api_version_history.rst | 2 +-
nova/api/openstack/compute/routes.py | 6 +-
nova/api/openstack/compute/schemas/addresses.py | 25 -
.../api/openstack/compute/schemas/admin_actions.py | 4 +
nova/api/openstack/compute/schemas/agents.py | 5 +
nova/api/openstack/compute/schemas/aggregates.py | 20 +-
.../openstack/compute/schemas/availability_zone.py | 5 +-
nova/api/openstack/compute/schemas/cells.py | 10 +
nova/api/openstack/compute/schemas/certificates.py | 3 +
nova/api/openstack/compute/schemas/cloudpipe.py | 4 +
.../compute/schemas/console_auth_tokens.py | 10 +-
nova/api/openstack/compute/schemas/consoles.py | 5 +
nova/api/openstack/compute/schemas/fixed_ips.py | 4 +
.../openstack/compute/schemas/floating_ip_dns.py | 5 +
.../openstack/compute/schemas/floating_ips_bulk.py | 5 +
nova/api/openstack/compute/schemas/fping.py | 3 +
nova/api/openstack/compute/schemas/hosts.py | 83 +
nova/api/openstack/compute/schemas/hypervisors.py | 295 +++
.../openstack/compute/schemas/image_metadata.py | 27 +
nova/api/openstack/compute/schemas/images.py | 179 ++
.../openstack/compute/schemas/instance_actions.py | 164 +-
nova/api/openstack/compute/schemas/ips.py | 67 +-
nova/api/openstack/compute/schemas/keypairs.py | 147 +-
nova/api/openstack/compute/schemas/networks.py | 82 +
.../compute/schemas/networks_associate.py | 6 +-
.../openstack/compute/schemas/remote_consoles.py | 131 +-
.../schemas/security_group_default_rules.py | 5 +
.../openstack/compute/schemas/security_groups.py | 12 +-
.../compute/schemas/server_diagnostics.py | 136 ++
.../compute/schemas/server_external_events.py | 91 +-
.../api/openstack/compute/schemas/server_groups.py | 137 +-
.../openstack/compute/schemas/server_password.py | 11 +
.../openstack/compute/schemas/server_topology.py | 39 +
nova/api/openstack/compute/schemas/servers.py | 50 +-
nova/api/openstack/compute/schemas/services.py | 2 +-
nova/api/openstack/compute/schemas/shelve.py | 27 +-
.../compute/schemas/simple_tenant_usage.py | 8 +-
nova/api/openstack/compute/schemas/snapshots.py | 53 +
.../openstack/compute/schemas/tenant_networks.py | 3 +
.../compute/schemas/virtual_interfaces.py | 2 +
.../openstack/compute/schemas/volume_attachment.py | 18 -
.../compute/schemas/volume_attachments.py | 102 +
nova/api/openstack/compute/schemas/volumes.py | 99 -
.../compute/security_group_default_rules.py | 5 +
nova/api/openstack/compute/security_groups.py | 15 +-
nova/api/openstack/compute/server_diagnostics.py | 5 +-
.../openstack/compute/server_external_events.py | 23 +-
nova/api/openstack/compute/server_groups.py | 19 +-
nova/api/openstack/compute/server_migrations.py | 50 +-
nova/api/openstack/compute/server_password.py | 3 +
nova/api/openstack/compute/server_shares.py | 13 +-
nova/api/openstack/compute/server_tags.py | 12 +-
nova/api/openstack/compute/server_topology.py | 4 +-
nova/api/openstack/compute/servers.py | 67 +-
nova/api/openstack/compute/services.py | 42 +-
nova/api/openstack/compute/shelve.py | 1 +
nova/api/openstack/compute/simple_tenant_usage.py | 45 +-
nova/api/openstack/compute/snapshots.py | 151 ++
nova/api/openstack/compute/suspend_server.py | 1 +
nova/api/openstack/compute/tenant_networks.py | 11 +-
nova/api/openstack/compute/versions.py | 6 +-
nova/api/openstack/compute/versionsV21.py | 1 +
nova/api/openstack/compute/views/flavors.py | 9 +-
.../compute/views/{addresses.py => ips.py} | 0
nova/api/openstack/compute/views/keypairs.py | 2 -
nova/api/openstack/compute/views/servers.py | 86 +-
nova/api/openstack/compute/virtual_interfaces.py | 2 +
nova/api/openstack/compute/volume_attachments.py | 397 ++++
nova/api/openstack/compute/volumes.py | 531 +----
nova/api/openstack/versioned_method.py | 35 -
nova/api/openstack/wsgi.py | 217 +-
nova/api/openstack/wsgi_app.py | 8 +
nova/api/validation/__init__.py | 155 +-
nova/api/validation/extra_specs/hw.py | 66 +-
nova/api/validation/parameter_types.py | 165 +-
nova/api/validation/response_types.py | 70 +
nova/api/validation/validators.py | 74 +-
nova/cmd/__init__.py | 4 +-
nova/cmd/api.py | 71 -
nova/cmd/api_metadata.py | 52 -
nova/cmd/api_os_compute.py | 51 -
nova/cmd/baseproxy.py | 5 +-
nova/cmd/compute.py | 2 -
nova/cmd/conductor.py | 2 -
nova/cmd/manage.py | 4 +-
nova/cmd/novncproxy.py | 2 -
nova/cmd/scheduler.py | 14 +-
nova/cmd/serialproxy.py | 2 -
nova/cmd/spicehtml5proxy.py | 2 -
nova/compute/api.py | 10 +-
nova/compute/claims.py | 26 -
nova/compute/manager.py | 243 +-
nova/compute/pci_placement_translator.py | 299 ++-
nova/compute/resource_tracker.py | 39 +-
nova/compute/rpcapi.py | 1 +
nova/compute/stats.py | 6 +
nova/conductor/manager.py | 11 +-
nova/conductor/tasks/live_migrate.py | 4 +
nova/conf/api.py | 59 +-
nova/conf/base.py | 41 +-
nova/conf/compute.py | 2 +-
nova/conf/database.py | 2 +-
nova/conf/libvirt.py | 9 +-
nova/conf/pci.py | 8 +-
nova/conf/remote_debug.py | 71 -
nova/conf/scheduler.py | 8 +-
nova/conf/service.py | 79 -
nova/conf/wsgi.py | 147 --
nova/context.py | 58 +-
nova/db/api/alembic.ini | 4 +
nova/db/api/models.py | 3 +-
nova/db/main/alembic.ini | 4 +
nova/db/main/api.py | 51 +-
nova/db/main/models.py | 3 +-
nova/debugger.py | 60 -
nova/exception.py | 11 +
nova/hacking/checks.py | 21 +-
nova/image/glance.py | 32 +-
nova/limit/utils.py | 75 +-
nova/locale/cs/LC_MESSAGES/nova.po | 32 +-
nova/locale/de/LC_MESSAGES/nova.po | 37 +-
nova/locale/es/LC_MESSAGES/nova.po | 44 +-
nova/locale/fr/LC_MESSAGES/nova.po | 49 +-
nova/locale/it/LC_MESSAGES/nova.po | 45 +-
nova/locale/ja/LC_MESSAGES/nova.po | 37 +-
nova/locale/ko_KR/LC_MESSAGES/nova.po | 37 +-
nova/locale/pt_BR/LC_MESSAGES/nova.po | 35 +-
nova/locale/ru/LC_MESSAGES/nova.po | 43 +-
nova/locale/tr_TR/LC_MESSAGES/nova.po | 28 +-
nova/locale/zh_CN/LC_MESSAGES/nova.po | 35 +-
nova/locale/zh_TW/LC_MESSAGES/nova.po | 34 +-
nova/monkey_patch.py | 83 +-
nova/network/model.py | 23 +-
nova/network/neutron.py | 23 +-
nova/notifications/objects/image.py | 5 +-
nova/objects/aggregate.py | 11 +-
nova/objects/fields.py | 48 +
nova/objects/image_meta.py | 28 +-
nova/objects/instance.py | 5 +-
nova/objects/pci_device.py | 12 +-
nova/objects/service.py | 15 +-
nova/pci/devspec.py | 11 +
nova/pci/manager.py | 22 +-
nova/pci/request.py | 60 +-
nova/pci/stats.py | 59 +-
nova/policies/assisted_volume_snapshots.py | 18 +-
nova/policies/base.py | 53 +-
nova/policies/migrate_server.py | 49 +-
nova/policies/migrations.py | 62 +-
nova/policies/server_external_events.py | 10 +-
nova/policies/servers_migrations.py | 50 +-
nova/policies/volumes_attachments.py | 9 +-
nova/privsep/libvirt.py | 13 -
nova/quota.py | 46 +-
nova/rpc.py | 4 +-
nova/scheduler/client/report.py | 13 +-
nova/scheduler/host_manager.py | 2 +-
nova/scheduler/manager.py | 2 +-
nova/scheduler/request_filter.py | 22 +
nova/scheduler/utils.py | 19 +-
nova/service.py | 347 ---
nova/test.py | 23 +-
.../snapshot-create-req.json.tpl | 0
.../snapshot-create-resp.json.tpl | 2 +-
.../snapshots-detail-resp.json.tpl | 12 +-
.../snapshots-list-resp.json.tpl | 12 +-
.../snapshots-show-resp.json.tpl | 4 +-
.../attach-volume-to-server-req.json.tpl | 0
.../attach-volume-to-server-resp.json.tpl | 0
.../list-volume-attachments-resp.json.tpl | 0
.../update-volume-req.json.tpl | 0
.../v2.49/attach-volume-to-server-req.json.tpl | 0
.../v2.49/attach-volume-to-server-resp.json.tpl | 0
.../v2.49/list-volume-attachments-resp.json.tpl | 0
.../v2.49/update-volume-req.json.tpl | 0
.../v2.49/volume-attachment-detail-resp.json.tpl | 0
.../v2.70/attach-volume-to-server-req.json.tpl | 0
.../v2.70/attach-volume-to-server-resp.json.tpl | 0
.../v2.70/list-volume-attachments-resp.json.tpl | 0
.../v2.70/update-volume-req.json.tpl | 0
.../v2.70/volume-attachment-detail-resp.json.tpl | 0
.../v2.79/attach-volume-to-server-req.json.tpl | 0
.../v2.79/attach-volume-to-server-resp.json.tpl | 0
.../v2.79/list-volume-attachments-resp.json.tpl | 0
.../v2.79/update-volume-req.json.tpl | 0
.../v2.79/volume-attachment-detail-resp.json.tpl | 0
.../v2.85/attach-volume-to-server-req.json.tpl | 0
.../v2.85/attach-volume-to-server-resp.json.tpl | 0
.../v2.85/list-volume-attachments-resp.json.tpl | 0
...date-volume-attachment-delete-flag-req.json.tpl | 0
.../v2.85/update-volume-req.json.tpl | 0
.../v2.85/volume-attachment-detail-resp.json.tpl | 0
.../v2.89/attach-volume-to-server-req.json.tpl | 0
.../v2.89/attach-volume-to-server-resp.json.tpl | 0
.../v2.89/list-volume-attachments-resp.json.tpl | 0
...date-volume-attachment-delete-flag-req.json.tpl | 0
.../v2.89/update-volume-req.json.tpl | 0
.../v2.89/volume-attachment-detail-resp.json.tpl | 0
.../volume-attachment-detail-resp.json.tpl | 0
.../os-volumes/os-volumes-detail-resp.json.tpl | 4 +-
.../os-volumes/os-volumes-get-resp.json.tpl | 4 +-
.../os-volumes/os-volumes-index-resp.json.tpl | 4 +-
.../os-volumes/os-volumes-post-req.json.tpl | 2 +-
.../os-volumes/os-volumes-post-resp.json.tpl | 4 +-
.../v2.100/server-action-rebuild-resp.json.tpl | 9 +-
.../servers/v2.100/server-get-resp.json.tpl | 9 +-
.../servers/v2.100/server-update-resp.json.tpl | 9 +-
.../servers/v2.100/servers-details-resp.json.tpl | 9 +-
.../v2.98/server-action-rebuild-resp.json.tpl | 9 +-
.../servers/v2.98/server-details-resp.json.tpl | 9 +-
.../servers/v2.98/server-get-resp.json.tpl | 9 +-
.../servers/v2.98/server-update-resp.json.tpl | 9 +-
.../servers/v2.98/servers-details-resp.json.tpl | 9 +-
.../versions/v2-version-get-resp.json.tpl | 6 +-
.../versions/versions-get-resp.json.tpl | 4 +-
.../functional/compute/test_live_migration.py | 1 -
.../libvirt/test_device_bus_migration.py | 18 +-
.../functional/libvirt/test_live_migration.py | 4 -
.../functional/libvirt/test_numa_live_migration.py | 4 -
.../functional/libvirt/test_pci_in_placement.py | 524 ++++-
.../functional/libvirt/test_pci_sriov_servers.py | 2410 ++++++++++++++++----
.../functional/libvirt/test_report_cpu_traits.py | 461 +++-
.../functional/libvirt/test_rescue_deleted_base.py | 14 +-
.../functional/regressions/test_bug_1404867.py | 1 -
.../functional/regressions/test_bug_1558866.py | 2 +-
.../functional/regressions/test_bug_1669054.py | 1 -
.../functional/regressions/test_bug_1732947.py | 1 -
.../functional/regressions/test_bug_1823370.py | 1 -
.../functional/regressions/test_bug_1843708.py | 1 -
.../functional/regressions/test_bug_1886418.py | 1 -
.../functional/regressions/test_bug_1895696.py | 6 +-
.../functional/regressions/test_bug_1899835.py | 125 +-
.../functional/regressions/test_bug_1902925.py | 2 -
.../functional/regressions/test_bug_1928063.py | 16 +-
.../functional/regressions/test_bug_1939545.py | 2 -
.../functional/regressions/test_bug_1943431.py | 49 +-
.../functional/regressions/test_bug_1944619.py | 2 -
.../functional/regressions/test_bug_1980720.py | 4 +-
.../functional/regressions/test_bug_2007968.py | 2 -
.../functional/regressions/test_bug_2040264.py | 2 -
.../functional/regressions/test_bug_2098496.py | 135 ++
.../functional/regressions/test_bug_2102038.py | 59 +
.../functional/regressions/test_bug_2111440.py | 48 +
.../functional/regressions/test_bug_2112187.py | 67 +
.../functional/test_servers_resource_request.py | 6 +
.../unit/api/openstack/compute/microversions.py | 64 +-
.../unit/api/openstack/compute/test_aggregates.py | 35 +-
.../openstack/compute/test_assisted_snapshots.py | 255 +++
.../openstack/compute/test_availability_zone.py | 2 +-
.../api/openstack/compute/test_certificates.py | 8 +-
.../unit/api/openstack/compute/test_cloudpipe.py | 2 +-
.../api/openstack/compute/test_deferred_delete.py | 6 +-
.../unit/api/openstack/compute/test_disk_config.py | 2 +-
.../api/openstack/compute/test_extended_ips.py | 4 +-
.../api/openstack/compute/test_extended_ips_mac.py | 4 +-
.../api/openstack/compute/test_flavor_access.py | 2 +-
.../api/openstack/compute/test_flavor_disabled.py | 2 +-
.../api/openstack/compute/test_flavor_manage.py | 4 +-
.../api/openstack/compute/test_flavorextradata.py | 2 +-
.../unit/api/openstack/compute/test_flavors.py | 128 +-
.../openstack/compute/test_flavors_extraspecs.py | 2 +-
.../unit/api/openstack/compute/test_hypervisors.py | 85 +-
.../api/openstack/compute/test_image_metadata.py | 2 +-
.../unit/api/openstack/compute/test_images.py | 384 ++--
.../unit/api/openstack/compute/test_keypairs.py | 173 +-
.../api/openstack/compute/test_microversions.py | 79 +-
.../unit/api/openstack/compute/test_quotas.py | 29 +-
.../api/openstack/compute/test_remote_consoles.py | 7 +-
.../unit/api/openstack/compute/test_rescue.py | 2 +-
.../unit/api/openstack/compute/test_schemas.py | 96 +-
.../api/openstack/compute/test_security_groups.py | 80 +-
.../api/openstack/compute/test_server_actions.py | 8 +-
.../openstack/compute/test_server_diagnostics.py | 2 +-
.../unit/api/openstack/compute/test_server_tags.py | 83 +-
.../api/openstack/compute/test_server_topology.py | 4 +-
.../unit/api/openstack/compute/test_servers.py | 477 ++--
.../unit/api/openstack/compute/test_snapshots.py | 93 +-
.../api/openstack/compute/test_tenant_networks.py | 4 +-
.../unit/api/openstack/compute/test_urlmap.py | 5 +-
.../unit/api/openstack/compute/test_versions.py | 16 +-
.../openstack/compute/test_volume_attachments.py | 1394 +++++++++++
.../unit/api/openstack/compute/test_volumes.py | 1901 ++-------------
.../unit/api/openstack/test_api_version_request.py | 39 +-
.../unit/compute/test_pci_placement_translator.py | 373 ++-
.../unit/conductor/tasks/test_live_migrate.py | 7 +-
.../notifications/objects/test_notification.py | 2 +-
.../policies/test_assisted_volume_snapshots.py | 8 +-
.../unit/policies/test_server_external_events.py | 9 +-
.../unit/policies/test_simple_tenant_usage.py | 5 +-
.../scheduler/weights/test_weights_image_props.py | 2 +-
nova/utils.py | 339 +--
nova/virt/disk/mount/nbd.py | 2 +-
nova/virt/driver.py | 50 +-
nova/virt/hardware.py | 191 +-
nova/virt/ironic/driver.py | 12 +-
nova/virt/libvirt/config.py | 128 +-
nova/virt/libvirt/driver.py | 587 +++--
nova/virt/libvirt/host.py | 47 +-
nova/virt/zvm/driver.py | 4 +-
nova/wsgi/metadata.py | 3 +-
nova/wsgi/osapi_compute.py | 3 +-
pyproject.toml | 6 +
.../add-policy-manager-role-e245ba669eb88b26.yaml | 113 +
.../add-policy-service-role-eaa391e30431a9d6.yaml | 43 +
...md-sev-es-libvirt-support-089ec0e394156d0a.yaml | 12 +
.../notes/bp-xml-image-meta-037f4eba59f0121e.yaml | 23 +
...1-ephemeral-disk-fs-label-504484c4522e6d6a.yaml | 6 +
.../notes/bug-2095364-ffbf67c0ae3f53b5.yaml | 15 +
...i-hostdevs-than-requested-0139018213f1be96.yaml | 12 +
...age-id-xml-after-unshelve-e5f6116043ba1c41.yaml | 12 +
.../notes/bug-2112187-e1c1d40f090e421b.yaml | 36 +
...ory-encryption-is-enabled-142e64f6b9ef3135.yaml | 7 +
...-performance-optimization-6f3a2c8e5d9b1a4e.yaml | 23 +
.../notes/deprecate-v2-api-22b1ca9c35c321bc.yaml | 9 +
.../notes/flamingo-prelude-22a2782315ce0808.yaml | 52 +
...nic-validate-node-message-6a8b1eedbddd06fd.yaml | 7 +
.../latch-error-on-raise-cf2da71a12b5f55f.yaml | 9 +
...m_memory_encrypted_guests-61dc3dcd2ce9d8ea.yaml | 9 +
...eflate-freepage-reporting-13c25d410cca9d23.yaml | 11 +
...onfig-files-with-mod_wsgi-f114ea5fdd8b9a51.yaml | 2 +-
.../one-time-use-devices-b62247dd2a4c7a15.yaml | 7 +
...e-live-migration-rollback-7de399d9b3979f79.yaml | 9 +
.../remote-debugger-removal-07e26d43c561d495.yaml | 9 +
.../remove-api-eventlet-5a932ef45b9af79f.yaml | 5 +
...ron_default_tenant_id-opt-7ca3647dc27f8fcc.yaml | 26 +
.../sound-model-extra-specs-2bcbe644b889005c.yaml | 12 +
.../notes/threaded-nova-api-d8ec6704dcf66fb3.yaml | 11 +
.../threaded-nova-scheduler-dd4649b987f33025.yaml | 11 +
...sb-controller-extra-specs-a2209e3563d18a26.yaml | 13 +
releasenotes/source/2025.1.rst | 6 +
releasenotes/source/index.rst | 1 +
.../source/locale/ja/LC_MESSAGES/releasenotes.po | 56 +-
requirements.txt | 6 +-
setup.cfg | 6 +-
threading_unit_test_excludes.txt | 94 +
tools/check-cherry-picks.sh | 7 +-
tools/flake8wrap.sh | 9 +-
tools/generate-exclude.sh | 1 +
tox.ini | 26 +-
666 files changed, 20396 insertions(+), 11901 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 1670ecc5bb..89873efe09 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -27 +27 @@ python-neutronclient>=7.1.0 # Apache-2.0
-python-glanceclient>=2.8.0 # Apache-2.0
+python-glanceclient>=4.7.0 # Apache-2.0
@@ -47 +47 @@ oslo.i18n>=5.1.0 # Apache-2.0
-oslo.service>=2.8.0 # Apache-2.0
+oslo.service[threading]>=4.2.0 # Apache-2.0
@@ -54 +54 @@ os-resource-classes>=1.1.0 # Apache-2.0
-os-traits>=3.3.0 # Apache-2.0
+os-traits>=3.5.0 # Apache-2.0
1
0
We are delighted to announce the release of:
neutron-fwaas-dashboard 10.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/neutron-fwaas-dashboard
Download the package from:
https://tarballs.openstack.org/neutron-fwaas-dashboard/
Please report issues through:
https://bugs.launchpad.net/neutron-fwaas-dashboard/+bugs
For more details, please see below.
Changes in neutron-fwaas-dashboard 9.0.0..10.0.0
------------------------------------------------
4c49164 Imported Translations from Zanata
d802024 Fix for forgot space in phrase
8b13ed0 Imported Translations from Zanata
d6081b5 docs: add information about restart Apache service for RHEL/CentOS Stream
fd4c49c Remove unused policy file
ba840c8 Imported Translations from Zanata
c1431d0 Fix small mistakes in phrases
4a520fe fix with no need space after phrase
ca8fab6 fix for small mistake with Firewall Group phrase
83593e1 Use yaml format policy file
e2fbd8d Use systemctl command to manage service
2f8f385 Imported Translations from Zanata
5bf419d Remove unicode prefix from code
962e333 Drop environments for nose
6a4c465 Update master for stable/2025.1
Diffstat (except docs and test files)
-------------------------------------
devstack/plugin.sh | 7 +-
etc/neutron-fwaas-policy.json | 36 ----
.../dashboards/project/firewalls_v2/tables.py | 50 ++---
.../dashboards/project/firewalls_v2/tabs.py | 2 +-
.../templates/firewalls_v2/_update_port_help.html | 2 +-
.../dashboards/project/firewalls_v2/views.py | 6 +-
.../dashboards/project/firewalls_v2/workflows.py | 8 +-
.../local_settings.d/_7000_neutron_fwaas.py | 16 --
.../locale/de/LC_MESSAGES/django.po | 64 +-----
.../locale/en_GB/LC_MESSAGES/django.po | 63 +-----
.../locale/fr/LC_MESSAGES/django.po | 38 +---
.../locale/id/LC_MESSAGES/django.po | 66 +-----
.../locale/ja/LC_MESSAGES/django.po | 66 +-----
.../locale/ko_KR/LC_MESSAGES/django.po | 93 +--------
.../locale/pt_BR/LC_MESSAGES/django.po | 38 +---
.../locale/ru/LC_MESSAGES/django.po | 223 ++++++++++-----------
.../locale/zh_Hans/LC_MESSAGES/django.po | 60 +-----
releasenotes/source/2025.1.rst | 6 +
releasenotes/source/index.rst | 1 +
.../source/locale/ru/LC_MESSAGES/releasenotes.po | 150 ++++++++------
tox.ini | 6 -
22 files changed, 260 insertions(+), 769 deletions(-)
1
0
We are delighted to announce the release of:
masakari 20.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/masakari
Download the package from:
https://tarballs.openstack.org/masakari/
Please report issues through:
https://bugs.launchpad.net/masakari/+bugs
For more details, please see below.
Changes in masakari 19.0.0..20.0.0
----------------------------------
e5cdcfe Replace usage of legacy EngineFacade
73cb920 Remove unused sphinxcontrib-apidoc
5ab5626 sqlalchemy: Use built-in declarative
de5aaee Remove jammy test job due to updated runtime support
1a9a5b4 Replace iso8601 to built-in datetime
30e7993 Remove unicode prefix from code
e4ccb5c Drop explicit dependency on python-subunit
ef9b823 Add note about requirement lower bounds
acfccbf Remove unused test dependencies
d75d216 Move test base into tests directory
a49b18f HA notification
ceb4880 pre-commit: Bump versions
348baf0 add pyproject.toml to support pip 23.1
c39b9bd Drop support for Python 3.8, 3.9
ccaecd3 setup: Remove pbr's wsgi_scripts
300fa73 Add new masakari.wsgi module
0c1bd33 Bump hacking
dfb161c Remove SQLALCHEMY_WARN_20
17d80e3 Update master for stable/2023.2
d6e3276 Update master for stable/2025.1
27dd4df Replace oslo_utils.encodeutils.exception_to_unicode
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 2 +-
.pre-commit-config.yaml | 7 +-
.zuul.yaml | 9 ---
devstack/plugin.sh | 2 +-
devstack/settings | 2 +-
masakari/api/auth.py | 3 +-
masakari/api/openstack/__init__.py | 4 +-
masakari/api/openstack/common.py | 2 +-
masakari/api/openstack/ha/hosts.py | 7 +-
masakari/api/openstack/wsgi.py | 2 +-
masakari/{ => api}/wsgi.py | 0
masakari/compute/nova.py | 11 ++-
masakari/db/sqlalchemy/api.py | 89 +++++++++-------------
.../13adff5efb9a_extend_notification_table.py | 34 +++++++++
masakari/db/sqlalchemy/models.py | 5 +-
masakari/engine/manager.py | 1 +
masakari/ha/api.py | 3 +
masakari/objects/notification.py | 7 +-
masakari/service.py | 2 +-
.../unit/api/openstack/ha/test_extension_info.py | 4 +-
.../unit/api/openstack/ha/test_notifications.py | 16 ++--
.../drivers/taskflow/test_host_failure_flow.py | 4 +-
.../drivers/taskflow/test_instance_failure_flow.py | 4 +-
.../drivers/taskflow/test_process_failure_flow.py | 4 +-
.../drivers/taskflow/test_taskflow_driver.py | 4 +-
.../notifications/objects/test_notification.py | 6 +-
masakari/wsgi/__init__.py | 0
masakari/wsgi/api.py | 24 ++++++
pyproject.toml | 3 +
.../add-masakari-wsgi-module-a5f5a649a2ec460c.yaml | 22 ++++++
.../notes/drop-python-38-39-deab0b81006bae48.yaml | 5 ++
...move-masakari-wsgi-script-bb737746a17111ab.yaml | 8 ++
releasenotes/source/2023.2.rst | 6 ++
releasenotes/source/2025.1.rst | 6 ++
releasenotes/source/index.rst | 2 +
requirements.txt | 7 +-
setup.cfg | 12 +--
test-requirements.txt | 5 +-
tox.ini | 5 +-
78 files changed, 390 insertions(+), 296 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 74e4b6d..7ab6f47 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.
+
@@ -2 +5,0 @@ alembic>=1.8.0 # MIT
-iso8601>=0.1.11 # MIT
@@ -23 +26 @@ stevedore>=1.20.0 # Apache-2.0
-SQLAlchemy>=1.2.19 # MIT
+SQLAlchemy>=1.4.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 2d02f19..9624771 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1 +1 @@
-hacking~=6.0.1 # Apache-2.0
+hacking>=6.1.0,<6.2.0 # Apache-2.0
@@ -9 +8,0 @@ PyMySQL>=0.7.6 # MIT License
-python-subunit>=1.0.0 # Apache-2.0/BSD
@@ -13 +11,0 @@ stestr>=1.0.0 # Apache-2.0
-SQLAlchemy-Utils>=0.33.10 # Apache-2.0
@@ -15 +12,0 @@ requests-mock>=1.2.0 # Apache-2.0
-testresources>=2.0.0 # Apache-2.0/BSD
1
0
We high-spiritedly announce the release of:
octavia 17.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/octavia
Download the package from:
https://pypi.org/project/octavia
Please report issues through:
https://storyboard.openstack.org/#!/project/908
For more details, please see below.
17.0.0
^^^^^^
Bug Fixes
* Fixed a bug where the Amphora configuration update would only
update the Amphora agent configuration, but the health sender would
not be updated with the new controller IP list.
Changes in octavia 16.0.0.0rc1..17.0.0
--------------------------------------
fa44598bd Fix Amphora controller IP list update
3af236348 Update TOX_CONSTRAINTS_FILE for stable/2025.2
179e4ce2e Update .gitreview for stable/2025.2
ccc65d6ca Remove remaining jobs with Ubuntu Jammy (22.04)
4af823cc7 Resolve a UDP rebalance issue on backend failure
0236947f4 Support file watcher to trigger GMR report
c64c5f544 Fix L7Rules with FILE_TYPE and EQUAL_TO
592dd78f8 devstack: Omit flavor create --id auto parameter
5fc42b528 Use native String type
6b51d75b0 Reduce tune.ssl.cachesize for HTTPS terminating listeners
ff29dcd78 Fixed http_version and domain_name in haproxy templates
5c802aad9 Fix race condition in cascade delete
d00fcf13b Move log offload files to /var/log/octavia
9a4fb1ed8 Use only spaces in example response
bad5457e9 Make [task_flow].persistence_connection secret
943b5567a Remove duplicate policy file format check
340a8d3af Skip functional tests for pre-commit config update
e5bdd1f12 Add more entropy to the rotate passphrase tests
bfa1abb29 Fixed missing port_id in additional_vips API
cd4fa250d Imported Translations from Zanata
c547308b8 Fix pep8 tests for translated message
4d86418da Fix missing stestr
c0891486a Fix inconsistent parameter type and default value type
f47966c90 Add auth options to [neutron] section
5c3047aff Drop explicit executor argument
e852a7296 Remove zake from optional runtime dependency
57eb9b49d Update diskimage-create.sh to use noble as default
0273e2766 docs: add OpenStack-Ansible as an installation method
c79e50252 Remove note about old pip's behavior
df2070011 Drop override of [oslo_policy] policy_file
3be85dab1 Update python classifier in setup.cfg
7456719c8 Remove python3.9 support
bbc92a716 Fix grenade job wsgi module tranition
2fb6ba934 Fix SSH disable during amphora image build
794fc75d1 Fix functional tests due to oslo.context change
e6fb72231 Fix duplicate VIP address error reporting
ac5b93901 Add pyproject.toml to support pip 23.1
599873b01 Re-enabling voting for octavia-v2-dsvm-tls-barbican
c031784a6 Update the default TLS ciphers list
8ebf8d27c Add wsgi module to Octavia and remove wsgi script
30fbe2119 Ignore load_balancer graph in task results to avoid break write data in jobboard DB
32eca8ae0 Add service role allowed to list members in pool
4dfcd861c Support rotating server_certs_key_passphrase key
beb413b6b Adapt unit tests to pyroute2 0.9.1
4db66dd06 Fixed publish-openstack-octavia-amphora-image-noble job
0b5aca4e2 Bump octavia-lib requirement to 3.8.0
f59da708b Update master for stable/2025.1
85f664378 Remove duplicate hacking checks
c6cf74f51 Use overridden defaults cors options when generating a config file
0640ba583 Add volume zone to availability zone profile
03a1c3ab2 Remove deprecated datetime.utcnow()
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 -
.gitreview | 1 +
HACKING.rst | 7 -
.../availabilityzoneprofile-create-request.json | 2 +-
.../availabilityzoneprofile-create-response.json | 2 +-
.../availabilityzoneprofile-list-response.json | 2 +-
.../availabilityzoneprofile-show-response.json | 2 +-
.../availabilityzoneprofile-update-request.json | 2 +-
.../availabilityzoneprofile-update-response.json | 2 +-
.../source/v2/examples/member-create-response.json | 2 +-
.../source/v2/examples/member-show-response.json | 2 +-
.../source/v2/examples/member-update-response.json | 2 +-
.../source/v2/examples/members-list-response.json | 2 +-
...availability-zone-capability-show-response.json | 4 +
.../etc/rsyslog/10-octavia-log-offloading.conf | 4 +-
devstack/plugin.sh | 19 +-
devstack/settings | 2 +-
devstack/upgrade/from-2025.1/upgrade-octavia | 12 +
diskimage-create/README.rst | 4 +-
diskimage-create/diskimage-create.sh | 14 +-
elements/amphora-agent/package-installs.yaml | 1 +
.../amphora-agent/source-repository-amphora-agent | 4 +-
elements/amphora-apparmor/README.rst | 4 +
elements/amphora-apparmor/element-deps | 1 +
.../amphora-apparmor/post-install.d/10-fix-rsyslog | 11 +
.../static/etc/apparmor.d/rsyslog.d/octavia | 4 +
elements/octavia-lib/source-repository-octavia-lib | 2 +-
etc/config/octavia-config-generator.conf | 1 +
.../amphorae/backends/agent/api_server/server.py | 5 +-
.../api_server/templates/amphora-netns.systemd.j2 | 3 +
octavia/amphorae/drivers/health/heartbeat_udp.py | 4 +-
octavia/api/app.py | 7 +-
.../amphora_driver/availability_zone_schema.py | 4 +
octavia/api/drivers/amphora_driver/v2/driver.py | 22 +-
octavia/api/drivers/noop_driver/driver.py | 2 +
octavia/api/drivers/utils.py | 4 +
octavia/api/v2/types/load_balancer.py | 1 +
octavia/certificates/common/local.py | 23 +-
octavia/certificates/generator/local.py | 5 +-
octavia/cmd/agent.py | 14 +-
octavia/cmd/api.py | 13 +-
octavia/cmd/driver_agent.py | 4 +-
octavia/cmd/health_manager.py | 4 +-
octavia/cmd/house_keeping.py | 8 +-
octavia/cmd/octavia_worker.py | 4 +-
octavia/cmd/status.py | 24 -
octavia/common/config.py | 19 +-
octavia/common/constants.py | 20 +-
octavia/common/exceptions.py | 5 +
.../jinja/haproxy/combined_listeners/jinja_cfg.py | 12 +-
.../combined_listeners/templates/haproxy.cfg.j2 | 1 -
.../haproxy/combined_listeners/templates/macros.j2 | 28 +-
octavia/common/policy.py | 8 -
octavia/common/rpc.py | 3 +-
octavia/common/utils.py | 25 +-
octavia/compute/compute_base.py | 2 +-
octavia/compute/drivers/nova_driver.py | 14 +-
octavia/controller/queue/v2/consumer.py | 1 -
.../controller/worker/v2/flows/listener_flows.py | 3 -
.../worker/v2/flows/load_balancer_flows.py | 13 +-
.../worker/v2/tasks/amphora_driver_tasks.py | 4 +-
octavia/controller/worker/v2/tasks/cert_task.py | 4 +-
.../controller/worker/v2/tasks/compute_tasks.py | 10 +-
.../controller/worker/v2/tasks/database_tasks.py | 4 +-
.../controller/worker/v2/tasks/network_tasks.py | 21 +-
octavia/db/repositories.py | 9 +-
octavia/hacking/checks.py | 58 ---
.../drivers/neutron/allowed_address_pairs.py | 9 +
octavia/opts.py | 34 +-
octavia/policies/keystone_default_roles.py | 5 +
octavia/policies/member.py | 2 +-
.../backend/agent/api_server/test_server.py | 8 +-
.../api/v2/test_availability_zone_profiles.py | 192 ++++----
.../functional/api/v2/test_availability_zones.py | 159 +++---
.../functional/api/v2/test_flavor_profiles.py | 192 ++++----
.../unit/amphorae/backends/utils/test_interface.py | 131 +++--
.../api/drivers/amphora_driver/v2/test_driver.py | 25 +-
.../unit/api/drivers/noop_driver/test_driver.py | 4 +-
.../unit/certificates/generator/test_local.py | 9 +-
.../haproxy/combined_listeners/test_jinja_cfg.py | 105 ++--
.../sample_configs/sample_configs_combined.py | 2 +-
.../controller/housekeeping/test_house_keeping.py | 5 +-
.../worker/v2/tasks/test_amphora_driver_tasks.py | 4 +-
.../controller/worker/v2/tasks/test_cert_task.py | 4 +-
.../worker/v2/tasks/test_compute_tasks.py | 6 +-
.../worker/v2/tasks/test_database_tasks.py | 4 +-
.../worker/v2/tasks/test_network_tasks.py | 14 +
.../drivers/neutron/test_allowed_address_pairs.py | 9 +
.../unit/volume/drivers/noop_driver/test_driver.py | 13 +-
.../unit/volume/drivers/test_cinder_driver.py | 47 ++
octavia/volume/drivers/cinder_driver.py | 34 +-
octavia/volume/drivers/noop_driver/driver.py | 24 +-
octavia/volume/volume_base.py | 13 +-
octavia/wsgi/__init__.py | 0
octavia/wsgi/api.py | 34 ++
pyproject.toml | 3 +
...Fix-Amphora-Config-Update-06b649883c7a4f44.yaml | 6 +
...P-member-server-rebalance-74c67cb09c7c529a.yaml | 10 +
.../notes/Fix-disable-sshd-470ba6a09278df69.yaml | 5 +
...te-VIP-IP-error-reporting-253c88cca4fed73d.yaml | 5 +
...default-TLS-cipher-suites-7359fe87fc246618.yaml | 24 +
...d_volume_avalability_zone-cc03ba448960bef4.yaml | 6 +
.../notes/aodh-service-api-5c485a172d76fa1a.yaml | 6 +
...t-amphora-network-configs-347a0a4340ee222b.yaml | 6 +
...ion-in-HandleNetworkDelta-1f99354ee7a41c01.yaml | 5 +
...ix-haproxy-ssl-cache-size-5d5842100a87de54.yaml | 5 +
...tp-version-domain-name-hm-117ec59c63e18acd.yaml | 7 +
...l7rule-FILE_TYPE-EQUAL_TO-6e84773d6ab22c50.yaml | 5 +
...g-additional-vips-port_id-fd0708aa798744c9.yaml | 5 +
...ditions-in-cascade-delete-1e100213445a17ec.yaml | 7 +
...istence_connection_secret-bda0d7157fa179ea.yaml | 6 +
.../remove-wsgi-scripts-a66048263bd550c6.yaml | 29 ++
...rver_certs_key_passphrase-c74a67ae5e169447.yaml | 13 +
...ra-image-default-to-noble-d2733d4bcc31fec9.yaml | 5 +
releasenotes/source/2025.1.rst | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 25 +-
requirements.txt | 7 +-
setup.cfg | 7 +-
test-requirements.txt | 6 +-
tox.ini | 11 +-
zuul.d/jobs.yaml | 35 +-
zuul.d/projects.yaml | 22 +-
146 files changed, 2722 insertions(+), 2408 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 62768211a..c3a1b9cd5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,3 +4,0 @@
-# The order of packages is significant, because pip processes them in the order
-# of appearance. Changing the order has an impact on the overall integration
-# process, which may cause wedges in the gate later.
@@ -29 +26 @@ oslo.middleware>=4.0.1 # Apache-2.0
-oslo.policy>=3.7.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
@@ -48 +45 @@ jsonschema>=3.2.0 # MIT
-octavia-lib>=3.6.0 # Apache-2.0
+octavia-lib>=3.8.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index fa31c123f..5c173c367 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,3 +0,0 @@
-# The order of packages is significant, because pip processes them in the order
-# of appearance. Changing the order has an impact on the overall integration
-# process, which may cause wedges in the gate later.
@@ -9 +5,0 @@ flake8-import-order>=0.18.0,<0.19.0 # LGPLv3
-python-subunit>=1.0.0 # Apache-2.0/BSD
@@ -11,0 +8 @@ pylint>=2.5.3 # GPLv2
+stestr>=2.0.0 # Apache-2.0
@@ -18 +14,0 @@ bandit!=1.6.0,>=1.1.0 # Apache-2.0
-tempest>=23.0.0 # Apache-2.0
1
0
We contentedly announce the release of:
tacker-horizon 12.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/tacker-horizon
Download the package from:
https://tarballs.openstack.org/tacker-horizon/
Please report issues through:
https://bugs.launchpad.net/tacker/+bugs
For more details, please see below.
Changes in tacker-horizon 11.0.0..12.0.0
----------------------------------------
714c5d6 Update requirements files
Diffstat (except docs and test files)
-------------------------------------
requirements.txt | 12 ++++++------
test-requirements.txt | 10 +++++-----
tox.ini | 2 +-
4 files changed, 15 insertions(+), 15 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b2948d2..e8c0c0c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14,5 +14,5 @@
-Django>=2.2 # BSD
-oslo.log>=3.36.0 # Apache-2.0
-oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
-pbr>=5.5.0 # Apache-2.0
-python-tackerclient>=0.8.0 # Apache-2.0
+Django>=4.2.23 # BSD
+oslo.log>=7.2.0 # Apache-2.0
+oslo.serialization>=5.7.0 # Apache-2.0
+pbr>=6.0.0 # Apache-2.0
+python-tackerclient>=2.3.0 # Apache-2.0
@@ -22 +22 @@ python-tackerclient>=0.8.0 # Apache-2.0
-horizon>=17.1.0 # Apache-2.0
+horizon>=25.4.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index bbbd78c..2126aae 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10 +10 @@
-hacking>=4.0.0,<4.1.0 # Apache-2.0
+hacking>=7.0.0 # Apache-2.0
@@ -13 +13 @@ coverage!=4.4,>=4.0 # Apache-2.0
-nodeenv>=0.9.4 # BSD
+nodeenv>=1.9.1 # BSD
@@ -15,2 +15,2 @@ nodeenv>=0.9.4 # BSD
-selenium>=2.50.1 # Apache-2.0
-testtools>=2.2.0 # MIT
+selenium>=3.141.0 # Apache-2.0
+testtools>=2.7.0 # MIT
@@ -18 +18 @@ testtools>=2.2.0 # MIT
-xvfbwrapper>=0.1.3 #license: MIT
+xvfbwrapper>=0.2.13 #license: MIT
1
0
We are thrilled to announce the release of:
skyline-apiserver 7.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/skyline-apiserver
Download the package from:
https://tarballs.openstack.org/skyline-apiserver/
Please report issues through:
https://bugs.launchpad.net/skyline-apiserver/+bugs
For more details, please see below.
Changes in skyline-apiserver 6.0.0..7.0.0
-----------------------------------------
9111e83 feature: Add fixed ip filter in list_recycle_servers
e66bbba chore: Add vscode project config file in .gitignore
a92862c chore: Comment `tox -e gennginx` in make all
9d7d38a feature: Add fixed ip filter in list_servers
de03734 refactor: list volumes API in extension/ test: add tests in test_extension
27a764a test: Add tests/unit/api/v1/test_extension.py
c846d0c feat: list recycle server API in extension
8aca4f7 fix: comment out /contrib/domains from ignore_urls in main.py
f5b970e chore: Update tox.ini
9f4f57c optimize: list_servers API in extension
02bdd6f Include tenant_id in user context, too
cdf21dc docs: Add source .tox/venv/bin/activate
2fa0395 refactor: Update pydantic>=2.11.7
ce12761 docs: docking prometheus
b5b1719 fix: [regression] members couldn't list volume by uuid
1772416 Include tenant_id for neutron policy checking
52beaf5 fix: restore system session for list_recycle_servers to fix regression
1e4a9ba refactor: Convert Async to Sync
23ef02c docs: Update log_dir default value
07f9102 Add config params
dbea5f2 doc: Add OSA section to ToC
d91e6ac Fix pep8 test job
7c059f2 Add documentation for DevStack integration
65673a3 fix: Update pydantic constraint & gunicorn config
ee3d23d [doc] Add short reference on OpenStack-Ansible deployment
5d2c9a5 Update master for stable/2025.1
95383a9 fix: add TLSv1.2 and TLSv1.3 support for HTTPS upstream endpoints
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +
.isort.cfg | 4 +
.vscode/launch.json | 11 +-
Makefile | 20 +
README-zh_CN.rst | 7 +
README.rst | 51 +-
devstack/README.rst | 30 +-
etc/gunicorn.py | 4 +-
etc/skyline.yaml.sample | 4 +-
releasenotes/source/2025.1.rst | 6 +
releasenotes/source/index.rst | 1 +
requirements.txt | 7 +-
skyline_apiserver/__main__.py | 21 +-
skyline_apiserver/api/deps.py | 72 +-
skyline_apiserver/api/v1/contrib.py | 65 +-
skyline_apiserver/api/v1/extension.py | 735 ++--
skyline_apiserver/api/v1/login.py | 91 +-
skyline_apiserver/api/v1/policy.py | 35 +-
skyline_apiserver/api/v1/prometheus.py | 13 +-
skyline_apiserver/api/v1/setting.py | 52 +-
skyline_apiserver/client/openstack/cinder.py | 24 +-
skyline_apiserver/client/openstack/glance.py | 10 +-
skyline_apiserver/client/openstack/keystone.py | 60 +-
skyline_apiserver/client/openstack/neutron.py | 16 +-
skyline_apiserver/client/openstack/nova.py | 17 +-
skyline_apiserver/client/openstack/system.py | 33 +-
skyline_apiserver/client/utils.py | 44 +-
skyline_apiserver/cmd/generate_nginx.py | 44 +-
skyline_apiserver/cmd/generate_swagger.py | 2 +
skyline_apiserver/cmd/policy_manager.py | 16 +-
skyline_apiserver/config/default.py | 18 +-
skyline_apiserver/context.py | 153 +
skyline_apiserver/core/security.py | 13 +-
skyline_apiserver/db/api.py | 59 +-
skyline_apiserver/db/base.py | 122 +-
skyline_apiserver/main.py | 115 +-
skyline_apiserver/policy/base.py | 1 +
skyline_apiserver/policy/manager/barbican.py | 98 +-
skyline_apiserver/policy/manager/base.py | 27 +-
skyline_apiserver/policy/manager/cinder.py | 320 +-
skyline_apiserver/policy/manager/designate.py | 126 +-
skyline_apiserver/policy/manager/glance.py | 112 +-
skyline_apiserver/policy/manager/heat.py | 116 +-
skyline_apiserver/policy/manager/ironic.py | 194 +-
.../policy/manager/ironic_inspector.py | 24 +-
skyline_apiserver/policy/manager/keystone.py | 386 +--
skyline_apiserver/policy/manager/magnum.py | 128 +-
skyline_apiserver/policy/manager/manila.py | 342 +-
skyline_apiserver/policy/manager/masakari.py | 38 +-
skyline_apiserver/policy/manager/neutron.py | 516 +--
skyline_apiserver/policy/manager/nova.py | 392 +--
skyline_apiserver/policy/manager/octavia.py | 160 +-
skyline_apiserver/policy/manager/placement.py | 68 +-
skyline_apiserver/policy/manager/trove.py | 170 +-
skyline_apiserver/policy/manager/zun.py | 158 +-
skyline_apiserver/schemas/common.py | 4 +-
skyline_apiserver/schemas/extension.py | 16 +-
skyline_apiserver/schemas/login.py | 27 +-
skyline_apiserver/schemas/policy_manager.py | 14 +-
skyline_apiserver/schemas/prometheus.py | 10 +-
skyline_apiserver/templates/nginx.conf.j2 | 8 +-
skyline_apiserver/utils/httpclient.py | 39 +-
spec/bp-2024-h1-todo-list.md | 2 +-
swagger.json | 3559 +++++++++++++-------
tox.ini | 6 +-
73 files changed, 5741 insertions(+), 3707 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index e22e4c8..fe2c672 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,3 +2,3 @@ pbr>=5.8.0 # Apache-2.0
-fastapi<=0.58.1 # MIT
-pydantic<=1.10.0 # MIT
-uvicorn<=0.17.6 # BSD License (3 clause)
+fastapi>=0.111.0 # MIT
+pydantic>=2.11.7,<3.0.0 # MIT
+uvicorn==0.30.1 # BSD License (3 clause)
@@ -29,0 +30 @@ oslo.policy>=2.3.4 # Apache-2.0
+types-six>=1.16.0 # Apache-2.0
1
0
We are excited to announce the release of:
zun-ui 16.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/zun-ui
Download the package from:
https://tarballs.openstack.org/zun-ui/
Please report issues through:
https://bugs.launchpad.net/zun-ui/+bugs
For more details, please see below.
Changes in zun-ui 15.0.0..16.0.0
--------------------------------
a500ef4 Update master for stable/2025.1
Diffstat (except docs and test files)
-------------------------------------
releasenotes/source/2025.1.rst | 6 ++++++
releasenotes/source/index.rst | 1 +
2 files changed, 7 insertions(+)
1
0
We are pumped to announce the release of:
zun 16.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/zun
Download the package from:
https://tarballs.openstack.org/zun/
Please report issues through:
https://bugs.launchpad.net/zun/+bugs
For more details, please see below.
Changes in zun 15.0.0..16.0.0
-----------------------------
fa041375 Migrate from wsgi scripts to module paths
6e642f42 Zuul: do not use USE_PYTHON3
eee3c483 Update master for stable/2025.1
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 9 ---------
devstack/lib/zun | 4 ++--
releasenotes/source/2025.1.rst | 6 ++++++
releasenotes/source/index.rst | 1 +
tox.ini | 2 +-
zun/{api/app.wsgi => wsgi/api.py} | 0
6 files changed, 10 insertions(+), 12 deletions(-)
1
0
We eagerly announce the release of:
cinder 27.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/cinder
Download the package from:
https://tarballs.openstack.org/cinder/
Please report issues through:
https://bugs.launchpad.net/cinder/+bugs
For more details, please see below.
Changes in cinder 26.0.0.0rc1..27.0.0
-------------------------------------
2322ceb19 [NetApp-ZAPI] Enabling snapshot creation for flexgroup pool
9f2d476e3 Add pyproject.toml file
9c63da02a [NetApp] Enabling total_volumes capability support
d9a7d0690 [Pure Storage] Add support for retype to sync/trisync-replicated volume
59e4faefe [Pure Storage] Consistent hostnames across replicated backends
75469ffcb [Pure Storage] Fix volume reconnect error
e564049d8 Fix: optimize create volume for NFS
b851d08e8 Add support for GET location API
9dfb500d5 Register glance user in keystoneauth plugin
3aad12a6c [Pure Storage] Cinder manage quota breach deletion fix
f6c6c4c27 [IBM SVf driver] Adding support for temporary volumegroup
d047840da Dell PowerMax: RDF consistency exempt (follow-up)
e3d260110 Dell PowerFlex: Improve secret handling
c1b8bbe9a Remove remaining job with Ubuntu Jammy (22.04)
7926029d0 Dell PowerMax: NVMe/TCP suuport (follow-up)
1549d536d NetApp NVMe namespace support for in-use expansion
5f76c2107 Fix typo in release note
d3d91d9a1 [NetApp]:Cinder support for self-signed transport
aa6a11b24 NetApp: NVMe namespace mapping fails during VM live migration
2e591d56b Dell PowerMax Driver: Added Support for NVMe/TCP
b826f6699 NetApp - Added ONTAP libs for ASAr2 platform.
07acca1b5 Added support for NetApp ASA r2 (All-Flash SAN Array r2) disaggregated
ccd69534e Delete image cache volumes when they're unusable
2b44c385b NetApp - Extended Consistency group support for NVMe/TCP driver
ad3493c91 Dell PowerMax: RDF consistency exempt
94cd0e815 HPE 3par - skip license check for new wsapi
fb8349c2e NetApp - Fixed detach issue for multi-attached volume
daf3dc245 [Pure Storage] Resolve EG1 arrays not reporting DRR
dc8a59c91 RBD: Fix issue with managing volume with type properties
a39fa8fb2 Add support for glance new location APIs
f6e234e34 Doc: Add doc for replication in OpenStack
787ca3db0 Add testing for optimized volume upload
4e8b26058 mypy: enable strict equality checking
23583d041 mypy: Bump to 1.17.0
44406e57a mypy: Bump to 1.16.1
94c7ca0da RBD unit tests: Set cfg.rados_connect_timeout
d1ef77138 Imported Translations from Zanata
4a7bfc568 Fix volume clone across cluster members
26eae7290 Resolve MovedIn20Warning
27373d61f Update PowerMax driver doc support matrix for Caracal Dalmatian Epoxy
4addad4ba NetApp: iSCSI/FC detach operation fails when multiple initiators connected
c32cf2ff4 Remove Python 3.9 support
a14e59523 [Pure Storage] Fix snapshot replication interval issue
53245bce3 NFS driver: Fix fail to resize NFS volume with snapshots
781668f44 Fix flake8 warnings on flake8-import-order>0.19.0
1ec7b48fd NetApp - Fixed Device busy error when multiple cinder volume clone created in parallel
4b96a9a88 Pin flake8-import-order<0.19.0
c948b22ea Pin flake8_import_order version to <0.19.0
98cd6a30b [Pure Storage] Add FlashArray Volume Tags
fcb18c5c4 [Pure Storage] Fix issue with VLAN LACP bond ports
88d5d18a3 Hitachi: Fix to have compatibility of GAD volumes
9332562ab NetApp NVMe: Update NVMe support matrix update
255ccd6c6 HPE 3par: Ignore duplicate IP in iSCSI/vlan ip
3432c9fbe [Pure Storage] Disable management of secure tenant volumes and snaps
3370f9057 cinder-manage: Use same timestamp for purging deleted rows
e70362570 nfs: minimal mypy coverage
9d424c57d Disable glance secure hash in ceph job
5b6244173 Replace deprecated datetime.utcfromtimestamp()
fd24ee9a9 NetApp NAS: Update NFS online volume extending support matrix update
986929bc9 [Pure Storage] Add capacity based backend QoS options
635bdab2c Remove tags from README
210d48865 NVMe-oF Target: Fix incorrect check for initiator in connector data
931311964 Update python versions for testing
8dbe8b8cd tox: Match doc8 ignore-path with flake8 exclude parameters
294c0bfcf Add group resources for quota syncing
d52e0532f [docs] Extra spaces breaking rst->html rendering
9687fbac7 NFS driver: Fix fail creating volume with multiple snapshots
67b063e92 tgt target: Provide unique scsi_sn and scsi_id
bfc71207d Allow quota sync to actually fix quota issues
dd95e1ad7 [docs] update description of mv 3.46
2b1801f1e Clean up volume_opts
b05608e30 zuul: cinder-plugin-ceph-tempest: raise swap size
bc2c4cc9c [Pure Storage] Fix QoS setting for cloned volumes
ae22195df Fix reimage with snapshot backed image
d6a78f297 Pure Storage - bump version numbers for 2025.2 (Flamingo)
bc5de9942 Imported Translations from Zanata
5c1976dd3 Update master for stable/2025.1
d41586a11 Implements cgroupsv2
3b34d1c87 Lightbits update Qos doc's
5070eeaec [Pure Storage] Fix issue with LACP ports not being identified
d219dffc8 RBD: Correct DEBUG logging in QoS
fcbe82e15 unit tests: address TODO in base test case
b8610a01b Driver assisted migration on retype when it's safe
7d3207649 RBD: Fix upload volume with different format
67ac0fca8 Respond with HTTP 409 on resource conflict
b5ac261e6 Fix type passed to write function during backup restoration
e4341b7ce Use builtin hashlib.md5
6b3b9ccde trivial: Remove trailing spaces, mixed tabs/spaces
4c0d0f8e9 trivial: Enable E275 harder
4aa75984c Fix remaining UUIDWarning
f15994329 QemuImgInfo: Replace remaining usage of human format
7bd72aca3 Speed up starting cinder-backup
2898304b0 [SVf] : Enable support for mirror-pool option for replication volume-type
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 26 +-
README.rst | 6 +-
api-ref/source/v2/qos-specs-v2-qos-specs.inc | 3 +-
api-ref/source/v2/quota-sets.inc | 3 +-
api-ref/source/v2/samples/qos-unset-response.json | 0
.../source/v2/samples/quotas-delete-response.json | 0
...olume-os-migrate_volume_completion-request.json | 2 +-
api-ref/source/v3/attachments.inc | 1 +
api-ref/source/v3/parameters.yaml | 7 +
.../source/v3/samples/volume-detach-request.json | 12 +-
...olume-os-migrate_volume_completion-request.json | 2 +-
.../v3.55/volume-transfers-create-request.json | 8 +-
.../v3.57/volume-transfers-create-request.json | 10 +-
api-ref/source/v3/volumes-v3-volumes.inc | 2 +-
cinder/api/api_utils.py | 6 +-
cinder/api/common.py | 4 +-
cinder/api/contrib/volume_actions.py | 41 +-
cinder/api/openstack/rest_api_version_history.rst | 22 +-
cinder/api/v3/attachments.py | 4 +-
cinder/api/v3/volume_metadata.py | 7 +-
cinder/api/views/limits.py | 6 +-
cinder/backup/api.py | 2 +-
cinder/backup/chunkeddriver.py | 5 +-
cinder/backup/drivers/gcs.py | 4 +-
cinder/backup/drivers/s3.py | 5 +-
cinder/backup/drivers/swift.py | 5 +-
cinder/backup/manager.py | 10 +-
cinder/cmd/backup.py | 4 +-
cinder/cmd/manage.py | 3 +-
cinder/cmd/volume.py | 5 +-
cinder/db/sqlalchemy/api.py | 5 +-
cinder/db/sqlalchemy/models.py | 4 +-
cinder/exception.py | 5 +
cinder/image/accelerator.py | 2 +-
cinder/image/cache.py | 32 +-
cinder/image/glance.py | 147 +++-
cinder/image/image_utils.py | 64 +-
cinder/locale/ja/LC_MESSAGES/cinder.po | 48 +-
cinder/locale/zh_CN/LC_MESSAGES/cinder.po | 30 +-
cinder/opts.py | 5 +
cinder/privsep/cgroup.py | 24 +-
cinder/scheduler/host_manager.py | 4 +-
cinder/ssh_utils.py | 4 +-
.../v3.55/volume-transfers-create-request.json.tpl | 2 +-
.../volume-transfers-create-response.json.tpl | 2 +-
.../v3.55/volume-transfers-show-response.json.tpl | 2 +-
.../v3.57/volume-transfers-create-request.json.tpl | 8 +-
.../volume-transfers-create-response.json.tpl | 8 +-
.../v3.57/volume-transfers-show-response.json.tpl | 8 +-
.../powerflex/mockup/query_sdc_by_id_response.json | 51 ++
.../mockup/query_sdc_instances_response.json | 53 ++
.../mockup/query_sdc_volumes_response.json | 128 +++
.../powerflex/test_attach_detach_volume.py | 7 -
.../powerflex/test_initialize_connection.py | 77 +-
.../test_initialize_connection_snapshot.py | 54 +-
.../dell_emc/powerflex/test_power_flex_client.py | 167 ----
.../dell_emc/powerflex/test_powerflex_client.py | 380 ++++++++
.../volume/drivers/dell_emc/powerflex/test_sdc.py | 281 ++++++
.../drivers/dell_emc/powermax/powermax_data.py | 64 +-
.../dell_emc/powermax/test_powermax_common.py | 52 ++
.../dell_emc/powermax/test_powermax_masking.py | 35 +
.../dell_emc/powermax/test_powermax_nvme_tcp.py | 415 +++++++++
.../dell_emc/powermax/test_powermax_rest.py | 54 +-
.../dell_emc/powermax/test_powermax_utils.py | 3 +
.../drivers/dell_emc/powerstore/test_client.py | 5 +-
.../volume/drivers/dell_emc/powerstore/test_nfs.py | 61 +-
.../powerstore/test_volume_attach_detach.py | 3 +-
.../volume/drivers/dell_emc/vnx/mocked_cinder.yaml | 2 -
.../volume/drivers/dell_emc/vnx/mocked_vnx.yaml | 12 +-
.../drivers/hitachi/test_hitachi_hbsd_mirror_fc.py | 8 +-
.../unit/volume/drivers/ibm/test_storwize_svc.py | 247 +++++-
.../drivers/netapp/dataontap/client/fakes.py | 98 ++-
.../drivers/netapp/dataontap/client/test_api.py | 56 ++
.../netapp/dataontap/client/test_client_cmode.py | 1 +
.../dataontap/client/test_client_cmode_rest.py | 154 +++-
.../client/test_client_cmode_rest_asar2.py | 958 +++++++++++++++++++++
.../unit/volume/drivers/netapp/dataontap/fakes.py | 34 +-
.../drivers/netapp/dataontap/test_block_base.py | 125 ++-
.../drivers/netapp/dataontap/test_block_cmode.py | 68 +-
.../drivers/netapp/dataontap/test_nfs_base.py | 15 +-
.../drivers/netapp/dataontap/test_nfs_cmode.py | 4 +-
.../drivers/netapp/dataontap/test_nvme_library.py | 360 +++++++-
.../volume/drivers/netapp/dataontap/utils/fakes.py | 31 +
.../netapp/dataontap/utils/test_capabilities.py | 50 +-
.../drivers/netapp/dataontap/utils/test_utils.py | 49 +-
.../drivers/nexenta/test_nexenta5_jsonrpc.py | 4 +-
.../volume/drivers/nexenta/test_nexenta5_nfs.py | 4 +-
.../drivers/veritas_access/test_veritas_iscsi.py | 10 +-
.../unit/volume/flows/test_create_volume_flow.py | 18 +-
cinder/volume/api.py | 21 +-
cinder/volume/driver.py | 80 +-
cinder/volume/drivers/datacore/driver.py | 2 +-
cinder/volume/drivers/dell_emc/powerflex/driver.py | 344 +++++---
.../drivers/dell_emc/powerflex/rest_client.py | 122 ++-
cinder/volume/drivers/dell_emc/powermax/common.py | 48 ++
cinder/volume/drivers/dell_emc/powermax/masking.py | 32 +-
cinder/volume/drivers/dell_emc/powermax/nvme.py | 358 ++++++++
.../volume/drivers/dell_emc/powermax/nvme_tcp.py | 218 +++++
cinder/volume/drivers/dell_emc/powermax/rest.py | 85 +-
cinder/volume/drivers/dell_emc/powermax/utils.py | 15 +-
.../fujitsu/eternus_dx/eternus_dx_common.py | 4 +-
cinder/volume/drivers/hedvig/rest_client.py | 2 +-
cinder/volume/drivers/hitachi/hbsd_replication.py | 2 +-
cinder/volume/drivers/hpe/hpe_3par_common.py | 9 +-
cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 30 +-
cinder/volume/drivers/hpe/nimble.py | 2 +-
cinder/volume/drivers/huawei/huawei_utils.py | 10 +-
.../volume/drivers/ibm/storwize_svc/replication.py | 1 +
.../ibm/storwize_svc/storwize_svc_common.py | 382 +++++---
cinder/volume/drivers/kioxia/kumoscale.py | 5 +-
cinder/volume/drivers/netapp/common.py | 1 +
.../volume/drivers/netapp/dataontap/block_base.py | 28 +-
.../volume/drivers/netapp/dataontap/block_cmode.py | 121 ++-
.../volume/drivers/netapp/dataontap/client/api.py | 17 +-
.../drivers/netapp/dataontap/client/client_base.py | 4 +
.../netapp/dataontap/client/client_cmode.py | 3 +-
.../netapp/dataontap/client/client_cmode_rest.py | 92 +-
.../dataontap/client/client_cmode_rest_asar2.py | 321 +++++++
cinder/volume/drivers/netapp/dataontap/nfs_base.py | 10 +-
.../volume/drivers/netapp/dataontap/nvme_cmode.py | 24 +
.../drivers/netapp/dataontap/nvme_library.py | 287 ++++--
.../drivers/netapp/dataontap/utils/capabilities.py | 62 ++
.../volume/drivers/netapp/dataontap/utils/utils.py | 103 ++-
cinder/volume/drivers/netapp/options.py | 23 +-
cinder/volume/drivers/netapp/utils.py | 19 +
cinder/volume/drivers/nexenta/iscsi.py | 8 +-
cinder/volume/drivers/nexenta/nfs.py | 7 +-
cinder/volume/drivers/nexenta/ns5/jsonrpc.py | 4 +-
cinder/volume/drivers/nexenta/ns5/nfs.py | 4 +-
cinder/volume/drivers/nfs.py | 26 +-
cinder/volume/drivers/pure.py | 607 +++++++++++--
cinder/volume/drivers/rbd.py | 57 +-
cinder/volume/drivers/remotefs.py | 12 +-
cinder/volume/drivers/synology/synology_common.py | 4 +-
.../volume/drivers/veritas_access/veritas_iscsi.py | 10 +-
cinder/volume/drivers/windows/smbfs.py | 2 +-
cinder/volume/flows/manager/create_volume.py | 23 +-
cinder/volume/manager.py | 66 +-
cinder/volume/rpcapi.py | 14 +-
cinder/volume/targets/nvmeof.py | 9 +-
cinder/volume/targets/tgt.py | 10 +-
.../drivers/brocade/brcd_fc_zone_client_cli.py | 10 +-
.../drivers/brocade/brcd_http_fc_zone_client.py | 2 +-
.../drivers/cisco/cisco_fc_san_lookup_service.py | 2 +-
.../drivers/cisco/cisco_fc_zone_client_cli.py | 2 +-
.../drivers/dell-emc-powerflex-driver.rst | 4 +
.../drivers/dell-emc-powermax-driver.rst | 85 +-
.../drivers/lightbits-lightos-driver.rst | 17 +
.../drivers/macrosan-storage-driver.rst | 2 +-
.../block-storage/drivers/pure-storage-driver.rst | 15 +
mypy-files.txt | 1 +
pyproject.toml | 3 +
...VMEM-6000-drivers-removed-9b6675ff7ae5f960.yaml | 2 +-
...dd-glance-service-section-3e73daee0e995442.yaml | 22 +
...p_libs_for_asar2_platform-6688b9f811645b96.yaml | 12 +
.../notes/bp-dell-powermax-consistency-exempt.yaml | 15 +
...bp-dell-powermax-nvme-tcp-606b091620685c06.yaml | 4 +
...self-signed-https-support-cb30081d4465acd1.yaml | 18 +
.../notes/bug-1518213-a5bf2ea0d008f329.yaml | 2 +-
...onsistency_group_failures-bb2a976dfe9454a4.yaml | 2 +-
...e_with_mirror_pool_option-83563770463ebbca.yaml | 7 +
...led-during-live-migration-bbd26bb157b076bf.yaml | 50 ++
...-fix-type-passed-during-backup-restoration.yaml | 5 +
...fs-volumes-with-snapshots-e861d69b1ae6f97d.yaml | 7 +
...nitiator-property-missing-db8315541f94447f.yaml | 7 +
...-for-multiattached-volume-7202cecaeed5ecd0.yaml | 8 +
...ign-key-constraint-errors-8a60db1f0158b36e.yaml | 9 +
...vms-creation-device-issue-b9d82f7a826c9f2b.yaml | 8 +
...sable-image-cache-volumes-f87144726a717d28.yaml | 6 +
...x-improve-secret-handling-b1217791a9dceb1a.yaml | 34 +
...iple-initiators-connected-b1069bab32d86027.yaml | 6 +
...p-support-for-nvme-driver-102c67c706afc25c.yaml | 7 +
...netapp-iscsi-nvme-drivers-79da99111b086161.yaml | 24 +
...n-for-flexgroup-pool-zapi-4a6af85888a99a02.yaml | 14 +
releasenotes/notes/cgroupsv2-75476a8e1ea88b5f.yaml | 5 +
.../cinder_backend_aa_glance-300c8e087c8cf192.yaml | 6 +
.../fix-500-http-error-on-resource-conflict.yaml | 8 +
...r-manage-groups-quota-bug-421ae9c9eb99b22f.yaml | 6 +
...ge-replicated-multiattach-9bc258d349e0f5a6.yaml | 7 +
...-nfs-optimized-create-vol-9eb43f2050bba74a.yaml | 6 +
...fix-nfs-vol-from-snapshot-654a07d25a33bf7d.yaml | 8 +
...ix-rbd-upload-diff-format-38fc4ef24d7145ba.yaml | 7 +
.../fix-reimage-image-snap-15ecd5fce9973d5d.yaml | 5 +
.../notes/get-driver-opts-924f72346ca1e459.yaml | 4 +-
...fix-gad-vol-compatibility-e9c62c18f7a12bc7.yaml | 14 +
...as-deprecate-iscsi-driver-cd521b3a2ba948f3.yaml | 2 +-
...de-changes-for-wsapi-2025-75a9fda5d994504c.yaml | 4 +
...-3par-ignore-duplicate-ip-7e67260ee1cab40e.yaml | 5 +
...ities-report-optimization-d1c18d9f62ef71aa.yaml | 2 +-
...for-temporary-volumegroup-3db871245b864a52.yaml | 11 +
...gregated-platform-support-a1b2c3d4e5f6g7h8.yaml | 46 +
...app-nvme-in-use-expansion-d11f03fb64050145.yaml | 14 +
.../pure_consistent_hostname-419f9c31cb77e16d.yaml | 5 +
.../notes/pure_eg1_dr-f08544454cfd105e.yaml | 7 +
.../notes/pure_fix_clone_qos-4b80be464b506e4c.yaml | 7 +
...pure_fix_replica_interval-917cd01f23ac45cc.yaml | 7 +
.../notes/pure_lacp_iscsi-34678bdb98fa6bab.yaml | 7 +
.../pure_manage_quota_delete-dd24495e883498e7.yaml | 6 +
.../notes/pure_per_gb_qos-0b96279d615b81a1.yaml | 7 +
.../pure_realm_manage_fix-eb5fe76e7c55297d.yaml | 5 +
.../pure_reconnect_failure-7bbc135eecc77695.yaml | 7 +
.../pure_retype_sync_support-fe72a726f83cb063.yaml | 10 +
.../notes/pure_vlan_lacp-d58f141282efb723.yaml | 6 +
.../notes/pure_vol_tags-a2efbd9909697771.yaml | 5 +
.../notes/remove-py39-7c8a2397befd6ecc.yaml | 5 +
...retype-assisted-migration-6cdc7f9b21beb859.yaml | 7 +
...up-starting-cinder-backup-76c1618b4cdb9d6e.yaml | 10 +
releasenotes/source/2025.1.rst | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 57 +-
.../source/locale/ja/LC_MESSAGES/releasenotes.po | 16 +-
releasenotes/source/ocata.rst | 2 +-
requirements.txt | 2 +-
setup.cfg | 5 +-
test-requirements.txt | 4 +-
tools/config/generate_cinder_opts.py | 3 +
tools/fast8.sh | 2 +-
tox.ini | 6 +-
244 files changed, 10066 insertions(+), 1538 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index aa80ce097..0f9126073 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -19 +19 @@ oslo.log>=4.6.1 # Apache-2.0
-oslo.messaging>=14.1.0 # Apache-2.0
+oslo.messaging>=14.6.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 0b0e20c6d..ca9e79286 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +7 @@ hacking>=7.0.0,<7.1.0 # Apache-2.0
-flake8-import-order # LGPLv3
+flake8-import-order<0.19.0 # LGPLv3
@@ -21 +21 @@ doc8>=0.8.1 # Apache-2.0
-mypy>=1.7.0,<1.16.0 # MIT
+mypy>=1.7.0,<1.18.0 # MIT
1
0
We enthusiastically announce the release of:
cloudkitty-dashboard 21.0.0
This release is part of the flamingo release series.
The source is available from:
https://opendev.org/openstack/cloudkitty-dashboard
Download the package from:
https://pypi.org/project/cloudkitty-dashboard
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/cloudkitty-
dashboard
For more details, please see below.
Changes in cloudkitty-dashboard 20.0.0..21.0.0
----------------------------------------------
a9040c4 Imported Translations from Zanata
aadea82 Imported Translations from Zanata
7b67328 Imported Translations from Zanata
23e9212 Imported Translations from Zanata
19b634d Fix small mistake in text
46dbeeb Imported Translations from Zanata
76884ef Remove unicode prefix from code
a9ed2c5 Remove Python 3.8 and 3.9 support
7f6d368 Update master for stable/2025.1
Diffstat (except docs and test files)
-------------------------------------
cloudkittydashboard/api/cloudkitty.py | 1 -
.../dashboards/admin/hashmap/tables.py | 48 +-
.../dashboards/admin/modules/tables.py | 16 +-
.../dashboards/admin/pyscripts/tables.py | 8 +-
.../dashboards/admin/summary/tables.py | 2 +-
.../summary/templates/rating_summary/details.html | 4 +-
.../locale/en_GB/LC_MESSAGES/django.po | 8 +-
.../locale/ru/LC_MESSAGES/django.po | 544 +++++++++++++++++++++
cloudkittydashboard/utils.py | 1 -
releasenotes/notes/drop-python-38-and-39.yaml | 4 +
releasenotes/source/2025.1.rst | 6 +
releasenotes/source/conf.py | 2 -
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 10 +-
.../source/locale/ru/LC_MESSAGES/releasenotes.po | 223 +++++++++
setup.cfg | 10 +-
20 files changed, 828 insertions(+), 68 deletions(-)
1
0