Release-announce
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- 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
April 2025
- 1 participants
- 131 discussions
We eagerly announce the release of:
mistral-dashboard 20.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/mistral-dashboard
Download the package from:
https://pypi.org/project/mistral-dashboard
Please report issues through:
https://bugs.launchpad.net/mistral/+bugs
For more details, please see below.
Changes in mistral-dashboard 19.0.0..20.0.0
-------------------------------------------
5e3e024 Skip installation to speed up pep8
14ec278 reno: Update master for unmaintained/2023.1
a7e82df Changed minversion in tox to 3.18.0
cba5123 docs: Fix inconsistent format of commands
5bf5327 Add missing core job templates
5646195 Bump hacking
94db2f2 Update master for stable/2023.2
8f705c6 Update master for stable/2023.1
f81df69 Update master for stable/2024.2
dcf8c11 reno: Update master for unmaintained/zed
ad1f794 Replace retired oslosphinx
92d8e99 reno: Update master for unmaintained/xena
db1a2cb reno: Update master for unmaintained/wallaby
c905684 reno: Update master for unmaintained/victoria
ed3478b reno: Update master for unmaintained/yoga
e4dcb3f Update the workflow language syntax documentation url
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 6 ++++--
README.rst | 22 +++++++++++++++++-----
mistraldashboard/cron_triggers/forms.py | 8 ++++----
.../templates/workflows/_select_definition.html | 2 +-
releasenotes/source/2023.1.rst | 6 ++++++
releasenotes/source/2023.2.rst | 6 ++++++
releasenotes/source/2024.2.rst | 6 ++++++
releasenotes/source/conf.py | 7 ++-----
releasenotes/source/index.rst | 3 +++
releasenotes/source/victoria.rst | 2 +-
releasenotes/source/wallaby.rst | 2 +-
releasenotes/source/xena.rst | 2 +-
releasenotes/source/yoga.rst | 2 +-
releasenotes/source/zed.rst | 2 +-
test-requirements.txt | 7 +------
tox.ini | 11 +++++++----
19 files changed, 66 insertions(+), 36 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 02499b8..9bebdfc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,6 +1 @@
-# 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.
-
-# hacking should appear first in case something else depends on pep8
-hacking>=4.0.0,<4.1.0 # Apache-2.0
+hacking>=6.1.0,<6.2.0 # Apache-2.0
1
0
We are ecstatic to announce the release of:
nova 31.0.0
This release is part of the epoxy 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 30.0.0..31.0.0
------------------------------
8197f7d5a6 Add Epoxy prelude section
0d484ce37d Add service version for Epoxy
a1a118c9f0 Update compute rpc alias for epoxy
4a5e67cff7 doc: mark the maximum microversion for 2025.1 Epoxy
0954ec9e5c Don't calculate the minimum compute version repeatedly.
bf8883ca3b Fix serial console for ironic
244f9b0ad1 api: Address TODO in microversion v2.99
244ff89060 tests: Filter out eventlet deprecation warnings
8f6b14bada api: project/tenant and user IDs are not UUIDs
401ca73c26 api: Add response body schemas for for console auth token APIs (v2.99)
fd656f3943 Update driver to map the targeted address for SR-IOV PCI devices
b227efd967 Update libvirt fixtures to support hostdevs
099859ecf0 Update conductor and filters allowing migration with SR-IOV devices
34f905a8e7 Update manager to allow vfio pci device live migration
f9c5f50376 Add live_migratable flag to PCI device specification
07f54bfced Augment the LiveMigrateData object
03915cd59d Update driver to deal with managed flag
7a00971b8f Fix microversion 2.98 doc/tests for update/rebuild APIs
f9e89bc0d1 Fix microversion 2.96 for update/rebuild APIs
4aab14a09f libvirt: Add new option to enforce multipath volume connections
f7d99623ed Bump MIN_{LIBVIRT,QEMU} for "Epoxy"
5f6ff008c3 libvirt: fix maxphysaddr passthrough dom parsing
2db8af71dd Add support for showing scheduler_hints in server details
12905dade3 Add managed flag to PCI device specification
cbc263f6bc libvirt: allow direct SPICE connections to qemu
d8e95078cd libvirt: direct SPICE console database changes
253dfc76eb libvirt: direct SPICE console object changes
2c07aa0645 libvirt: Fix regression of listDevices() return type
3cf6667c50 Reproducer for bug 2098892
08cbf0f4b1 FUP for reno issues
7388362f28 Per-Property ImageMetaPropsWeigher
acd6c733c6 Add a new ImagePropertiesWeigher
d4f40976d0 move nova-ovs-hybrid-plug to deploy with spice and fix qxl default
420050cf33 Add fill_metadata() to InstanceList
9b9534c2f2 Add unit test coverage of get_machine_ips
46435daf5c Drop dependency on netifaces
9507b7b92f Update InstanceNUMACell version in more cases
05c6b6cdbb Add support for showing image properties in server show response
5635095bd2 Replace oslo_utils.encodeutils.exception_to_unicode
c161914a4a Bump os-traits to 3.3.0 in requirements
643a6a8a57 Update InstanceNUMACell version after data migration
e98393c5c2 allow discover host to be enabled in multiple schedulers
a458033568 Fix parameter order in add_instance_info_to_node
b3f8815720 Disable the heal instance info cache periodic task
bb8ee15106 Cleanup RBAC jobs in check/gate pipeline
b8b11c69bd [Trivial] Fix the typo error
ae2f9bd573 Reproduce bug/2097359
6ebd8a56d1 ironic: Fix ConflictException when deleting server
41a8a6ff82 trivial: Remove legacy API artifact
97ca3204ad api: Allow min/max_version arguments to response
06e1353334 api: Allow min/max_version arguments to expected_errors
96a5c21f24 Fix device type when booting from ISO image
6f537e756b Restore nova.virt.__init__
cd9ba75b9a Correctly patch get_by_flavor_id
9851a80ed3 Switch to using oslo.utils secretutils
466156c3d5 Add ServersViewBuilderTestV296 unit test class
f304b9eaad libvirt: Wrap un-proxied listDevices() and listAllDevices()
26d174b65d Run nova-next without periodic cache healing
a67ab85678 Revert "libvirt: Wrap un-proxied listDevices() and listAllDevices()"
9c8f1bcf41 Drop environment for Python 3.8
37e3d960f4 api-ref: Update note on flavor disabled property
d94a9925a7 doc: Use dnf instead of yum
b063728254 Respect supplied arguments in novncproxy_base_url
2c8400043d Allow hyphen in cinder catalog_info service-type
71e644764c Refactor response schemas for share API
b27447d55d Fix unit tests on macOS
168974ef0f Adapt tests to new messages from jsonschema 4.23.0
0c14daf763 Drop compatibility code for Windows
7b22a0af03 Drop unused decoding of xml content
15dccaeed3 Update Nova bdm with updated swap info
115c9b685f Update contributor process documentation
ca58f33da2 Replace deprecated FormatChecker.cls_checks
0fccb365dd libvirt: Wrap un-proxied listDevices() and listAllDevices()
838706ded9 Deprecate [wsgi] secure_proxy_ssl_header
5e6474dc97 Refactor test_server_shares: Mock in Base Class and trait verification
73a7c1b295 Manila shares admin guide documentation
1f756657d8 Add virt/libvirt error test cases
a34103c53f Add libvirt test to ensure metadata are working.
57d96c265b Reports instance events to the DB regarding attaching and detaching a share
7dfb15235e Add instance.share_detach_error notification
9f8b05fd90 Add instance.share_attach_error notification
bf96ca7c9a Add shares to InstancePayload
13d45b6d37 Add instance.share_detach notification
320dca5391 Add instance.share_attach notification
bef088040d Add helper methods to attach/detach shares
5e508a09b3 Attach Manila shares via virtiofs (API)
d6f5a30caa Check shares support (compute manager)
cee77d87f3 Allow to mount manila share using Cephfs protocol
19bf42a582 Support rescuing an instance with shares
f8810b4347 Add helper methods to rescue/unrescue shares
8ab51e4422 Support resuming an instance with shares (compute manager part)
dcb9f4a94d Add share_info parameter to resume method for each driver (driver part)
3ef78478bc Support rebooting an instance with shares (compute manager part)
7baf901fd2 Add share_info parameter to reboot method for each driver (driver part)
fa9883e6f2 api: Remove use of microversion constants
62e9484a8d docs: Add contributor docs for response body validation
873c48c33f api: Add response body schemas for floating IP pool APIs
4404790656 api: Add response body schemas for flavors APIs
807cf3fa84 api: Add response body schemas for flavor extra specs APIs
5cd01e9ec4 api: Add response body schemas for flavor access API
7fff76aca3 api: Add response body schemas for console auth token APIs
52e00f8db9 api: Add response body schemas for bare metal node APIs
7f56f09c21 api: Add response body schemas for availability zone APIs
af537d8b3a api: Add response body schemas for port interface APIs
ef2a17c78e Replace distutils
277d98433c api: Add response body schemas for assisted volume snapshots APIs
fde3f5cce6 api: Add response body schemas for versions APIs
9797183494 api: Add response body schemas for extensions API
14bb8ff237 api: Add response body schemas for host aggregate APIs
eec975c063 api: Add response body schemas for host aggregate actions API
b967f2a693 api: Add response body schemas for remaining server action APIs
fd5b692905 Add [quota]unified_limits_resource_(strategy|list)
5bc088de0d Add metadata for shares
9ea6063ea8 Deletion of associated share mappings on instance deletion
3f3018cde7 Mounting the shares as part of the initialization process
2f0fc21d2a Attach Manila shares via virtiofs (drivers and compute manager part)
bee0a5c54a Use client token when talking to manila
0f9001f06e Attach Manila shares via virtiofs (manila abstraction)
908d9263ee api: Add response body schemas for server action APIs
1d43a61167 Improve heal_instance_info_cache periodic
bb247ef96b Amend DB model add a unique constraint.
aea56e9bcc Amend ShareMappingStatus due to asynchronous call
294e21c803 nova-manage: Add flavor scanning to migrate_to_unified_limits
ac48ebd08a zuul: Add missing context comments for nova-next
5e23567707 Fix typo in release note
3abab88784 Update gate jobs as per the 2025.1 cycle testing runtime
ce045b9723 Remove default override for config options policy_file
5827c01246 Revert "[libvirt] Live migration fails when config_drive_format=iso9660"
55f5b175ba Fix add/remove SecurityGroup action json schemas
b476f0c615 Skip functional tests on pre-commit config update
0254e5da7d Drop remaining logic for websockify < 0.9.0
507c6c1113 Handle iso+gpt detections
2c76fd3baf Route shared storage RPC to evac dest at startup
1d6c80bfe6 Reproduce bug 2085975 in functional
f97d674d08 [doc]Developer doc about PCI and SRIOV testing
df4cb00b71 [doc]Add `socket` option to [pci]alias numa_policy
07295b0f99 [libvirt]Support hw_vif_model = igb
638efe3cd5 [ovo]Add igb value to hw_vif_model image property
b36b7b3a66 Refactor obj_make_compatible to reduce complexity
877e449a11 Add whitebox-devstack-multinode job to periodic
9db3eba813 Fix detaching devices by alias with mdevs
7941533107 Add repoducer test for bug 2074219
957141a2ca pre-commit: Bump versions
0db5dbc8ab [codespell] Fixes for latest version
72e60b5a28 Clean up the remaining logic for Windows OS Support
7344a87bdf Revert "Test live migration between hosts with differnet cpu_shared_sets"
cec149be9d Update contributor guide for 2025.1 Epoxy
818b0da7a8 libvirt: Deprecate volume driver for unsupported volume backends
14b5232e12 Drop usage of pkg_resources
6167600e76 Imported Translations from Zanata
4f587a58fa VMware: updates resource provider trait list
95bde8b956 Support creating servers with RBAC SGs
be4f4133a0 docs: Remove unused sphinx deps
ab18f3763c Libvirt: updates resource provider trait list
9136c74565 Fix broken link
fca941adb7 [doc]Fix the device_spec config doc about placement
aa943fcb29 Replace deprecated constant_time_compare
91596bef6b Remove Python 3.8 support
e28f90866b Fix image format error on vol-backed snapshot
cd980cdd1e Remove workaround for eventlet < 0.27.0
8c1a47c9cf Support os-brick specific lock_path
6fb1997def Update master for stable/2024.2
f358a87417 Drop SQLALCHEMY_WARN_20
109647c049 [tox] add LOCALE_ARCHIVE to passenv
6a3ca95a36 Vmware: Remove uuid parameter from get_vmdk_info call
76c10acb33 docs: Show the recommended way to PXE boot an instance
585c579498 docs: Change note:: to warning:: for service user token
3395484105 Adding sysctl changes for post-copy migration
b4418001e1 Rephrase the help message
866f2a8563 docs: Correct unified limits CLI commands
a8cfa5abc1 Update api-ref for 2.95: evacuate to STOPPED
75c75305ca Fix the command to list hw_machine_type unset instances
a87b80fb39 Fix bug 2000069
c5b122f021 Modify the url of openstack client commands.
6d3349dda5 db: Retrieve VirtualInterface objects by UUID, not address
Diffstat (except docs and test files)
-------------------------------------
.pre-commit-config.yaml | 21 +-
.zuul.yaml | 100 +-
README.rst | 3 +
api-ref/source/index.rst | 1 +
api-ref/source/os-server-shares.inc | 163 ++
api-ref/source/parameters.yaml | 90 +-
api-ref/source/servers-action-evacuate.inc | 5 +
api-ref/source/servers-actions.inc | 17 +
api-ref/source/servers-remote-consoles.inc | 21 +
api-ref/source/servers.inc | 33 +
.../flavor-access-add-tenant-resp.json | 2 +-
.../flavor-access/flavor-access-list-resp.json | 2 +-
.../v2.99/create-spice-direct-console-req.json | 6 +
.../v2.99/get-console-connect-info-get-resp.json | 9 +
.../v2.99/create-spice-direct-console-req.json | 6 +
.../v2.99/create-spice-direct-console-resp.json | 8 +
.../v2.97/server-shares-admin-create-resp.json | 9 +
.../v2.97/server-shares-admin-show-resp.json | 9 +
.../v2.97/server-shares-create-req.json | 6 +
.../v2.97/server-shares-create-resp.json | 7 +
.../v2.97/server-shares-list-resp.json | 9 +
.../v2.97/server-shares-show-resp.json | 7 +
.../servers/v2.100/server-action-rebuild-resp.json | 97 +
.../servers/v2.100/server-create-resp.json | 22 +
.../servers/v2.100/server-get-resp.json | 98 +
.../servers/v2.100/server-update-req.json | 8 +
.../servers/v2.100/server-update-resp.json | 95 +
.../servers/v2.100/servers-details-resp.json | 105 ++
.../servers/v2.100/servers-list-resp.json | 24 +
.../servers/v2.96/server-action-rebuild-resp.json | 81 +
.../servers/v2.96/server-action-rebuild.json | 15 +
.../servers/v2.96/server-update-req.json | 8 +
.../servers/v2.96/server-update-resp.json | 79 +
.../servers/v2.98/server-action-rebuild-resp.json | 92 +
.../servers/v2.98/server-action-rebuild.json | 15 +
.../servers/v2.98/server-update-req.json | 8 +
.../servers/v2.98/server-update-resp.json | 90 +
.../servers/v2.98/servers-details-resp.json | 100 +
.../servers/v2.98/servers-list-resp.json | 24 +
.../common_payloads/ImageMetaPropsPayload.json | 2 +-
.../common_payloads/InstanceActionPayload.json | 2 +-
.../InstanceActionPayloadShareActive.json | 9 +
.../InstanceActionPayloadShareInactive.json | 9 +
.../InstanceActionRebuildPayload.json | 19 +-
.../InstanceActionRescuePayload.json | 12 +-
.../InstanceActionResizePrepPayload.json | 54 +-
.../InstanceActionSharePayload.json | 9 +
.../InstanceActionSnapshotPayload.json | 14 +-
.../InstanceActionVolumePayload.json | 16 +-
.../InstanceActionVolumeSwapPayload.json | 2 +-
.../common_payloads/InstanceCreatePayload.json | 49 +-
.../common_payloads/InstanceExistsPayload.json | 12 +-
.../common_payloads/InstancePayload.json | 5 +-
.../InstancePayloadShareActive.json | 57 +
.../InstancePayloadShareInactive.json | 57 +
.../common_payloads/InstanceUpdatePayload.json | 58 +-
.../common_payloads/ShareActivePayload.json | 12 +
.../common_payloads/ShareInactivePayload.json | 12 +
.../instance-power_on_share-end.json | 8 +
.../instance-power_on_share-start.json | 13 +
.../instance-share_attach-end.json | 8 +
.../instance-share_attach-error.json | 22 +
.../instance-share_attach-start.json | 8 +
.../instance-share_detach-end.json | 8 +
.../instance-share_detach-error.json | 22 +
.../instance-share_detach-start.json | 8 +
.../admin/configuration/service-user-token.rst | 10 +-
.../contributor/testing/pci-passthrough-sriov.rst | 65 +
.../reference/libvirt-distro-support-matrix.rst | 67 +-
etc/nova/nova-config-generator.conf | 1 +
gate/post_test_hook.sh | 99 +
nova/api/metadata/base.py | 8 +
nova/api/metadata/handler.py | 3 +-
nova/api/openstack/api_version_request.py | 21 +-
nova/api/openstack/compute/admin_actions.py | 12 +-
nova/api/openstack/compute/admin_password.py | 5 +-
nova/api/openstack/compute/aggregates.py | 39 +-
.../openstack/compute/assisted_volume_snapshots.py | 16 +-
nova/api/openstack/compute/attach_interfaces.py | 17 +-
nova/api/openstack/compute/availability_zone.py | 2 +
nova/api/openstack/compute/baremetal_nodes.py | 19 +-
nova/api/openstack/compute/console_auth_tokens.py | 38 +-
nova/api/openstack/compute/console_output.py | 5 +-
nova/api/openstack/compute/create_backup.py | 12 +-
nova/api/openstack/compute/deferred_delete.py | 2 +
nova/api/openstack/compute/evacuate.py | 14 +-
nova/api/openstack/compute/extension_info.py | 2 +
nova/api/openstack/compute/fixed_ips.py | 8 +-
nova/api/openstack/compute/flavor_access.py | 3 +
nova/api/openstack/compute/flavors.py | 37 +-
nova/api/openstack/compute/flavors_extraspecs.py | 5 +
nova/api/openstack/compute/floating_ip_pools.py | 1 +
nova/api/openstack/compute/floating_ips.py | 2 +
nova/api/openstack/compute/hypervisors.py | 26 +-
nova/api/openstack/compute/lock_server.py | 2 +
nova/api/openstack/compute/migrate_server.py | 24 +-
nova/api/openstack/compute/multinic.py | 8 +-
nova/api/openstack/compute/pause_server.py | 2 +
nova/api/openstack/compute/remote_consoles.py | 18 +-
nova/api/openstack/compute/rescue.py | 8 +-
.../openstack/compute/rest_api_version_history.rst | 49 +-
nova/api/openstack/compute/routes.py | 11 +
.../api/openstack/compute/schemas/admin_actions.py | 8 +
.../openstack/compute/schemas/admin_password.py | 4 +
.../openstack/compute/schemas/aggregate_images.py | 6 +-
nova/api/openstack/compute/schemas/aggregates.py | 139 +-
.../compute/schemas/assisted_volume_snapshots.py | 23 +-
.../openstack/compute/schemas/attach_interfaces.py | 78 +-
.../openstack/compute/schemas/availability_zone.py | 58 +
.../openstack/compute/schemas/baremetal_nodes.py | 75 +
.../compute/schemas/console_auth_tokens.py | 42 +-
.../openstack/compute/schemas/console_output.py | 9 +
.../api/openstack/compute/schemas/create_backup.py | 18 +-
.../openstack/compute/schemas/deferred_delete.py | 8 +
nova/api/openstack/compute/schemas/evacuate.py | 25 +-
.../openstack/compute/schemas/extension_info.py | 52 +
.../api/openstack/compute/schemas/flavor_access.py | 32 +-
nova/api/openstack/compute/schemas/flavors.py | 203 +-
.../compute/schemas/flavors_extraspecs.py | 45 +-
.../openstack/compute/schemas/floating_ip_pools.py | 19 +
nova/api/openstack/compute/schemas/floating_ips.py | 8 +
nova/api/openstack/compute/schemas/lock_server.py | 8 +
.../openstack/compute/schemas/migrate_server.py | 16 +-
nova/api/openstack/compute/schemas/multinic.py | 9 +-
nova/api/openstack/compute/schemas/pause_server.py | 8 +
.../openstack/compute/schemas/remote_consoles.py | 99 +
nova/api/openstack/compute/schemas/rescue.py | 14 +
.../openstack/compute/schemas/security_groups.py | 40 +-
.../openstack/compute/schemas/server_migrations.py | 4 +
.../api/openstack/compute/schemas/server_shares.py | 87 +
nova/api/openstack/compute/schemas/servers.py | 574 +++++-
nova/api/openstack/compute/schemas/shelve.py | 12 +
.../openstack/compute/schemas/suspend_server.py | 8 +
nova/api/openstack/compute/schemas/versions.py | 107 ++
nova/api/openstack/compute/security_groups.py | 10 +-
nova/api/openstack/compute/server_groups.py | 11 +-
nova/api/openstack/compute/server_migrations.py | 9 +-
nova/api/openstack/compute/server_shares.py | 262 +++
nova/api/openstack/compute/servers.py | 148 +-
nova/api/openstack/compute/services.py | 18 +-
nova/api/openstack/compute/shelve.py | 7 +
nova/api/openstack/compute/suspend_server.py | 6 +
nova/api/openstack/compute/versions.py | 5 +
nova/api/openstack/compute/versionsV21.py | 1 +
nova/api/openstack/compute/views/server_shares.py | 46 +
nova/api/openstack/compute/views/servers.py | 79 +-
nova/api/openstack/wsgi.py | 68 +-
nova/api/validation/parameter_types.py | 23 +
nova/api/validation/validators.py | 73 +-
nova/cmd/compute.py | 2 +
nova/cmd/manage.py | 207 ++-
nova/compute/api.py | 105 +-
nova/compute/instance_actions.py | 2 +
nova/compute/manager.py | 682 ++++++-
nova/compute/resource_tracker.py | 2 +-
nova/compute/rpcapi.py | 34 +
nova/compute/utils.py | 64 +-
nova/conductor/tasks/live_migrate.py | 36 +-
nova/conf/__init__.py | 2 +
nova/conf/cinder.py | 2 +-
nova/conf/compute.py | 27 +-
nova/conf/console.py | 2 +-
nova/conf/keystone.py | 2 +-
nova/conf/libvirt.py | 85 +
nova/conf/manila.py | 58 +
nova/conf/netconf.py | 15 +
nova/conf/notifications.py | 9 +
nova/conf/pci.py | 98 +-
nova/conf/quota.py | 110 ++
nova/conf/scheduler.py | 91 +
nova/conf/spice.py | 18 +-
nova/conf/vnc.py | 4 +
nova/conf/wsgi.py | 6 +
nova/config.py | 5 -
nova/console/websocketproxy.py | 5 +-
nova/context.py | 2 +-
nova/crypto.py | 4 +-
nova/db/main/api.py | 16 +-
...cd72dc14_add_tls_port_to_console_auth_tokens.py | 33 +
...df7a903_add_constraint_instance_share_avoid_.py | 75 +
nova/db/main/models.py | 11 +
nova/exception.py | 85 +
nova/image/glance.py | 13 +-
nova/limit/local.py | 14 +-
nova/limit/placement.py | 25 +-
nova/limit/utils.py | 114 ++
nova/locale/cs/LC_MESSAGES/nova.po | 43 +-
nova/locale/de/LC_MESSAGES/nova.po | 44 +-
nova/locale/es/LC_MESSAGES/nova.po | 43 +-
nova/locale/fr/LC_MESSAGES/nova.po | 45 +-
nova/locale/it/LC_MESSAGES/nova.po | 44 +-
nova/locale/ja/LC_MESSAGES/nova.po | 42 +-
nova/locale/ko_KR/LC_MESSAGES/nova.po | 42 +-
nova/locale/pt_BR/LC_MESSAGES/nova.po | 43 +-
nova/locale/ru/LC_MESSAGES/nova.po | 69 +-
nova/locale/tr_TR/LC_MESSAGES/nova.po | 34 +-
nova/locale/zh_CN/LC_MESSAGES/nova.po | 43 +-
nova/locale/zh_TW/LC_MESSAGES/nova.po | 40 +-
nova/monkey_patch.py | 11 -
nova/network/constants.py | 1 +
nova/network/model.py | 2 +
nova/network/neutron.py | 111 +-
nova/notifications/objects/base.py | 4 +-
nova/notifications/objects/image.py | 3 +-
nova/notifications/objects/instance.py | 114 +-
nova/objects/base.py | 10 +
nova/objects/console_auth_token.py | 20 +-
nova/objects/fields.py | 12 +-
nova/objects/host_mapping.py | 4 +-
nova/objects/image_meta.py | 63 +-
nova/objects/instance.py | 24 +
nova/objects/instance_numa.py | 88 +-
nova/objects/instance_pci_requests.py | 18 +
nova/objects/migrate_data.py | 25 +-
nova/objects/pci_device.py | 32 +-
nova/objects/service.py | 7 +-
nova/objects/share_mapping.py | 96 +-
nova/objects/virt_device_metadata.py | 10 +
nova/objects/virtual_interface.py | 2 +-
nova/pci/devspec.py | 22 +
nova/pci/manager.py | 7 +-
nova/pci/request.py | 13 +
nova/pci/stats.py | 42 +
nova/pci/whitelist.py | 13 +-
nova/policies/__init__.py | 2 +
nova/policies/remote_consoles.py | 2 +-
nova/policies/server_shares.py | 70 +
nova/policy.py | 9 -
nova/privsep/fs.py | 5 +-
nova/quota.py | 2 +-
nova/scheduler/client/report.py | 6 +-
nova/scheduler/filters/image_props_filter.py | 6 +-
nova/scheduler/manager.py | 18 +-
nova/scheduler/weights/image_props.py | 101 +
nova/share/__init__.py | 0
nova/share/manila.py | 354 ++++
nova/test.py | 14 +-
.../flavor-access/flavor-access-list-resp.json.tpl | 2 +-
.../v2.99/create-spice-direct-console-req.json.tpl | 6 +
.../get-console-connect-info-get-resp.json.tpl | 9 +
.../v2.99/create-spice-direct-console-req.json.tpl | 7 +
.../create-spice-direct-console-resp.json.tpl | 8 +
.../v2.97/server-shares-admin-create-resp.json.tpl | 10 +
.../v2.97/server-shares-admin-show-resp.json.tpl | 10 +
.../v2.97/server-shares-create-req.json.tpl | 5 +
.../v2.97/server-shares-create-resp.json.tpl | 8 +
.../v2.97/server-shares-create-tag-req.json.tpl | 6 +
.../v2.97/server-shares-delete-req.json.tpl | 1 +
.../v2.97/server-shares-list-resp.json.tpl | 9 +
.../v2.97/server-shares-show-resp.json.tpl | 8 +
.../v2.100/server-action-rebuild-resp.json.tpl | 97 +
.../servers/v2.100/server-action-rebuild.json.tpl | 15 +
.../servers/v2.100/server-create-req.json.tpl | 25 +
.../{v2.96 => v2.100}/server-create-resp.json.tpl | 0
.../servers/v2.100/server-get-resp.json.tpl | 99 +
.../servers/v2.100/server-list-resp.json.tpl | 25 +
.../servers/v2.100/server-update-req.json.tpl | 8 +
.../servers/v2.100/server-update-resp.json.tpl | 95 +
.../servers/v2.100/servers-details-resp.json.tpl | 106 ++
.../servers/v2.100/servers-list-resp.json.tpl | 24 +
.../v2.96/server-action-rebuild-resp.json.tpl | 81 +
.../servers/v2.96/server-action-rebuild.json.tpl | 15 +
.../servers/v2.96/server-update-req.json.tpl | 8 +
.../servers/v2.96/server-update-resp.json.tpl | 79 +
.../v2.98/server-action-rebuild-resp.json.tpl | 93 +
.../servers/v2.98/server-action-rebuild.json.tpl | 15 +
.../{v2.96 => v2.98}/server-create-req.json.tpl | 0
.../servers/v2.98/server-create-resp.json.tpl | 22 +
.../servers/v2.98/server-details-resp.json.tpl | 93 +
.../servers/v2.98/server-get-resp.json.tpl | 95 +
.../servers/v2.98/server-list-resp.json.tpl | 25 +
.../servers/v2.98/server-update-req.json.tpl | 8 +
.../servers/v2.98/server-update-resp.json.tpl | 90 +
.../servers/v2.98/servers-details-resp.json.tpl | 102 +
.../servers/v2.98/servers-list-resp.json.tpl | 24 +
.../functional/libvirt/test_numa_live_migration.py | 2 +-
.../functional/libvirt/test_pci_sriov_servers.py | 1172 +++++++++++-
.../functional/regressions/test_bug_1890244.py | 2 +-
.../functional/regressions/test_bug_1995153.py | 4 +-
.../functional/regressions/test_bug_2062425.py | 22 +-
.../{test_bug_1951656.py => test_bug_2074219.py} | 37 +-
.../functional/regressions/test_bug_2085975.py | 131 ++
.../functional/regressions/test_bug_2098892.py | 52 +
.../functional/regressions/test_bug_2143972.py | 15 +-
.../openstack/compute/admin_only_action_common.py | 9 +-
.../api/openstack/compute/test_admin_actions.py | 13 +-
.../api/openstack/compute/test_admin_password.py | 10 +-
.../unit/api/openstack/compute/test_aggregates.py | 44 +-
.../openstack/compute/test_attach_interfaces.py | 31 +-
.../api/openstack/compute/test_baremetal_nodes.py | 38 +-
.../api/openstack/compute/test_cloudpipe_update.py | 3 -
.../openstack/compute/test_console_auth_tokens.py | 71 +-
.../api/openstack/compute/test_create_backup.py | 28 +-
.../api/openstack/compute/test_deferred_delete.py | 8 +-
.../api/openstack/compute/test_flavor_access.py | 65 +-
.../api/openstack/compute/test_flavor_manage.py | 7 +-
...s_extra_specs.py => test_flavors_extraspecs.py} | 0
.../unit/api/openstack/compute/test_hypervisors.py | 2 +-
.../unit/api/openstack/compute/test_images.py | 10 +-
.../unit/api/openstack/compute/test_keypairs.py | 14 +-
.../unit/api/openstack/compute/test_lock_server.py | 16 +-
.../api/openstack/compute/test_migrate_server.py | 40 +-
.../unit/api/openstack/compute/test_networks.py | 3 -
.../api/openstack/compute/test_pause_server.py | 15 +-
.../unit/api/openstack/compute/test_quotas.py | 13 +-
.../api/openstack/compute/test_remote_consoles.py | 47 +-
.../unit/api/openstack/compute/test_rescue.py | 4 +-
.../api/openstack/compute/test_security_groups.py | 8 +-
.../api/openstack/compute/test_server_actions.py | 40 +-
.../openstack/compute/test_server_group_quotas.py | 21 +-
.../api/openstack/compute/test_server_groups.py | 4 +-
.../api/openstack/compute/test_server_password.py | 5 +-
.../openstack/compute/test_server_reset_state.py | 8 +-
.../api/openstack/compute/test_server_shares.py | 410 ++++
.../unit/api/openstack/compute/test_servers.py | 293 ++-
.../unit/api/openstack/compute/test_services.py | 10 +-
.../unit/api/openstack/compute/test_snapshots.py | 4 +-
.../api/openstack/compute/test_suspend_server.py | 15 +-
.../unit/api/openstack/compute/test_volumes.py | 20 +-
.../v1/validation_error_test_data.yaml | 4 +-
.../unit/conductor/tasks/test_live_migrate.py | 113 +-
.../unit/notifications/objects/test_instance.py | 41 +
.../notifications/objects/test_notification.py | 29 +-
.../policies/test_assisted_volume_snapshots.py | 9 +-
.../unit/policies/test_console_auth_tokens.py | 13 +
.../scheduler/weights/test_weights_image_props.py | 196 ++
nova/utils.py | 58 +-
nova/virt/__init__.py | 18 -
nova/virt/disk/api.py | 15 +-
nova/virt/driver.py | 53 +-
nova/virt/fake.py | 58 +-
nova/virt/hardware.py | 31 +
nova/virt/images.py | 26 +-
nova/virt/ironic/driver.py | 56 +-
nova/virt/libvirt/blockinfo.py | 32 +-
nova/virt/libvirt/config.py | 3 +-
nova/virt/libvirt/driver.py | 376 +++-
nova/virt/libvirt/guest.py | 8 +-
nova/virt/libvirt/host.py | 92 +-
nova/virt/libvirt/imagebackend.py | 2 +-
nova/virt/libvirt/migration.py | 77 +-
nova/virt/libvirt/utils.py | 2 +-
nova/virt/libvirt/vif.py | 2 +
nova/virt/libvirt/volume/cephfs.py | 52 +
nova/virt/libvirt/volume/fibrechannel.py | 3 +-
nova/virt/libvirt/volume/fs.py | 2 +-
nova/virt/libvirt/volume/iscsi.py | 3 +-
nova/virt/libvirt/volume/iser.py | 3 +-
nova/virt/libvirt/volume/mount.py | 5 +-
nova/virt/libvirt/volume/nvme.py | 3 +-
nova/virt/libvirt/volume/quobyte.py | 6 +
nova/virt/libvirt/volume/smbfs.py | 6 +
nova/virt/libvirt/volume/vzstorage.py | 4 +
nova/virt/vmwareapi/driver.py | 25 +-
nova/virt/vmwareapi/images.py | 5 +-
nova/virt/vmwareapi/vm_util.py | 60 +-
nova/virt/vmwareapi/vmops.py | 20 +-
nova/virt/zvm/driver.py | 6 +-
nova/volume/cinder.py | 7 +-
.../notes/bp-igb-vif-model-d1366bcbea7afdd2.yaml | 6 +
...ge-metadata-props-weigher-b09125e1837428f5.yaml | 18 +
...ched-hints-server-details-22bc15d5ea81e43a.yaml | 7 +
...-event-during-hard-reboot-fb491f6a68370bab.yaml | 2 +-
.../notes/bug-2019977-4afe7658394130b8.yaml | 7 +
.../notes/bug-2074219-937d6404c1cbb04c.yaml | 17 +
...rameter-order-in-add_instance_info_to_node.yaml | 7 +
.../notes/caracal-prelude-63fac6e27509930d.yaml | 2 +-
...inder-catalog-info-hyphen-842f02febcfff041.yaml | 7 +
...e-secure_proxy_ssl_header-cc0bf562efaa5eba.yaml | 5 +
...nsupported-volume-drivers-269265578de1c1e3.yaml | 10 +
...tance_info_cache_interval-0d9ae7c12793bf7b.yaml | 43 +
...ed-discover-hosts-perodic-b983f528516dec14.yaml | 12 +
...th-kernel-variant-drivers-fb675539545d2db2.yaml | 8 +
...libvirt-QEMU-version-bump-acfbb1b9228e1136.yaml | 10 +
.../notes/epoxy-prelude-f164cc03b742cfc5.yaml | 47 +
...erial-console-with-ironic-830dbd920e8c0f15.yaml | 6 +
...mage-props-in-server-show-e28886d164774343.yaml | 10 +
releasenotes/notes/lock_path-7a9f0230f3e25716.yaml | 7 +
...default-spice-video-model-fff5189fa637d4bd.yaml | 24 +
.../notes/microversion-2-96-ca56e1e5a4ee4e02.yaml | 4 +-
...ng-kernel-variant-drivers-d4180849f973012e.yaml | 8 +
.../novnc_respect_query-5a670b25a44e7fdc.yaml | 6 +
.../notes/remove-py38-5c619aee267bc1f3.yaml | 5 +
.../notes/resize-swap-size-1e15e67c436f4b95.yaml | 10 +
.../share-notifications-e9f096aa2a302c57.yaml | 9 +
.../spice-direct-consoles-4bee40633633c971.yaml | 12 +
...rt-shared-security-groups-3651e1e1f56cfb7b.yaml | 9 +
...nified-limits-flavor-scan-3e41db3379ed0aba.yaml | 12 +
...limits-required-resources-fb99b0d994decf62.yaml | 36 +
...xied-libvirt-list-devices-7cd218c1a33535c9.yaml | 11 +
.../volume_enforce_multipath-c790e98b9b05848e.yaml | 9 +
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
requirements.txt | 11 +-
setup.cfg | 4 +-
tox.ini | 13 +-
505 files changed, 21942 insertions(+), 3220 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index ba5c4dca53..1670ecc5bb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -21 +20,0 @@ netaddr>=0.7.18 # BSD
-netifaces>=0.10.4 # MIT
@@ -41 +40 @@ oslo.upgradecheck>=1.3.0
-oslo.utils>=7.3.0 # Apache-2.0
+oslo.utils>=8.0.0 # Apache-2.0
@@ -45 +44 @@ oslo.messaging>=14.1.0 # Apache-2.0
-oslo.policy>=4.4.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
@@ -53 +52 @@ oslo.versionedobjects>=1.35.0 # Apache-2.0
-os-brick>=5.2 # Apache-2.0
+os-brick>=6.10.0 # Apache-2.0
@@ -55 +54 @@ os-resource-classes>=1.1.0 # Apache-2.0
-os-traits>=3.1.0 # Apache-2.0
+os-traits>=3.3.0 # Apache-2.0
@@ -65 +64 @@ futurist>=1.8.0 # Apache-2.0
-openstacksdk>=0.35.0 # Apache-2.0
+openstacksdk>=4.4.0 # Apache-2.0
1
0
We eagerly announce the release of:
trove-dashboard 24.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/trove-dashboard
Download the package from:
https://tarballs.openstack.org/trove-dashboard/
Please report issues through:
https://bugs.launchpad.net/trove-dashboard/+bugs
For more details, please see below.
Changes in trove-dashboard 23.0.0..24.0.0
-----------------------------------------
4432309 Update Trove installation docs using devstack
5ad59b8 Add note about requirements lower bounds
e149d00 Bump hacking
Diffstat (except docs and test files)
-------------------------------------
README.rst | 48 +++++++++++++++++------
requirements.txt | 6 +--
test-requirements.txt | 10 +----
trove_dashboard/content/database_backups/views.py | 2 +-
4 files changed, 41 insertions(+), 25 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 4995392..48913d3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,3 @@
-# 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.
+# 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.
diff --git a/test-requirements.txt b/test-requirements.txt
index ed0f57f..22e98e7 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,9 +1 @@
-# 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.
-
-hacking>=3.0.1,<3.1.0 # Apache-2.0
-# remove this pyflakes from here once you bump the
-# hacking to 3.2.0 or above. hacking 3.2.0 takes
-# care of pyflakes version compatibilty.
-pyflakes>=2.1.1
+hacking>=7.0.0,<7.1.0 # Apache-2.0
1
0
We joyfully announce the release of:
tacker 13.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/tacker
Download the package from:
https://tarballs.openstack.org/tacker/
Please report issues through:
https://bugs.launchpad.net/tacker/+bugs
For more details, please see below.
Changes in tacker 12.0.0..13.0.0
--------------------------------
f2383969 Add documentation for running v1 FT locally
92e5e164 Update tacker installer for Ubuntu 24.04
c15c57fe Replace deprecated configure_auth_token_middleware
47b10ce5 Remove implicit dependency on iso8601
025a21d9 Enhancement of the Ansible Driver
29e0d5bf Introduce periodic jobs
d83ba23b Remove unused privsep/rootwrap
6014282d Update doc for VNF package generator
e1fb5aab Fix wrong jsonschema definition
c2e0e555 Fix typo in auto_heal_fm
059c65ba Add tacker_cli for external OAuth2.0
71987ae6 Add tutorial to test external oauth2 server
bbea0df0 Generate request files with actual VIM's params
7e16ed84 Revise package generator
6c95fb0a Update "Install via devstack" document
4add7b4a Remove kuryr-kubernetes from devstack install
ba8c35a7 Fix error of tacker-db-manage postgresql migration
06b61b6f Fix CNF update check in V2 API
d67dfc13 Update "Manual Installation" document
79895294 Drop kuryr-demo images from samples
88848499 Fix the type of checksum about v2 objects
a9d4e0b6 Improve the sol-vnflcm job
690def73 Documentation fix for kuryr-kubernetes retirement
d81330bf Imported Translations from Zanata
e5eae71c Update gate jobs as per the 2025.1 cycle testing runtime
8e50a7dc Documentation improvements
b78ccb92 Improve documentation for vnfPkgId
d98fb794 Fix deprecated include module
7137e12b Improve the ft-v2-st-userdata-err-handling job
1a2312bc Revised the OAuth 2.0 Admin doc structure
f2710318 Fix typos
bfec6ad5 Revise vim config generator
06890908 Fix for netaddr v1.3.0 upgrade and pep8 error
5c29fafc Reduce the amount of time of Tacker v2 functional tests
7c8dbf3c Fix issue of healing after scale out v1 VNF
7cb7070d Add exclusive processing to get_vnfd in v2 API
0ed87d53 Remove LegacyEngineFacade
78540248 Remove default override for config options policy_file
28016e4e Fix incorrect VnfLcmOpOcc.operationParams
fa8f9b69 Revert "Switch back to --class option"
c2db10f0 Revise .zuul.yaml for running FTs
0d29292e Alternative to "kuryr-kubernetes"
6c03b0d6 Fix helm release check in V2 API
f5bce839 Replace deprecated datetime.utcnow()
4e92f2f1 Switch back to --class option
f45338de Fix "test_timer" wait time
feb412a6 Update master for stable/2024.2
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 878 ------
.../v1/samples/vims/vims-create-request.json | 8 +-
.../v1/samples/vims/vims-create-response.json | 49 +-
.../source/v1/samples/vims/vims-list-response.json | 47 +-
.../source/v1/samples/vims/vims-show-response.json | 49 +-
.../v1/samples/vims/vims-update-response.json | 49 +-
.../vnflcm/create-vnf-instance-response.json | 21 +-
.../samples/vnflcm/list-vnf-instance-response.json | 266 +-
.../samples/vnflcm/show-vnf-instance-response.json | 250 +-
devstack/lib/tacker | 103 +-
devstack/local.conf.kubernetes | 22 +-
devstack/multi-nodes/k8s/local.conf.controller | 99 +
devstack/multi-nodes/k8s/local.conf.controller-k8s | 62 +
.../multi-nodes/k8s/local.conf.controller-tacker | 68 +
devstack/multi-nodes/openstack/local.conf.compute1 | 68 +
devstack/multi-nodes/openstack/local.conf.compute2 | 68 +
.../multi-nodes/openstack/local.conf.controller | 93 +
.../openstack/local.conf.controller-tacker | 63 +
devstack/plugin.sh | 4 +
devstack/settings | 15 +-
.../kubernetes_openid_token_auth_usage_guide.rst | 2 +-
.../user/etsi_containerized_vnf_usage_guide.rst | 26 +-
.../user/etsi_vnf_deployment_as_vm_with_tosca.rst | 10 +-
.../mgmt_driver_deploy_k8s_and_cnf_with_helm.rst | 14 +-
.../mgmt_driver_deploy_k8s_cir_usage_guide.rst | 6 +-
...gmt_driver_deploy_k8s_kubespary_usage_guide.rst | 8 +-
.../user/mgmt_driver_deploy_k8s_usage_guide.rst | 10 +-
.../mgmt_driver_for_ansible_driver_usage_guide.rst | 58 +-
.../user/mgmt_driver_for_container_update.rst | 20 +-
.../user/v2/cnf/deployment_using_helm/index.rst | 18 +-
.../user/v2/cnf/update_with_mgmt_driver/index.rst | 29 +-
.../v2/mgmt_driver_deploy_k8s_with_cilium_cni.rst | 18 +-
.../user/v2/vnf/chg_vnfpkg_with_standard/index.rst | 2 +-
.../v2/vnf/deployment_with_user_data/index.rst | 22 +-
etc/tacker/rootwrap.conf | 34 -
etc/tacker/rootwrap.d/tacker.filters | 14 -
playbooks/devstack/pre.yaml | 1 +
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 66 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 51 +-
requirements.txt | 6 +-
roles/restart-kubelet-service/tasks/main.yaml | 49 +
roles/setup-default-vim/tasks/main.yaml | 13 +-
roles/setup-k8s-nodes/tasks/main.yaml | 3 +-
roles/setup-k8s-oidc/tasks/main.yaml | 13 +-
roles/setup-multi-tenant-vim/tasks/main.yaml | 6 +-
.../vm_app_config/ansible_playbook_exec.py | 48 +-
.../config_actions/vm_app_config/executor.py | 116 +-
.../mgmt_driver/ansible/config_validator_schema.py | 2 +
samples/mgmt_driver/kubernetes/kubernetes_mgmt.py | 2 +-
.../Files/kubernetes/deployment.yaml | 4 +-
.../TOSCA-Metadata/TOSCA.meta | 2 +-
.../nfv/common/Files/kubernetes/deployment.yaml | 2 +-
.../kubernetes/testdata_artifact_file_content.yaml | 2 +-
.../TOSCA-Metadata/TOSCA.meta | 2 +-
.../manifest.mf | 2 +-
.../manifest.mf | 2 +-
.../manifest.mf | 2 +-
.../VNF1.mf | 2 +-
.../nfv/sample_vnf_package_csar_manifest/VNF.mf | 2 +-
.../manifest.mf | 2 +-
.../nfv/test_cnf/Files/kubernetes/deployment.yaml | 4 +-
.../Files/kubernetes/deployment_vdumap1.yaml | 4 +-
.../Files/kubernetes/deployment_vdumap2.yaml | 4 +-
.../etsi/nfv/test_cnf/Files/kubernetes/job.yaml | 2 +-
.../test_cnf/Files/kubernetes/pod-template.yaml | 2 +-
.../etsi/nfv/test_cnf/Files/kubernetes/pod.yaml | 2 +-
.../etsi/nfv/test_cnf/TOSCA-Metadata/TOSCA.meta | 12 +-
.../Files/kubernetes/replicaset.yaml | 2 +-
.../TOSCA-Metadata/TOSCA.meta | 2 +-
.../etsi/nfv/vnfpkgm1/TOSCA-Metadata/TOSCA.meta | 2 +-
.../etc/samples/etsi/nfv/vnfpkgm2/manifest.mf | 2 +-
.../etsi/nfv/vnfpkgm3/vnfd_helloworld_single.mf | 2 +-
.../Files/kubernetes/deployment.yaml | 2 +-
.../manifest.mf | 2 +-
.../contents/Files/kubernetes/replicaset.yaml | 2 +-
.../contents/TOSCA-Metadata/TOSCA.meta | 2 +-
.../contents/Files/kubernetes/job.yaml | 2 +-
.../contents/Files/kubernetes/pod-template.yaml | 2 +-
.../contents/Files/kubernetes/pod.yaml | 2 +-
.../contents/TOSCA-Metadata/TOSCA.meta | 6 +-
.../sol_refactored/samples/sample1/manifest.mf | 2 +-
.../samples/sample2/Files/kubernetes/job.yaml | 2 +-
.../sample2/Files/kubernetes/pod-template.yaml | 2 +-
.../samples/sample2/Files/kubernetes/pod.yaml | 2 +-
setup.cfg | 4 -
tacker/api/schemas/vnf_lcm.py | 2 +-
tacker/api/v1/attributes.py | 15 +-
tacker/api/vnflcm/v1/controller.py | 6 +-
tacker/auth.py | 2 +-
tacker/conductor/conductor_server.py | 15 +-
tacker/context.py | 6 +-
tacker/db/api.py | 5 +-
.../0ae5b1ce3024_unique_constraint_name.py | 7 +-
.../versions/6e56d4474b2a_blob_to_json_text.py | 5 +-
...975e28392888_add_unique_key_vnf_package_vnfd.py | 7 +-
tacker/db/vnfm/vnfm_db.py | 2 +-
tacker/hacking/checks.py | 4 +-
tacker/objects/vnf_lcm_op_occs.py | 6 +-
tacker/policy.py | 3 -
tacker/privileged/__init__.py | 31 -
tacker/sol_refactored/common/coordinate.py | 5 +-
tacker/sol_refactored/common/fm_alarm_utils.py | 7 +-
tacker/sol_refactored/common/lcm_op_occ_utils.py | 9 +-
.../infra_drivers/kubernetes/helm_utils.py | 9 +-
.../infra_drivers/kubernetes/kubernetes_common.py | 2 +-
.../kubernetes/kubernetes_resource.py | 17 +-
.../infra_drivers/kubernetes/kubernetes_utils.py | 9 +-
.../infra_drivers/openstack/openstack.py | 4 +-
.../mgmt_drivers/container_update_mgmt_v2.py | 2 +-
tacker/sol_refactored/nfvo/nfvo_client.py | 2 +
tacker/sol_refactored/objects/__init__.py | 1 +
.../objects/common/checksum.py} | 28 +-
tacker/sol_refactored/objects/common/fields.py | 8 -
.../objects/v2/vnf_package_artifact_info.py | 2 +-
.../objects/v2/vnf_package_software_image_info.py | 2 +-
tacker/sol_refactored/objects/v2/vnf_pkg_info.py | 2 +-
.../objects/v2/vnf_state_snapshot_info.py | 2 +-
.../functional/sol/vnflcm/test_vnf_instance.py | 926 +++---
.../functional/sol/vnflcm/test_vnflcm_noop.py | 282 +-
.../test_vnf_instance_with_user_data.py | 544 ++--
.../functional/sol/vnfpkgm/test_vnf_package.py | 2 +-
.../test_threshold_prometheus_plugin.py | 2 +-
...st_vnf_instance_with_user_data_nfvo_separate.py | 92 +-
.../sol_separated_nfvo_v2/fake_vnfpkgm_v2.py | 23 +
.../{basic => vnflcm/df_userdata}/__init__.py | 0
.../vnflcm/df_userdata/basic_max}/__init__.py | 0
.../vnflcm/df_userdata/basic_max/test_basic_max.py | 53 +
.../vnflcm/df_userdata/basic_min/__init__.py | 0
.../vnflcm/df_userdata/basic_min/test_basic_min.py | 157 ++
.../vnflcm/df_userdata/change_vnfpkg/__init__.py | 0
.../change_vnfpkg}/test_change_vnfpkg.py | 8 +-
.../vnflcm/df_userdata/err_handling/__init__.py | 0
.../err_handling/test_err_handling.py} | 0
.../sol_v2/vnflcm/df_userdata/scale/__init__.py | 0
.../scale/test_scale.py} | 779 +-----
.../sol_v2/vnflcm/df_userdata/update/__init__.py | 0
.../vnflcm/df_userdata/update/test_update.py | 702 +++++
.../sol_v2/vnflcm/st_userdata/__init__.py | 0
.../sol_v2/vnflcm/st_userdata/basic/__init__.py | 0
.../st_userdata/basic/test_basic.py} | 368 ---
.../vnflcm/st_userdata/basic_max/__init__.py | 0
.../vnflcm/st_userdata/basic_max/test_basic_max.py | 828 ++++++
.../vnflcm/st_userdata/basic_min/__init__.py | 0
.../vnflcm/st_userdata/basic_min/test_basic_min.py | 425 +++
.../vnflcm/st_userdata/change_vnfpkg/__init__.py | 0
.../change_vnfpkg/test_change_vnfpkg.py | 454 +++
.../vnflcm/st_userdata/err_handling/__init__.py | 0
.../st_userdata/err_handling/test_err_handling.py | 919 ++++++
.../vnflcm/st_userdata/various_lcm/__init__.py | 0
.../st_userdata/various_lcm/test_various_lcm.py | 801 ++++++
.../sol_v2_common/test_vnflcm_basic_common.py | 11 +
.../test_individual_vnfc_mgmt_basic.py | 2386 ----------------
.../sol_refactored/conductor/test_conductor_v2.py | 14 +-
.../conductor/test_prometheus_plugin.py | 8 +-
.../conductor/test_vnflcm_driver_v2.py | 170 +-
.../sol_refactored/controller/test_vnflcm_v2.py | 26 +-
.../infra_drivers/kubernetes/test_helm_utils.py | 68 +
.../mgmt_drivers/test_container_update_mgmt.py | 2 +-
.../unit/sol_refactored/nfvo/test_local_nfvo.py | 14 +-
.../unit/sol_refactored/nfvo/test_nfvo_client.py | 8 +-
.../unit/vnfm/infra_drivers/kubernetes/fakes.py | 2 +-
.../kubernetes_api_resource/deployment.yaml | 4 +-
.../kubernetes/kubernetes_api_resource/job.yaml | 2 +-
.../kubernetes_api_resource/pod-template.yaml | 2 +-
.../kubernetes/kubernetes_api_resource/pod.yaml | 2 +-
.../openstack/test_openstack_driver.py | 263 +-
tacker/vnflcm/utils.py | 28 +-
tacker/vnflcm/vnflcm_driver.py | 14 +-
.../infra_drivers/kubernetes/kubernetes_driver.py | 4 +-
tacker/vnfm/infra_drivers/openstack/openstack.py | 93 +-
test-requirements.txt | 2 +-
.../setting_ft/kubernetes/kube-controller-k8s.sh | 82 +
.../kubernetes/kube-controller-tacker.sh | 182 ++
.../setting_ft/kubernetes/kube-controller.sh | 9 +
.../openstack/openstack-controller-tacker.sh | 35 +
.../setting_ft/openstack/openstack-controller.sh | 36 +
tools/gen_vim_config.sh | 92 +-
tools/gen_vnf_pkg.py | 491 ++--
tox.ini | 132 +-
vagrant/devstack/Vagrantfile | 42 +-
vagrant/devstack/hosts | 10 +-
vagrant/devstack/lib/machine.rb | 2 +-
vagrant/devstack/lib/vd_utils.rb | 2 +-
.../roles/centos-stream8/compute/tasks/main.yml | 6 -
.../centos-stream8/compute/templates/local.conf.j2 | 22 -
.../centos-stream8/controller/tasks/basic_pkgs.yml | 14 -
.../centos-stream8/controller/tasks/devstack.yml | 22 -
.../controller/tasks/extra_tools.yml | 6 -
.../centos-stream8/controller/tasks/kubernetes.yml | 10 -
.../roles/centos-stream8/controller/tasks/main.yml | 21 -
.../roles/centos-stream8/controller/tasks/ovn.yml | 24 -
.../controller/tasks/python3_specific_vers.yml | 9 -
.../controller/tasks/setup_tacker.yml | 65 -
.../controller/tasks/vim_extra_plugins.yml | 35 -
.../controller/templates/kubernetes.repo.j2 | 7 -
.../roles/ubuntu-jammy/compute/tasks/main.yml | 6 -
.../ubuntu-jammy/controller/tasks/git_config.yml | 4 -
.../roles/ubuntu-jammy/controller/tasks/main.yml | 26 -
.../ubuntu-jammy/controller/tasks/set_path_env.yml | 5 -
.../ubuntu-jammy/controller/templates/vimrc.j2 | 159 --
.../compute/tasks/basic_pkgs.yml | 0
.../compute/tasks/devstack.yml | 0
.../roles/ubuntu-noble/compute/tasks/main.yml | 6 +
.../compute/templates/local.conf.j2 | 0
.../controller/tasks/basic_pkgs.yml | 1 +
.../controller/tasks/devstack.yml | 3 +-
.../controller/tasks/extra_tools.yml | 0
.../controller/tasks/git_config.yml | 0
.../roles/ubuntu-noble/controller/tasks/main.yml | 26 +
.../controller/tasks/neovim.yml | 4 +-
.../controller/tasks/python3_specific_vers.yml | 0
.../controller/tasks/remove_useless_pkgs.yml | 0
.../controller/tasks/set_path_env.yml | 0
.../controller/tasks/setup_tacker.yml | 0
.../controller/tasks/vim_extra_plugins.yml | 0
.../controller/tasks/vim_latest.yml | 0
.../controller/templates/vimrc.j2 | 0
vagrant/devstack/site.yaml | 18 +-
zuul.d/jobs/base.yaml | 341 +++
zuul.d/jobs/kubernetes.yaml | 77 +
zuul.d/jobs/openstack.yaml | 396 +++
zuul.d/jobs/terraform.yaml | 20 +
zuul.d/nodeset.yaml | 89 +
zuul.d/project.yaml | 44 +
278 files changed, 20210 insertions(+), 9496 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 4c6b5094..7fe4001d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -30,2 +30 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=3.11.0 # Apache-2.0
-oslo.privsep>=2.4.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
@@ -33 +31,0 @@ oslo.reports>=1.18.0 # Apache-2.0
-oslo.rootwrap>=5.8.0 # Apache-2.0
@@ -37 +35 @@ oslo.upgradecheck>=1.3.0 # Apache-2.0
-oslo.utils>=4.8.0 # Apache-2.0
+oslo.utils>=7.0.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index c56cde1a..4a1eca6f 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11 +11 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-hacking>=4.0.0,<4.1.0 # Apache-2.0
+hacking>=7.0.0,<7.1.0 # Apache-2.0
1
0
We are happy to announce the release of:
manila 20.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/manila
Download the package from:
https://tarballs.openstack.org/manila/
Please report issues through:
https://bugs.launchpad.net/manila/+bugs
For more details, please see below.
20.0.0
^^^^^^
Bug Fixes
* For generic driver, when resize a share it may failed due to
exportfs can't recognize "<world>" as part of the share path. This
issue has been fixed by replacing "<world>" to "*".
Changes in manila 19.0.0.0rc1..20.0.0
-------------------------------------
502f1c8d5 fix volume resize issue when host not recognized
126cb8a80 Update TOX_CONSTRAINTS_FILE for stable/2025.1
8445294a0 Update .gitreview for stable/2025.1
f8bc93a6d Doc converte for manila share list to openstack cli.
f526a8f5c Doc convert for share snapshot create from manila command.
47211bc0f addressed outdated documentation
79fb20492 Converted manila snapshot-list to openstack cli command.
dac94b360 Fixed the remaining review comments for patch #928608
825b5bc36 Updated NetApp certificate auth options help section.
ab8fa6b26 NetApp - Restrict LIF Creation Per HA Pair
688ebca87 Actually try to log in via SSH to validate server
f02c422fc NetApp: Implement share network subnet metadata update method
eb131b92d Pass share network subnet metadata updates to backend drivers
9d8f8a13a Drop direct test dependency on iso8601
1991444b4 [NetApp] Certificate based authentication for NetApp drivers
314a39143 Don't override nfs protocols w/ CephFS
b1be38a00 Fix access rule update
5f11287df Add missing API version description
7cde91fcc Ignore not found exception during port delete
c153f2e73 [cephfs] Fix access rule update
bf73791a0 Drop duplicated choices
f877faa5a Drop broken manila-all script
25003030b Adapt to nova api 2.89 and skip some cinder calls
aab37fe2a Deprecate options used solely by Ceph NFSProtocolHelper
efe16a04f Support nova api 2.47 and newer
5ebe38b82 doc: Use dnf instead of yum
65d48c058 Allow to update access level of access rule
786ec6316 Dell EMC: Refactor redundant if-elas block
d3d86bde8 Update cephfs driver to return provision capacity
59c737acc Imported Translations from Zanata
22ccfe999 Add new policy `list_all_projects` for share/share-snapshot
998f9f24c [Netapp] make deleted volume retention period configurable
bc01cc1c1 Improve get all instances with share data
767301273 reno: Update master for unmaintained/2023.1
d23862fcf fix manila to use device uuid instead of name for mounting
361af5e4b Replace deprecated FormatChecker.cls_checks
82238c780 vast: return all available export locations
4a86948cc Make default mount point prefix configurable, and allow empty prefix
cabe92671 updated VAST driver documentation
dde7b2003 Drop duplicate hacking check of thrid party mock
3d80e8668 Fix access rule visibility locks
c9fa6f939 [netapp] Allow share server migration with replicas
dec80f988 Remove default override for config options policy_file
9bd566c52 Add ensure shares admin docs
8f69ccbb2 Fix docs job reference issues
da61a96b2 Skip functional tests on pre-commit config update
aae3726ea Replace deprecated functions in datetime
414806b4f Drop ineffective required=True
8ad99f8e3 Enable manila-grenade
35c6ca5e2 devstack: Fix missing manila command
b64e5a35e decorate all missing *_update methods with db_retry on deadlock
944555bdf [doc] Add format_output option in documentation
6b796905a Add ability to trace SQL transactions with profiler
31c97211c Improve unit tests in NetApp Driver
6eddae380 Require valid value for endpoint_type
d8902ee62 tests: Actually raise on invalid schemas
12d77ead4 [Doc] Annotate max api microversions (Caracal/Dalmatian)
f46ec7b82 [netapp] remove last-transfer-size check for updating replica state
cf6f2ee84 Pure Storage - bump version numbers for 2025.1 (Epoxy)
bb0c2b4c4 Imported Translations from Zanata
b56105377 Remove Python 3.8 support
7be1e5e91 NetApp: fix delay clone split when creating share from snapshot (#124)
aebf40add Fix release name in docs
353feba0b Remove workaround for eventlet bug #592
debec4378 [doc] Driver updatable metadata
5d574edbb Fix share server migration not reusing allocations
9f370d014 Imported Translations from Zanata
e8f086d0f Update share/snapshot instance deferred deletion
4fe2b014e Add CephFS Manage/unmanage documentation
697c9bf3d Remove extra policy check
9803c7be2 [NetApp] Fixed share creation workflow via REST
547fdcd41 Drop SQLALCHEMY_WARN_20
5f7812e00 Update master for stable/2024.2
3ae5ea796 Add exception handling to share server deletion
17088aa57 Fix "preferred" export locations in the CephFS driver
3e9d535be Fix export location metadata updates by drivers
e28bb5905 Python 3.13: do not use removed module "pipes"
5ef6bd056 reno: Update master for unmaintained/zed
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
HACKING.rst | 1 -
.../samples/share-access-rules-update-request.json | 5 +
.../share-access-rules-update-response.json | 17 +
api-ref/source/share-access-rules.inc | 61 +++
devstack/plugin.sh | 3 +
.../share_back_ends_feature_support_mapping.rst | 2 +-
.../admin/shared-file-systems-crud-share.rst | 4 +
.../admin/shared-file-systems-services-manage.rst | 35 ++
.../shared-file-systems/drivers/cephfs_driver.rst | 26 +-
.../drivers/vastdata_driver.rst | 80 +++-
.../configuration/tables/manila-vastdata.inc | 4 +-
.../user/share-network-subnet-operations.rst | 5 +-
manila/api/openstack/api_version_request.py | 5 +-
manila/api/openstack/rest_api_version_history.rst | 18 +-
manila/api/schemas/resource_locks.py | 17 +-
manila/api/v1/shares.py | 10 +-
manila/api/v2/services.py | 2 -
manila/api/v2/share_accesses.py | 37 +-
manila/api/v2/share_network_subnets.py | 67 +++-
manila/api/validation/validators.py | 54 +--
manila/api/views/limits.py | 5 +-
manila/cmd/api.py | 6 -
manila/cmd/data.py | 6 -
manila/cmd/scheduler.py | 6 -
manila/cmd/share.py | 6 -
manila/common/config.py | 10 +-
manila/common/constants.py | 4 +
manila/compute/nova.py | 13 +-
manila/db/api.py | 22 +-
.../0d8c8f6d54a4_modify_share_servers_table.py | 55 +++
manila/db/sqlalchemy/api.py | 162 +++++---
manila/db/sqlalchemy/models.py | 9 +
manila/image/glance.py | 2 +
manila/message/message_field.py | 6 +
manila/network/neutron/api.py | 5 +
manila/opts.py | 1 +
manila/policies/share_access.py | 19 +
manila/policies/share_snapshot.py | 23 ++
manila/policies/shares.py | 24 ++
manila/policy.py | 11 -
manila/scheduler/host_manager.py | 9 +
manila/scheduler/utils.py | 4 +-
manila/share/access.py | 43 ++-
manila/share/api.py | 107 +++++-
manila/share/driver.py | 25 +-
manila/share/drivers/cephfs/driver.py | 119 +++++-
manila/share/drivers/container/driver.py | 4 +-
.../drivers/dell_emc/common/enas/connector.py | 4 +-
manila/share/drivers/dell_emc/driver.py | 66 +---
manila/share/drivers/ganesha/__init__.py | 9 +-
manila/share/drivers/ganesha/manager.py | 6 +-
manila/share/drivers/ganesha/utils.py | 4 +-
manila/share/drivers/generic.py | 34 +-
manila/share/drivers/glusterfs/layout.py | 9 +-
manila/share/drivers/hdfs/hdfs_native.py | 4 +-
manila/share/drivers/helpers.py | 2 +
manila/share/drivers/hitachi/hnas/driver.py | 4 +-
manila/share/drivers/hitachi/hsp/driver.py | 2 +-
manila/share/drivers/hpe/hpe_3par_driver.py | 2 +-
manila/share/drivers/huawei/base.py | 2 +-
manila/share/drivers/huawei/huawei_nas.py | 6 +-
manila/share/drivers/huawei/v3/connection.py | 5 +-
manila/share/drivers/ibm/gpfs.py | 2 +-
manila/share/drivers/infinidat/infinibox.py | 2 +-
manila/share/drivers/infortrend/driver.py | 4 +-
manila/share/drivers/inspur/as13000/as13000_nas.py | 2 +-
manila/share/drivers/inspur/instorage/instorage.py | 2 +-
manila/share/drivers/lvm.py | 4 +-
manila/share/drivers/macrosan/macrosan_nas.py | 4 +-
manila/share/drivers/maprfs/driver_util.py | 6 +-
manila/share/drivers/maprfs/maprfs_native.py | 2 +-
.../share/drivers/netapp/dataontap/client/api.py | 77 +++-
.../drivers/netapp/dataontap/client/client_base.py | 6 +-
.../netapp/dataontap/client/client_cmode.py | 84 ++++-
.../netapp/dataontap/client/client_cmode_rest.py | 83 +++-
.../drivers/netapp/dataontap/client/rest_api.py | 31 +-
.../netapp/dataontap/cluster_mode/data_motion.py | 15 +-
.../netapp/dataontap/cluster_mode/drv_multi_svm.py | 13 +-
.../dataontap/cluster_mode/drv_single_svm.py | 10 +-
.../netapp/dataontap/cluster_mode/lib_base.py | 81 +++-
.../netapp/dataontap/cluster_mode/lib_multi_svm.py | 61 ++-
manila/share/drivers/netapp/options.py | 78 +++-
manila/share/drivers/nexenta/ns4/nexenta_nas.py | 14 +-
manila/share/drivers/nexenta/ns5/nexenta_nas.py | 14 +-
manila/share/drivers/nexenta/options.py | 7 +-
manila/share/drivers/purestorage/flashblade.py | 4 +-
manila/share/drivers/qnap/qnap.py | 2 +-
manila/share/drivers/quobyte/quobyte.py | 4 +-
manila/share/drivers/service_instance.py | 31 +-
manila/share/drivers/tegile/tegile.py | 2 +-
manila/share/drivers/vastdata/driver.py | 4 +-
manila/share/drivers/veritas/veritas_isa.py | 2 +-
manila/share/drivers/windows/windows_smb_helper.py | 2 +-
manila/share/drivers/zadara/zadara.py | 2 +-
manila/share/drivers/zfsonlinux/driver.py | 5 +-
manila/share/manager.py | 353 ++++++++++-------
manila/share/rpcapi.py | 18 +-
manila/share/share_types.py | 6 +-
manila/ssh_utils.py | 11 +-
.../drivers/glusterfs/test_glusterfs_native.py | 1 +
.../share/drivers/hitachi/hnas/test_driver.py | 21 +-
.../share/drivers/hpe/test_hpe_3par_driver.py | 3 +
.../share/drivers/infinidat/test_infinidat.py | 10 +-
.../drivers/inspur/as13000/test_as13000_nas.py | 4 +-
.../drivers/inspur/instorage/test_instorage.py | 3 +-
.../share/drivers/macrosan/test_macrosan_nas.py | 8 +-
.../share/drivers/netapp/dataontap/client/fakes.py | 26 +-
.../drivers/netapp/dataontap/client/test_api.py | 72 ++++
.../netapp/dataontap/client/test_client_cmode.py | 193 ++++++++--
.../dataontap/client/test_client_cmode_rest.py | 64 +++-
.../netapp/dataontap/client/test_rest_api.py | 58 ++-
.../dataontap/cluster_mode/test_data_motion.py | 22 +-
.../netapp/dataontap/cluster_mode/test_lib_base.py | 37 +-
.../dataontap/cluster_mode/test_lib_multi_svm.py | 93 ++++-
.../share/drivers/nexenta/ns4/test_nexenta_nas.py | 11 +-
.../share/drivers/nexenta/ns5/test_nexenta_nas.py | 6 +-
.../share/drivers/purestorage/test_flashblade.py | 2 +-
.../share/drivers/veritas/test_veritas_isa.py | 19 +-
.../drivers/windows/test_windows_smb_helper.py | 10 +-
manila/volume/cinder.py | 2 +
...pdates-to-backend-drivers-10441eee8375f146.yaml | 15 +
...c-dont-check-socket-login-e2dd1dbc42ae281a.yaml | 9 +
...x-share-creation-via-rest-9bb4180fc87af6c2.yaml | 8 +
...river-return-allocated-gb-6ecf908dae8f369d.yaml | 17 +
...r-migration-with-replicas-971fece378440aba.yaml | 6 +
...ver-preferred-path-update-70147668e0f19c4d.yaml | 7 +
...th-preferred-attr-updates-32db001aacfc8563.yaml | 6 +
...bug-2064907-allow-empty-mount-point-prefix.yaml | 6 +
.../bug-2064907-fix-share-server-migration.yaml | 10 +
...ess-level-for-access-rule-741f8fc3cc190701.yaml | 7 +
...-update-deferred-deletion-dc5ea4207e06bb64.yaml | 10 +
.../notes/bug-2082944-sqlalchemy-tracing.yml | 5 +
...b_retry-on-update-methods-538f3a295a110f3f.yaml | 6 +
...-for-shares-and-snapshots-0b02bea6e121c6a2.yaml | 7 +
...instances-with-share-data-f217df37bac9b647.yaml | 6 +
...ntion-period-configurable-403ec227f256e24b.yaml | 10 +
...multiple-export-locations-39243a9091c145f9.yaml | 8 +
...access-rules-locks-lookup-b5efbd41397acba3.yaml | 8 +
...rt-delete-not-found-error-5acafa7a7810a210.yaml | 7 +
...ding-cephfs-nfs-protocols-cf7e3949f688ad6f.yaml | 8 +
...s-protocol-helper-options-bacaf4565478e38f.yaml | 11 +
...cation-for-netapp-drivers-e5163559d2335643.yaml | 7 +
...fix-generic-driver-resize-0fde9c8674db5951.yaml | 6 +
...ing-uuid-to-mount-volumes-291208b283120224.yaml | 6 +
...rk-subnet-metadata-method-0615490d86958c3d.yaml | 9 +
...plit-after-share-creation-fbae159d988fe2a0.yaml | 9 +
...transfer-size-limit-check-ec66035ff30ad70b.yaml | 7 +
...-lif-creation-per-ha-pair-249021556be5189d.yaml | 11 +
.../notes/remove-py38-5c619aee267bc1f3.yaml | 5 +
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 417 ++++++++++++++++++++-
releasenotes/source/zed.rst | 2 +-
requirements.txt | 6 +-
setup.cfg | 4 +-
test-requirements.txt | 1 -
tox.ini | 11 +-
zuul.d/grenade-jobs.yaml | 1 +
zuul.d/project.yaml | 5 +-
215 files changed, 4023 insertions(+), 1059 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index e0c5f8319..2af883b6d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10 +10 @@ defusedxml>=0.7.1 # PSFL
-eventlet>=0.26.1 # MIT
+eventlet>=0.27.0 # MIT
@@ -21 +21 @@ oslo.middleware>=4.1.1 # Apache-2.0
-oslo.policy>=4.4.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
@@ -28 +28 @@ oslo.upgradecheck>=1.3.0 # Apache-2.0
-oslo.utils>=4.7.0 # Apache-2.0
+oslo.utils>=7.0.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index e0956c1bf..46ab5e6ee 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +5,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-iso8601>=0.1.12 # MIT
1
0
We eagerly announce the release of:
tacker-horizon 11.0.0
This release is part of the epoxy 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 9.0.0..11.0.0
---------------------------------------
b8220dd Update "User Guide"
Diffstat (except docs and test files)
-------------------------------------
1 file changed, 306 insertions(+)
1
0
We are pumped to announce the release of:
zaqar 20.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/zaqar
Download the package from:
https://tarballs.openstack.org/zaqar/
Please report issues through:
https://bugs.launchpad.net/zaqar/+bugs
For more details, please see below.
Changes in zaqar 19.0.0..20.0.0
-------------------------------
c610624d Remove MongoDB from bindep
93f35224 Remove unused iso8601
c655ab0f Install mongodb 7.0 for Focal
d6f5d9c7 doc: Fix OSprofiler docs
10ca0d08 Remove unused Babel
e877f17c Replace pytz
fb0b6d67 Remove api vi support 2
a68f38b6 Remove Api V1 Support-3
520828b1 [signed_url] secret_key should be secret
e333f377 Skip grenade job for doc/test update
a254106b doc: Use dnf instead of yum
1df6ff24 Remove remaining reference to ZeroMQ
ecf76ae7 Use module path to load wsgi application
cf56c88d devstack: Fix missing cleanup support
347d3a8f Use common helper to generate uwsgi setting
488635dc Drop rally job
ffde3507 grenade: Fix missing zaqar-sql-db-manage
0ac0df91 Update gate jobs as per the 2025.1 cycle testing runtime
70de8c5c Fix TypeError found in Python 3.12
e06a7cf1 Replace deprecated configure_auth_token_middleware
b6c2a006 reno: Update master for unmaintained/2023.1
b4c0d0c5 Remove default override for config options policy_file
75745a72 Imported Translations from Zanata
b410da11 Drop unicode prefix
4543e769 Fix compatibility with falcon >= 4.0
b595a782 Drop unnecessary version check of falcon library
60a4fee3 Fix redundant format of enable_deprecated_api_versions
a0aea7c1 Add note about requirements lower bounds
0aaf5d36 Use escape_ipv6 from oslo.utils
870ea048 Remove Python 3.8 support
ed33b8af Imported Translations from Zanata
c1247116 Use oslo.utils implementation to parse server format
568cd86e Replace deprecated datetime.utcfromtimestamp()
b3cb2cc9 Get rid of distutils
b438cffe Fix mongodb installation in Ubuntu 24.04
bf751ee6 Update master for stable/2024.2
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 16 +-
bindep.txt | 2 -
devstack/plugin.sh | 75 ++-
devstack/settings | 2 +-
devstack/upgrade/shutdown.sh | 4 +-
devstack/upgrade/upgrade.sh | 2 +-
rally-jobs/README.rst | 29 --
rally-jobs/extra/README.rst | 7 -
rally-jobs/plugins/README.rst | 12 -
rally-jobs/plugins/__init__.py | 0
rally-jobs/zaqar-zaqar.yaml | 13 -
releasenotes/notes/falcon-4-e4b5aab856e3228c.yaml | 4 +
.../notes/remove-py38-005b0eda63232532.yaml | 5 +
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 37 +-
requirements.txt | 10 +-
setup.cfg | 4 +-
tools/test-setup.sh | 17 +-
zaqar/api/v1/__init__.py | 0
zaqar/api/v1/request.py | 388 ----------------
zaqar/api/v1/response.py | 301 ------------
zaqar/api/v1_1/request.py | 374 ++++++++++++++-
zaqar/api/v2/endpoints.py | 88 ++--
zaqar/bootstrap.py | 18 +-
zaqar/cmd/gc.py | 2 +-
zaqar/common/api/errors.py | 2 +-
zaqar/common/api/utils.py | 6 +-
zaqar/common/cli.py | 2 +-
zaqar/common/decorators.py | 4 +-
zaqar/common/pipeline.py | 2 +-
zaqar/common/transport/wsgi/helpers.py | 85 ++--
zaqar/conf/default.py | 2 +-
zaqar/conf/signed_url.py | 1 +
zaqar/storage/errors.py | 66 +--
zaqar/storage/mongodb/claims.py | 16 +-
zaqar/storage/mongodb/messages.py | 44 +-
zaqar/storage/mongodb/queues.py | 6 +-
zaqar/storage/mongodb/subscriptions.py | 6 +-
zaqar/storage/mongodb/topic_messages.py | 44 +-
zaqar/storage/mongodb/topics.py | 6 +-
zaqar/storage/mongodb/utils.py | 16 +-
zaqar/storage/pipeline.py | 2 +-
zaqar/storage/pooling.py | 8 +-
zaqar/storage/redis/catalogue.py | 12 +-
zaqar/storage/redis/driver.py | 25 +-
zaqar/storage/redis/messages.py | 4 +-
zaqar/storage/redis/models.py | 5 +-
zaqar/storage/swift/messages.py | 14 +-
zaqar/storage/utils.py | 2 +-
.../unit/transport/websocket/test_protocol.py | 2 +-
.../unit/transport/websocket/v2/test_messages.py | 2 +-
.../transport/websocket/v2/test_queue_lifecycle.py | 4 +-
.../transport/websocket/v2/test_subscriptions.py | 2 +-
.../unit/transport/wsgi/v1/test_default_limits.py | 99 ----
.../unit/transport/wsgi/v1/test_media_type.py | 82 ----
.../unit/transport/wsgi/v1/test_queue_lifecycle.py | 398 ----------------
.../unit/transport/wsgi/v1/test_validation.py | 127 ------
.../unit/transport/wsgi/v1_1/test_messages.py | 2 +-
.../transport/wsgi/v1_1/test_queue_lifecycle.py | 4 +-
.../unit/transport/wsgi/v2_0/test_messages.py | 2 +-
.../transport/wsgi/v2_0/test_queue_lifecycle.py | 4 +-
.../transport/wsgi/v2_0/test_topic_lifecycle.py | 4 +-
zaqar/transport/acl.py | 8 -
zaqar/transport/encryptor.py | 12 +-
zaqar/transport/middleware/auth.py | 2 +-
zaqar/transport/middleware/cors.py | 2 +-
zaqar/transport/middleware/profile.py | 2 +-
zaqar/transport/validation.py | 95 ++--
zaqar/transport/websocket/driver.py | 16 +-
zaqar/transport/websocket/protocol.py | 5 +-
zaqar/transport/wsgi/app.py | 39 +-
zaqar/transport/wsgi/driver.py | 23 +-
zaqar/transport/wsgi/errors.py | 39 +-
zaqar/transport/wsgi/utils.py | 12 +-
zaqar/transport/wsgi/v1_0/__init__.py | 110 -----
zaqar/transport/wsgi/v1_0/claims.py | 172 -------
zaqar/transport/wsgi/v1_0/health.py | 30 --
zaqar/transport/wsgi/v1_0/homedoc.py | 142 ------
zaqar/transport/wsgi/v1_0/messages.py | 297 ------------
zaqar/transport/wsgi/v1_0/metadata.py | 95 ----
zaqar/transport/wsgi/v1_0/pools.py | 234 ----------
zaqar/transport/wsgi/v1_0/queues.py | 132 ------
zaqar/transport/wsgi/v1_0/stats.py | 72 ---
zaqar/transport/wsgi/v1_1/claims.py | 12 +-
zaqar/transport/wsgi/v1_1/flavors.py | 21 +-
zaqar/transport/wsgi/v1_1/health.py | 4 +-
zaqar/transport/wsgi/v1_1/messages.py | 57 +--
zaqar/transport/wsgi/v1_1/pools.py | 28 +-
zaqar/transport/wsgi/v1_1/queues.py | 12 +-
zaqar/transport/wsgi/v1_1/stats.py | 6 +-
zaqar/transport/wsgi/v2_0/claims.py | 12 +-
zaqar/transport/wsgi/v2_0/flavors.py | 61 +--
zaqar/transport/wsgi/v2_0/health.py | 4 +-
zaqar/transport/wsgi/v2_0/messages.py | 57 +--
zaqar/transport/wsgi/v2_0/pools.py | 30 +-
zaqar/transport/wsgi/v2_0/purge.py | 2 +-
zaqar/transport/wsgi/v2_0/queues.py | 28 +-
zaqar/transport/wsgi/v2_0/stats.py | 6 +-
zaqar/transport/wsgi/v2_0/subscriptions.py | 42 +-
zaqar/transport/wsgi/v2_0/topic.py | 28 +-
zaqar/transport/wsgi/v2_0/topic_purge.py | 2 +-
zaqar/transport/wsgi/v2_0/topic_stats.py | 6 +-
zaqar/transport/wsgi/v2_0/urls.py | 6 +-
zaqar/transport/wsgi/version.py | 4 +-
125 files changed, 1118 insertions(+), 4678 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 8c23ed63..4da3c4fc 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.
+
@@ -4 +7,0 @@ alembic>=0.9.6 # MIT
-Babel!=2.4.0,>=2.3.4 # BSD
@@ -8 +10,0 @@ jsonschema>=3.2.0 # MIT
-iso8601>=0.1.11 # MIT
@@ -26 +28 @@ oslo.utils>=4.12.1 # Apache-2.0
-oslo.policy>=3.8.1 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
@@ -28 +30 @@ osprofiler>=1.4.0 # Apache-2.0
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.3.19 # MIT
+SQLAlchemy>=1.3.19 # MIT
1
0
We are excited to announce the release of:
zun-ui 15.0.0
This release is part of the epoxy 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 14.0.0..15.0.0
--------------------------------
4c27195 Update master for stable/2024.2
c352682 reno: Update master for unmaintained/zed
Diffstat (except docs and test files)
-------------------------------------
releasenotes/source/2024.2.rst | 6 ++++++
releasenotes/source/index.rst | 1 +
releasenotes/source/zed.rst | 2 +-
3 files changed, 8 insertions(+), 1 deletion(-)
1
0
We are ecstatic to announce the release of:
watcher-dashboard 13.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/watcher-dashboard
Download the package from:
https://tarballs.openstack.org/watcher-dashboard/
Please report issues through:
https://bugs.launchpad.net/watcher-dashboard/+bugs
For more details, please see below.
Changes in watcher-dashboard 12.0.0..13.0.0
-------------------------------------------
9cceb19 Allow cancel audit when it is ongoing or pending
41206e6 Support multiple global_efficacy indicators in action plans table
f90c13d Bump hacking
1617214 reno: Update master for unmaintained/2023.1
744219c Enable Watcher dashboard only when backend is on
42d8914 Fix efficacy indicators in action plans
793bf9f Update python versions, drop py3.8
1d2856a [devstack] use $PYTHON when configuring horizon
e95f8e9 Drop unnecessary 'x' bit from doc config file
fe23d55 Update master for stable/2024.2
940503c reno: Update master for unmaintained/zed
5e34e58 reno: Update master for unmaintained/xena
a86a656 reno: Update master for unmaintained/wallaby
554d40d reno: Update master for unmaintained/victoria
982ae63 reno: Update master for unmaintained/yoga
fbb29f4 Add test 'node_modules' in gitignore
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
devstack/plugin.sh | 4 +--
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +++++
releasenotes/source/index.rst | 1 +
releasenotes/source/victoria.rst | 2 +-
releasenotes/source/wallaby.rst | 2 +-
releasenotes/source/xena.rst | 2 +-
releasenotes/source/yoga.rst | 2 +-
releasenotes/source/zed.rst | 2 +-
requirements.txt | 7 +++--
setup.cfg | 5 ++--
test-requirements.txt | 6 +----
watcher_dashboard/api/watcher.py | 23 +++++++++++++---
watcher_dashboard/content/action_plans/panel.py | 1 +
watcher_dashboard/content/action_plans/tables.py | 29 +++++++++++++-------
watcher_dashboard/content/actions/panel.py | 1 +
watcher_dashboard/content/audit_templates/panel.py | 1 +
watcher_dashboard/content/audits/panel.py | 1 +
watcher_dashboard/content/audits/tables.py | 31 +++++++++++++++++++++-
watcher_dashboard/content/goals/panel.py | 1 +
watcher_dashboard/content/strategies/panel.py | 1 +
.../infra_optim/action_plans/_global_efficacy.html | 8 ++++++
26 files changed, 115 insertions(+), 39 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 152030e..f72808c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,3 @@
-# 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.
-
+# 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.
diff --git a/test-requirements.txt b/test-requirements.txt
index fb1ca6c..bfd9e2d 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.
@@ -5,2 +2 @@
-
-hacking>=3.0.1,<3.1.0 # Apache-2.0
+hacking>=7.0.0,<7.1.0 # Apache-2.0
1
0
We are ecstatic to announce the release of:
skyline-console 6.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/skyline-console
Download the package from:
https://tarballs.openstack.org/skyline-console/
Please report issues through:
https://bugs.launchpad.net/skyline-apiserver/+bugs
For more details, please see below.
Changes in skyline-console 5.0.0.0rc1..6.0.0
--------------------------------------------
878c56be feat: update package for release
590b105e Update TOX_CONSTRAINTS_FILE for stable/2025.1
50819305 Update .gitreview for stable/2025.1
f89e76b3 fix: post build tarball failure in ubuntu 20.04
68753a58 fix: CICD build failure in Ubuntu 2024.04
8a9936b5 fix: build skyline-console-master.tar.gz failed
b71ad5ce Update README.rst
231dddd0 Use make package directly in run.yaml of python-tarball
02433838 Supported Operating Systems - updated list of operating systems
4ea2ea5f Source Install Ubuntu - fix mistakes
284559dd Makefile - update deprecated
47aa72a8 fix: test failure with new ubuntu & os 2024.02
9e5345fd Update README.rst
f3dc3cba Source Install RHEL or CentOS / Docker Install RHEL and CentOS - fix mistakes
b524bc18 Skyline Installation Guide - for RHEL/CentOS - Source
2f593707 Skyline Installation Guide - for RHEL/CentOS - Docker
74b3918b reno: Update master for unmaintained/2023.1
9b751bc3 Update gate jobs as per the 2025.1 cycle testing runtime
23ea22a1 feat: add Turkish language to the default config
1b71b287 Update master for stable/2024.2
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 6 +-
Makefile | 8 +-
README.rst | 154 ++++-------------
config/config.yaml | 1 +
playbooks/python-tarball/run.yaml | 8 +-
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
.../static/Container.bundle.1663167892.js | 1 -
.../static/Container.bundle.1663167892.js.gz | Bin 11883 -> 0 bytes
.../static/Container.bundle.1742454253.js | 1 +
.../static/Container.bundle.1742454253.js.gz | Bin 0 -> 15893 bytes
.../static/Inctance-HA.bundle.1742454253.js | 1 +
.../static/Inctance-HA.bundle.1742454253.js.gz | Bin 0 -> 6358 bytes
.../static/asset/image/cloud-logo-white.svg | 21 +++
skyline_console/static/asset/image/cloud-logo.svg | 15 ++
.../{cloud.1663167892.png => cloud.1742454253.png} | Bin
...rd.1663167892.svg => empty-card.1742454253.svg} | 0
...1663167892.png => load-balancer.1742454253.png} | Bin
...ll.1663167892.png => login-full.1742454253.png} | Bin
skyline_console/static/asset/image/logo-extend.svg | 10 --
skyline_console/static/asset/image/logo-small.svg | 18 --
...router.1663167892.png => router.1742454253.png} | Bin
skyline_console/static/auth.bundle.1663167892.js | 1 -
.../static/auth.bundle.1663167892.js.gz | Bin 6904 -> 0 bytes
skyline_console/static/auth.bundle.1742454253.js | 1 +
.../static/auth.bundle.1742454253.js.gz | Bin 0 -> 7337 bytes
skyline_console/static/base.bundle.1663167892.js | 1 -
.../static/base.bundle.1663167892.js.gz | Bin 25785 -> 0 bytes
skyline_console/static/base.bundle.1742454253.js | 1 +
.../static/base.bundle.1742454253.js.gz | Bin 0 -> 26052 bytes
skyline_console/static/basic.bundle.1663167892.js | 1 -
.../static/basic.bundle.1663167892.js.gz | Bin 73725 -> 0 bytes
skyline_console/static/basic.bundle.1742454253.js | 1 +
.../static/basic.bundle.1742454253.js.gz | Bin 0 -> 80437 bytes
skyline_console/static/common.bundle.1663167892.js | 1 -
.../static/common.bundle.1663167892.js.gz | Bin 93051 -> 0 bytes
skyline_console/static/common.bundle.1742454253.js | 1 +
.../static/common.bundle.1742454253.js.gz | Bin 0 -> 97155 bytes
.../static/compute.bundle.1663167892.js | 1 -
.../static/compute.bundle.1663167892.js.gz | Bin 67890 -> 0 bytes
.../static/compute.bundle.1742454253.js | 1 +
.../static/compute.bundle.1742454253.js.gz | Bin 0 -> 70284 bytes
.../static/configuration.bundle.1663167892.js | 1 -
.../static/configuration.bundle.1663167892.js.gz | Bin 8605 -> 0 bytes
.../static/configuration.bundle.1742454253.js | 1 +
.../static/configuration.bundle.1742454253.js.gz | Bin 0 -> 8970 bytes
.../static/container-infra.bundle.1663167892.js | 1 -
.../static/container-infra.bundle.1663167892.js.gz | Bin 8598 -> 0 bytes
.../static/container-infra.bundle.1742454253.js | 1 +
.../static/container-infra.bundle.1742454253.js.gz | Bin 0 -> 12918 bytes
skyline_console/static/heat.bundle.1663167892.js | 1 -
.../static/heat.bundle.1663167892.js.gz | Bin 5109 -> 0 bytes
skyline_console/static/heat.bundle.1742454253.js | 1 +
.../static/heat.bundle.1742454253.js.gz | Bin 0 -> 5259 bytes
.../static/identity.bundle.1663167892.js | 1 -
.../static/identity.bundle.1663167892.js.gz | Bin 15967 -> 0 bytes
.../static/identity.bundle.1742454253.js | 1 +
.../static/identity.bundle.1742454253.js.gz | Bin 0 -> 17652 bytes
skyline_console/static/index.html | 2 +-
skyline_console/static/main.bundle.1663167892.js | 83 ---------
.../static/main.bundle.1663167892.js.gz | Bin 911416 -> 0 bytes
skyline_console/static/main.bundle.1742454253.js | 83 +++++++++
.../static/main.bundle.1742454253.js.gz | Bin 0 -> 1121644 bytes
.../static/management.bundle.1663167892.js | 1 -
.../static/management.bundle.1742454253.js | 1 +
.../static/monitor-center.bundle.1663167892.js | 1 -
.../static/monitor-center.bundle.1663167892.js.gz | Bin 29548 -> 0 bytes
.../static/monitor-center.bundle.1742454253.js | 1 +
.../static/monitor-center.bundle.1742454253.js.gz | Bin 0 -> 29921 bytes
.../static/network.bundle.1663167892.js | 1 -
.../static/network.bundle.1663167892.js.gz | Bin 65183 -> 0 bytes
.../static/network.bundle.1742454253.js | 1 +
.../static/network.bundle.1742454253.js.gz | Bin 0 -> 86779 bytes
skyline_console/static/runtime.1663167892.js | 1 -
skyline_console/static/runtime.1742454253.js | 1 +
skyline_console/static/share.bundle.1663167892.js | 1 -
.../static/share.bundle.1663167892.js.gz | Bin 19404 -> 0 bytes
skyline_console/static/share.bundle.1742454253.js | 1 +
.../static/share.bundle.1742454253.js.gz | Bin 0 -> 19433 bytes
.../static/storage.bundle.1663167892.js | 1 -
.../static/storage.bundle.1663167892.js.gz | Bin 18884 -> 0 bytes
.../static/storage.bundle.1742454253.js | 1 +
.../static/storage.bundle.1742454253.js.gz | Bin 0 -> 19105 bytes
.../static/user-center.bundle.1663167892.js.gz | Bin 7453 -> 0 bytes
...3167892.js => user-center.bundle.1742454253.js} | 2 +-
.../static/user-center.bundle.1742454253.js.gz | Bin 0 -> 7605 bytes
.../static/vendor.bundle.1663167892.js.gz | Bin 1309411 -> 0 bytes
...e.1663167892.js => vendor.bundle.1742454253.js} | 72 ++++----
.../static/vendor.bundle.1742454253.js.gz | Bin 0 -> 1326008 bytes
src/locales/index.js | 2 +-
src/pages/identity/containers/Role/index.jsx | 4 +
tox.ini | 4 +-
100 files changed, 573 insertions(+), 351 deletions(-)
1
0
We are pleased to announce the release of:
storlets 15.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/storlets
Download the package from:
https://tarballs.openstack.org/storlets/
Please report issues through:
https://bugs.launchpad.net/storlets/+bugs
For more details, please see below.
15.0.0
^^^^^^
Prelude
*******
This release supports the latest OpenStack Swift release and the
updated tested runtimes globally defined in OpenStack project.
New Features
************
* Now Storlets is tested in Ubuntu Noble (24.04).
Bug Fixes
*********
* Re-added the static script for storlet-daeamon and storlet-daemon-
factory. These can be used in case the script generated during
installation does not work as start script in container (For example
when storlets is installed in venv while system python is used to
launch the daemons). This is especially useful in Ubuntu Noble which
does not allow direct installation to system python using pip.
Changes in storlets 14.0.0..15.0.0
----------------------------------
59ba49c Add release note for 15.0.0 release
5f2c16f Remove config file for nose2
bc8f36d Replace nose2 by stestr
62b6540 Get rid of functests script
da1d40f Switch functional tests to noble
0bac79d Switch back to pre-created scripts
5b3479d Fix wrong input type
3d48ed8 Remove additional package cache data
cb96dd1 Sort package list
64a75ee Explicitly install OpenJDK binding for Ant
661bb13 Use shell script to capture command outputs
b50d3c4 Ubuntu: Use official docker package
ee88d4d Capture full syslog file
d0bd27a Remove logback.xml
c31775d Update gate jobs as per the 2025.1 cycle testing runtime
fd9a012 reno: Update master for unmaintained/2023.1
8ac861c Use devstack functions to create keystone resources
93f00a4 Drop unnecessary 'x' bit from doc config file
96db0c2 Use built-in abc module
d4cde57 Bump logback
fa54431 Bump slf4j-api
e1c442f Dump command logs
892e08b Drop redundant swift-init command
e74e227 Add --domain when creating a user
db0013d Update master for stable/2024.2
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 13 ++-
bin/storlets-daemon | 20 ++++
bin/storlets-daemon-factory | 20 ++++
devstack/localrc.sample | 4 +-
devstack/plugin.sh | 136 ++++++++----------------
nose2.cfg | 2 -
playbooks/storlets-functional/post.yaml | 53 ++++-----
playbooks/storlets-functional/pre.yaml | 6 ++
releasenotes/notes/15_0_0-012cb3b56da708de.yaml | 18 ++++
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 ++
releasenotes/source/index.rst | 2 +
s2aio.sh | 11 +-
setup.cfg | 6 +-
src/java/SCommon/build.xml | 6 +-
src/java/SDaemon/build.xml | 6 +-
src/java/build.xml | 12 +--
storlets/gateway/common/file_manager.py | 12 ++-
storlets/gateway/gateways/container/runtime.py | 2 +-
storlets/sbus/datagram.py | 37 +++----
test-requirements.txt | 1 -
tools/copy_logs.sh | 16 +++
tox.ini | 10 +-
30 files changed, 230 insertions(+), 268 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 5b0b601..cb4dc62 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +3,0 @@ coverage>=3.6
-nose2
1
0
We are satisfied to announce the release of:
zaqar-ui 18.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/zaqar-ui
Download the package from:
https://tarballs.openstack.org/zaqar-ui/
Please report issues through:
https://bugs.launchpad.net/zaqar-ui/+bugs
For more details, please see below.
Changes in zaqar-ui 17.0.0..18.0.0
----------------------------------
1a1800f Remove unused Babel
ed8c9c0 Bump hacking
27ed7cc reno: Update master for unmaintained/2023.1
39bd62c Drop support for Python 3.8 and older
c67fa9d Add note about requirements lower bounds
7f8deb7 Fix outedated tox minversion
3443715 Update master for stable/2024.2
a02e5c8 reno: Update master for unmaintained/zed
1a5e130 Imported Translations from Zanata
6669bf8 reno: Update master for unmaintained/xena
c0baef9 reno: Update master for unmaintained/wallaby
57fc76b reno: Update master for unmaintained/victoria
514dbe4 reno: Update master for unmaintained/yoga
5f915c0 Cleanup py27 support
6e364c7 Remove references to sys.version_info
Diffstat (except docs and test files)
-------------------------------------
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 ++++++
releasenotes/source/index.rst | 1 +
.../source/locale/en_GB/LC_MESSAGES/releasenotes.po | 11 +++++++++--
releasenotes/source/victoria.rst | 2 +-
releasenotes/source/wallaby.rst | 2 +-
releasenotes/source/xena.rst | 2 +-
releasenotes/source/yoga.rst | 2 +-
releasenotes/source/zed.rst | 2 +-
requirements.txt | 14 ++++----------
setup.cfg | 4 ++--
setup.py | 9 ---------
test-requirements.txt | 12 +-----------
tools/install_venv.py | 1 -
tools/install_venv_common.py | 4 ----
tox.ini | 8 ++++----
17 files changed, 33 insertions(+), 58 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 24aee9c..026b62e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,9 +1,4 @@
-# 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.
-# Order matters to the pip dependency resolver, so sorting this file
-# changes how packages are installed. New dependencies should be
-# added in alphabetical order, however, some dependencies may need to
-# be installed in a specific order.
-#
-# PBR should always appear first
+# 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.
+
@@ -12 +6,0 @@ python-zaqarclient>=1.0.0 # Apache-2.0
-Babel!=2.4.0,>=2.3.4 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 89db7ce..86e38c5 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,11 +1 @@
-# 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.
-# Order matters to the pip dependency resolver, so sorting this file
-# changes how packages are installed. New dependencies should be
-# added in alphabetical order, however, some dependencies may need to
-# be installed in a specific order.
-#
-# Hacking should appear first in case something else depends on pep8
-hacking>=3.0.1,<3.1.0 # Apache-2.0
-
+hacking>=6.1.0,<6.2.0 # Apache-2.0
1
0
We are ecstatic to announce the release of:
neutron-vpnaas 26.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/neutron-vpnaas
Download the package from:
https://tarballs.openstack.org/neutron-vpnaas/
Please report issues through:
https://bugs.launchpad.net/neutron/+bugs
For more details, please see below.
Changes in neutron-vpnaas 25.0.0..26.0.0
----------------------------------------
b12b8f96b Use releases.openstack.org instead of opendev.org
5cf0516b7 Use write connection for get_vpn_services_on_host
980dd0806 Use consistent regex to validate ovsdb_connection
f6033dd2e Add support for additional auth, encryption, PFS choices
151687f81 Update jobs based on testing runtime for 2025.1
ef770d898 Use subprocess.Popen instead of Neutron eventlet utility method
35a5478a2 Register VPN_AGENTS_SCHEDULER_OPTS in plugin config sample
64a7a080c Update default envlist
705dfd082 functional: Fix failing due to Noble and pip restricitons
0bac8169c Fix connection status reporting when using LibreSwan 4
4ed8e10f4 tests: test_db_base_plugin_v2.py was moved to common
b04ba041f reno: Update master for unmaintained/2023.1
00ef4b086 pyupgrade changes for Python3.9+
960cf21df Use ``alembic.op.alter_column``
6372f73e4 Bump hacking
8ded7fe70 Fix typo in default NEUTRON_VPNAAS_DEVICE_DRIVER for StrongSwan
428f736b8 Load core neutron.conf in ovn-vpn-agent
a8ee157dd [sqlalchemy-20] Remove CI job "neutron-vpnaas-openstack-tox-py310-with-sqlalchemy-main"
f50d906c7 Remove old excludes
30dfcad56 Update master for stable/2024.2
309f4a0f7 Add oslo.log options to generated ovn vpn agent config
2cff099c2 reno: Update master for unmaintained/zed
Diffstat (except docs and test files)
-------------------------------------
.pre-commit-config.yaml | 4 +-
.pylintrc | 3 -
.zuul.yaml | 32 +----
devstack/plugin.sh | 2 +-
devstack/settings | 2 +-
etc/oslo-config-generator/ovn_vpn_agent.ini | 1 +
neutron_vpnaas/agent/ovn/vpn/ovsdb.py | 2 +-
.../api/rpc/agentnotifiers/vpn_rpc_agent_api.py | 2 +-
.../2025.1/expand/b18aab30fddc_add_more_ciphers.py | 72 +++++++++++
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
.../newton/expand/fe637dc3f042_support_sha256.py | 10 +-
...903cbde_add_auth_algorithm_sha384_and_sha512.py | 9 +-
neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py | 2 +-
neutron_vpnaas/db/vpn/vpn_db.py | 12 +-
neutron_vpnaas/db/vpn/vpn_ext_gw_db.py | 2 +-
neutron_vpnaas/db/vpn/vpn_models.py | 43 +++++--
neutron_vpnaas/db/vpn/vpn_validator.py | 8 +-
neutron_vpnaas/extensions/vpn_aes_ctr.py | 37 ++++++
neutron_vpnaas/extensions/vpn_agentschedulers.py | 6 +-
neutron_vpnaas/extensions/vpn_endpoint_groups.py | 2 +-
neutron_vpnaas/opts.py | 5 +-
neutron_vpnaas/scheduler/vpn_agent_scheduler.py | 4 +-
neutron_vpnaas/services/vpn/agent.py | 13 +-
.../services/vpn/common/netns_wrapper.py | 44 ++++---
.../services/vpn/device_drivers/__init__.py | 2 +-
.../services/vpn/device_drivers/ipsec.py | 35 ++++--
.../services/vpn/device_drivers/libreswan_ipsec.py | 9 +-
.../services/vpn/device_drivers/ovn_ipsec.py | 8 +-
.../vpn/device_drivers/strongswan_ipsec.py | 55 ++++++++-
.../template/openswan/ipsec.conf.template | 9 +-
.../template/strongswan/ipsec.conf.template | 2 +
neutron_vpnaas/services/vpn/ovn/agent_monitor.py | 2 +-
neutron_vpnaas/services/vpn/ovn_agent.py | 1 +
neutron_vpnaas/services/vpn/ovn_plugin.py | 3 +-
neutron_vpnaas/services/vpn/plugin.py | 24 ++--
.../services/vpn/service_drivers/__init__.py | 4 +-
.../services/vpn/service_drivers/base_ipsec.py | 14 +--
.../vpn/service_drivers/driver_validator.py | 2 +-
.../services/vpn/service_drivers/ipsec.py | 5 +-
.../services/vpn/service_drivers/ovn_ipsec.py | 20 +--
neutron_vpnaas/services/vpn/vpn_service.py | 2 +-
.../functional/common/test_migrations_sync.py | 16 +--
.../functional/openswan/test_openswan_driver.py | 4 +-
.../functional/strongswan/test_netns_wrapper.py | 2 +-
.../strongswan/test_strongswan_driver.py | 20 +--
.../unit/db/vpn/test_vpn_agentschedulers_db.py | 71 ++++++++---
.../unit/extensions/test_vpn_endpoint_groups.py | 2 +-
.../unit/services/vpn/common/test_netns_wrapper.py | 2 +-
.../unit/services/vpn/device_drivers/test_ipsec.py | 135 ++++++++++-----------
.../services/vpn/device_drivers/test_ovn_ipsec.py | 14 ++-
.../services/vpn/service_drivers/test_ipsec.py | 10 +-
.../services/vpn/service_drivers/test_ovn_ipsec.py | 55 ++++++++-
rally-jobs/plugins/vpn_base.py | 20 +--
rally-jobs/plugins/vpn_utils.py | 11 +-
.../notes/additional-ciphers-cda989b9a5ff363d.yaml | 8 ++
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/conf.py | 1 -
releasenotes/source/index.rst | 1 +
releasenotes/source/zed.rst | 2 +-
requirements.txt | 6 +-
setup.cfg | 4 +-
test-requirements.txt | 6 +-
tools/check_i18n.py | 2 +-
tools/configure_for_vpn_func_testing.sh | 2 +-
tox.ini | 10 +-
76 files changed, 658 insertions(+), 404 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index dac35ac52..9f5b5ae32 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,4 +3,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.
@@ -14 +10 @@ alembic>=1.6.5 # MIT
-neutron-lib>=2.6.0 # Apache-2.0
+neutron-lib>=3.18.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index bddbc8133..898aa0ec2 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,5 +1 @@
-# 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.
-
-coverage!=4.4,>=4.0 # Apache-2.0
+coverage>=4.4.1 # Apache-2.0
1
0
We eagerly announce the release of:
masakari-monitors 19.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/masakari-monitors
Download the package from:
https://tarballs.openstack.org/masakari-monitors/
Please report issues through:
https://bugs.launchpad.net/masakari-monitors/+bugs
For more details, please see below.
Changes in masakari-monitors 18.0.0..19.0.0
-------------------------------------------
1f62741 If any of the consul agents such as manage, tenant, or warehouse are not set.
8bc76b3 Fix docs build
21a78c6 Update master for stable/2024.2
Diffstat (except docs and test files)
-------------------------------------
masakari-monitors/doc/source/reference/conf.rst | 12 ++++++++++++
masakarimonitors/conf/base.py | 2 +-
.../conf/introspectiveinstancemonitor.py | 2 +-
.../hostmonitor/consul_check/consul_helper.py | 22 ++++++++++++----------
releasenotes/source/2024.2.rst | 6 ++++++
releasenotes/source/index.rst | 1 +
6 files changed, 33 insertions(+), 12 deletions(-)
1
0
We are stoked to announce the release of:
freezer-web-ui 16.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/freezer-web-ui
Download the package from:
https://pypi.org/project/freezer-web-ui
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/freezer-web-
ui
For more details, please see below.
Changes in freezer-web-ui 2023.1-eom..16.0.0
--------------------------------------------
13963d4 remove unicode from code
2df8426 Add default values for job_id and session_id in Job and Session list views
cac06e0 Remove usage of deprecated and dropped Exception.message attribute
0349ba5 Remove freezer_remove panel
978f711 Use service_type rather then service_name to identify endpoints
50b6486 Rename python package to freezer_ui
5c90c80 Fix CI for the project
Diffstat (except docs and test files)
-------------------------------------
.pylintrc | 67 +---------------------
.zuul.yaml | 3 +-
README.rst | 29 ++--------
bindep.txt | 11 ++--
.../enabled/_7050_freezer_remove_panel_.py | 5 --
{disaster_recovery => freezer_ui}/__init__.py | 0
.../actions/__init__.py | 0
{disaster_recovery => freezer_ui}/actions/panel.py | 4 +-
.../actions/tables.py | 10 ++--
.../actions/templates/actions/_action.html | 0
.../actions/templates/actions/_advanced.html | 0
.../actions/templates/actions/_rules.html | 0
.../actions/templates/actions/_snapshot.html | 0
.../actions/templates/actions/detail.html | 0
.../actions/templates/actions/index.html | 0
{disaster_recovery => freezer_ui}/actions/urls.py | 2 +-
{disaster_recovery => freezer_ui}/actions/views.py | 10 ++--
.../actions/workflows/__init__.py | 0
.../actions/workflows/action.py | 4 +-
{disaster_recovery => freezer_ui}/api/__init__.py | 0
{disaster_recovery => freezer_ui}/api/api.py | 6 +-
.../api/rest/__init__.py | 0
.../api/rest/rest_api.py | 2 +-
{disaster_recovery => freezer_ui}/api/rest/urls.py | 2 +-
.../backups/__init__.py | 0
{disaster_recovery => freezer_ui}/backups/panel.py | 4 +-
.../backups/tables.py | 14 ++---
.../backups/templates/backups/detail.html | 0
.../backups/templates/backups/index.html | 0
.../backups/templates/backups/restore.html | 0
{disaster_recovery => freezer_ui}/backups/urls.py | 2 +-
{disaster_recovery => freezer_ui}/backups/views.py | 10 ++--
.../backups/workflows/__init__.py | 0
.../backups/workflows/restore.py | 4 +-
.../clients/__init__.py | 0
{disaster_recovery => freezer_ui}/clients/panel.py | 4 +-
.../clients/tables.py | 12 ++--
.../clients/templates/clients/detail.html | 0
.../clients/templates/clients/index.html | 0
{disaster_recovery => freezer_ui}/clients/urls.py | 2 +-
{disaster_recovery => freezer_ui}/clients/views.py | 8 +--
{disaster_recovery => freezer_ui}/dashboard.py | 2 +-
.../enabled/_5050_freezer.py | 2 +-
.../enabled/__init__.py | 0
{disaster_recovery => freezer_ui}/jobs/__init__.py | 0
{disaster_recovery => freezer_ui}/jobs/browsers.py | 4 +-
{disaster_recovery => freezer_ui}/jobs/panel.py | 4 +-
{disaster_recovery => freezer_ui}/jobs/tables.py | 16 +++---
.../jobs/templates/jobs/_actions.html | 0
.../jobs/templates/jobs/_info.html | 0
.../jobs/templates/jobs/browser.html | 0
{disaster_recovery => freezer_ui}/jobs/urls.py | 2 +-
{disaster_recovery => freezer_ui}/jobs/views.py | 14 ++---
.../jobs/workflows/__init__.py | 0
.../jobs/workflows/actions.py | 4 +-
.../jobs/workflows/create.py | 4 +-
.../jobs/workflows/update_actions.py | 4 +-
.../jobs/workflows/update_job.py | 4 +-
.../locale/de/LC_MESSAGES/django.po | 0
.../locale/en_GB/LC_MESSAGES/django.po | 0
.../locale/ko_KR/LC_MESSAGES/django.po | 0
.../locale/zh_Hans/LC_MESSAGES/django.po | 0
{disaster_recovery => freezer_ui}/models.py | 0
.../sessions/__init__.py | 0
.../sessions/browsers.py | 4 +-
.../sessions/panel.py | 4 +-
.../sessions/tables.py | 16 +++---
.../sessions/templates/sessions/_info.html | 0
.../sessions/templates/sessions/browser.html | 0
{disaster_recovery => freezer_ui}/sessions/urls.py | 2 +-
.../sessions/views.py | 12 ++--
.../sessions/workflows/__init__.py | 0
.../sessions/workflows/attach.py | 4 +-
.../sessions/workflows/create.py | 4 +-
.../freezer/css/bootstrap-datetimepicker.min.css | 0
.../static/freezer/css/freezer.css | 0
.../freezer/js/freezer.action.datetimepicker.js | 0
.../static/freezer/js/freezer.actions.action.js | 0
.../static/freezer/js/freezer.actions.advanced.js | 0
.../static/freezer/js/freezer.actions.snapshot.js | 0
.../static/freezer/js/freezer.common.js | 2 +-
.../static/freezer/js/freezer.datetimepicker.js | 0
.../static/freezer/js/freezer.jobs.create.infos.js | 0
.../static/freezer/js/freezer.jobs.sortable.js | 0
.../static/freezer/js/freezer.js | 2 +-
.../static/freezer/js/freezer.restore.js | 0
.../static/freezer/js/vendor/LICENSE | 0
.../freezer/js/vendor/bootstrap-datetimepicker.js | 0
.../static/freezer/js/vendor/moment.js | 0
{disaster_recovery => freezer_ui}/urls.py | 2 +-
{disaster_recovery => freezer_ui}/utils.py | 8 +--
{disaster_recovery => freezer_ui}/version.py | 0
manage.py | 2 +-
.../notes/package_rename-635a1b32e355cd11.yaml | 7 +++
setup.cfg | 2 +-
tox.ini | 17 +++---
101 files changed, 158 insertions(+), 241 deletions(-)
1
0
We high-spiritedly announce the release of:
tap-as-a-service 15.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/tap-as-a-service
Download the package from:
https://pypi.org/project/tap-as-a-service
Please report issues through:
https://bugs.launchpad.net/tap-as-a-service/+bugs
For more details, please see below.
Changes in tap-as-a-service 14.0.0..15.0.0
------------------------------------------
22dbac7 Use generated config files in devstack
7ff8685 Documentation for tap-mirrors
e6f997f CLI for Tap Mirrors
a2523e1 TAAS tap-mirror OVN driver
7acc665 Tap Mirror OVS driver
8e33b0b Remove unused Babel
7984544 GRE/ERSPAN mirroring for taas
17a2a81 Prohibit installation in too old python versions
4d9189d Doc: add documentation for usage and driver details for SRIOV driver
df325de Doc: add documentation for usage and flow examples for OVS
c4e4066 Do not set ageing in case of system datapath type
4a7fbb2 pep8: Issue on Noble (U. 24.04) with pylint
3f348f81 Fix reference to ``TestModelsMigrations`` class
2ef1b1f reno: Update master for unmaintained/2023.1
b8c65a9 pyupgrade changes for Python3.9+
647b902 Update jobs based on testing runtime for 2025.1
52598e7 Remove unused sections from setup.cfg
5111cee Remove unused openstack-common.conf
e71d241 Squash tass.ini and taas_plugin.ini
4fd17b7 Generate plugin config file
884aabe Update master for stable/2024.2
7b3fe88 Doc: remove sphinxcontrib-*diag from doc dependencies
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 3 +
.pylintrc | 2 -
.zuul.yaml | 2 +-
API_REFERENCE.rst | 70 ++-
babel.cfg | 2 -
devstack/README.rst | 16 +-
devstack/plugin.sh | 32 +-
devstack/settings | 10 +-
etc/neutron/policy.yaml.sample | 21 +
etc/oslo-config-generator/taas_agent.ini | 5 +
etc/oslo-config-generator/taas_plugin.ini | 5 +
etc/taas.ini | 3 -
etc/taas_plugin.ini | 7 -
neutron_taas/common/config.py | 4 +-
.../expand/f8f1f10ebaf9_mirroring_for_taas.py | 49 ++
.../alembic_migration/versions/EXPAND_HEAD | 2 +-
neutron_taas/db/tap_mirror_db.py | 139 +++++
neutron_taas/extensions/tap_mirror.py | 78 +++
neutron_taas/opts.py | 31 +
neutron_taas/policies/__init__.py | 2 +
neutron_taas/policies/tap_mirror.py | 78 +++
.../services/taas/agents/common/taas_agent.py | 52 ++
.../services/taas/agents/extensions/taas.py | 2 +-
.../services/taas/agents/taas_agent_api.py | 12 +-
.../services/taas/drivers/linux/ovs_taas.py | 110 +++-
.../services/taas/drivers/linux/ovs_utils.py | 2 +-
.../services/taas/drivers/linux/sriov_nic_taas.py | 1 +
.../services/taas/drivers/linux/sriov_nic_utils.py | 4 +-
.../services/taas/service_drivers/__init__.py | 18 +-
.../services/taas/service_drivers/ovn/__init__.py | 0
.../services/taas/service_drivers/ovn/helper.py | 124 ++++
.../taas/service_drivers/ovn/ovsdb/__init__.py | 0
.../service_drivers/ovn/ovsdb/impl_idl_taas.py | 153 +++++
.../services/taas/service_drivers/ovn/taas_ovn.py | 111 ++++
.../taas/service_drivers/service_driver_context.py | 13 +-
.../taas/service_drivers/taas_agent_api.py | 15 +-
.../services/taas/service_drivers/taas_rpc.py | 53 +-
neutron_taas/services/taas/tap_mirror_plugin.py | 155 +++++
neutron_taas/taas_client/osc/tap_mirror.py | 222 +++++++
.../unit/services/drivers/test_linux_ovs_taas.py | 381 ++++++++++++
.../drivers/test_linux_sriov_nic_driver.py | 93 ++-
.../services/drivers/test_linux_sriov_utils.py | 2 +-
.../ovn/ovsdb/schema_files/ovn-nb.ovsschema | 665 +++++++++++++++++++++
.../unit/services/ovn/ovsdb/test_impl_idl_taas.py | 74 +++
.../unit/services/taas/test_tap_mirror_plugin.py | 143 +++++
.../unit/taas_client/osc/test_osc_tap_flow.py | 10 +-
.../unit/taas_client/osc/test_osc_tap_mirror.py | 267 +++++++++
.../unit/taas_client/osc/test_osc_tap_service.py | 10 +-
openstack-common.conf | 6 -
...ap-mirror-with-ovn-driver-ff26bc79d3d411be.yaml | 8 +
...ap-mirror-with-ovs-driver-7f09654e1e960a0d.yaml | 4 +
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/conf.py | 14 +-
releasenotes/source/index.rst | 1 +
requirements.txt | 2 +-
setup.cfg | 41 +-
test-requirements.txt | 2 -
tools/generate_config_file_samples.sh | 28 +
tox.ini | 14 +-
80 files changed, 4490 insertions(+), 192 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 59dd2ca..845f6d1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2 +1,0 @@ pbr>=5.5.0 # Apache-2.0
-Babel>=2.8.0 # BSD
@@ -5,0 +5 @@ openstacksdk>=0.102.0 # Apache-2.0
+python-openstackclient>=3.12.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 9e788ca..fbc643d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14,2 +13,0 @@ testtools>=2.4.0 # MIT
-astroid>=2.12.4 # LGPLv2.1
-pylint==2.17.4 # GPLv2
1
0
We are jazzed to announce the release of:
placement 13.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/placement
Download the package from:
https://pypi.org/project/placement
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/placement
For more details, please see below.
Changes in placement 12.0.0..13.0.0
-----------------------------------
8f58003c Bump os-traits to 3.3.0 in requirements
49bdff56 Changed OS version CentOS to CentOS Stream.
981fa52d Adapt cmd unit test depending on python version
f20e13f0 Add round-robin candidate generation strategy
5a3ce853 doc: Use dnf instead of yum
e6fa73e8 Adapt tests to new messages from jsonschema 4.23.0
04718d65 Factor out allocation candidate generation strategy
9351241f Add a global limit on the number of allocation candidates
7d5c30dd Replace deprecated FormatChecker.cls_checks
4b026899 Update gate jobs as per the 2025.1 cycle testing runtime
eadcc022 reno: Update master for unmaintained/2023.1
8d60e4af Switch python version used for periodic jobs
ffbedd67 Remove Python 3.8 support
ad0e10ea requirements: Remove setuptools
dd43fa56 Drop db migration tool
f419ec41 Move upper functional job to py312
de225ad1 Replace py38 job by py311 job
51cff46c Drop SQLALCHEMY_WARN_20
9c810058 Update master for stable/2024.2
0736c610 pre-commit: Add sphinx-lint
aa520fec pre-commit: Add autopep8
09486704 Integrate pre-commit
1a7a8075 tox: Simplify functional testenv definitions
5a17e405 Add placement.wsgi.api module
Diffstat (except docs and test files)
-------------------------------------
.pre-commit-config.yaml | 40 +++
.zuul.yaml | 31 ++-
.../2005297-negative-aggregate-membership.rst | 4 +-
.../implemented/allow-provider-re-parenting.rst | 12 +-
placement/auth.py | 1 +
placement/cmd/status.py | 1 +
placement/conf/placement.py | 67 ++++-
placement/lib.py | 1 +
placement/objects/allocation_candidate.py | 142 ++++++----
placement/objects/research_context.py | 6 +
placement/objects/rp_candidates.py | 1 +
.../functional/db/test_allocation_candidates.py | 2 +
.../gabbits/allocation-candidates-member-of.yaml | 1 -
.../gabbits/allocations-bug-1714072.yaml | 6 +-
.../functional/gabbits/allocations-mappings.yaml | 4 +-
.../unit/objects/test_allocation_candidate.py | 57 ++++
placement/util.py | 24 +-
placement/{wsgi.py => wsgi/__init__.py} | 0
.../__init__.py => placement/wsgi/api.py | 17 +-
placement_db_tools/mysql-migrate-db.sh | 307 ---------------------
placement_db_tools/postgresql-migrate-db.sh | 287 -------------------
.../add-placment-wsgi-module-ae42938ebe0258cb.yaml | 22 ++
...n-limit-and-strategy.yaml-e73796898163fb55.yaml | 63 +++++
.../notes/drop-python-3-8-4636cf15992db5e7.yaml | 5 +
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
requirements.txt | 3 +-
setup.cfg | 5 +-
tox.ini | 26 +-
54 files changed, 708 insertions(+), 1075 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 9a919621..5932e743 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12 +11,0 @@ requests>=2.25.0 # Apache-2.0
-setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL
@@ -25 +24 @@ os-resource-classes>=1.1.0 # Apache-2.0
-os-traits>=3.1.0 # Apache-2.0
+os-traits>=3.3.0 # Apache-2.0
1
0
We are excited to announce the release of:
freezer 16.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/freezer
Download the package from:
https://tarballs.openstack.org/freezer/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/freezer
For more details, please see below.
Changes in freezer 15.0.0..16.0.0
---------------------------------
7c30d9a Update master for stable/wallaby
184f623 Update README.rst
79e0373 Send scheduler capabilities on client registration
3a70336 Add ability to restrict backup modes, actions, storages, engines
f1497d7 Small fix for install doc
df5d71e Disable test grouping in stestr
6256e29 [doc] Remove freezer-dr reference
7a2a42c ReSizeStream: reminder type
c4e03a3 Add unit test for test_backup
bffaa7d remove unicode literal from code
e949fce Update master for stable/2023.1
c3af2f5 Return freezer-base jobs back
0fe8824 Use TOX_CONSTRAINTS_FILE
c915f2d Add pre-commit
f4ba4fe Cleanup py27 support
aa6ce8d Restore CI jobs
14f186d Remove python-dev from bindep
8e55e2a fixed the error when mounting a lvm snapshot in which filesystem inconsistencies exist
91d2156 Replace abc.abstractproperty with property and abc.abstractmethod
735302b Remove unsupported distros and disable failing checks
24d9e27 reno: Update master for unmaintained/zed
8920bb5 reno: Update master for unmaintained/yoga
9ed8b2a Update master for stable/2023.2
f560504 setup.cfg: Replace dashes with underscores
Diffstat (except docs and test files)
-------------------------------------
.pre-commit-config.yaml | 28 ++++
.pylintrc | 67 +---------
.stestr.conf | 1 -
.zuul.yaml | 16 +--
README.rst | 18 +--
bindep.txt | 1 -
devstack/lib/freezer | 5 +
etc/scheduler.conf.sample | 14 ++
freezer/engine/engine.py | 3 +-
freezer/engine/rsync/pyrsync.py | 6 +-
freezer/mode/mode.py | 6 +-
freezer/scheduler/arguments.py | 50 +++++++
freezer/scheduler/freezer_scheduler.py | 19 ++-
freezer/scheduler/scheduler_job.py | 21 +++
freezer/scheduler/utils.py | 8 +-
freezer/snapshot/lvm.py | 6 +-
freezer/storage/ftp.py | 3 +-
freezer/storage/swift.py | 10 +-
freezer/utils/utils.py | 12 +-
releasenotes/source/2023.1.rst | 6 +
releasenotes/source/2023.2.rst | 6 +
releasenotes/source/conf.py | 14 +-
releasenotes/source/index.rst | 3 +
releasenotes/source/wallaby.rst | 6 +
releasenotes/source/yoga.rst | 2 +-
releasenotes/source/zed.rst | 2 +-
setup.cfg | 11 +-
setup.py | 9 --
test-requirements.txt | 2 +-
tox.ini | 9 +-
43 files changed, 542 insertions(+), 166 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index e8935ff..f705066 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -23 +23 @@ Pygments>=2.2.0 # BSD license
-pylint>=2.6.0;python_version>="3.0" # GPLv2
+pylint>=2.6.0 # GPLv2
1
0
We are jazzed to announce the release of:
mistral 20.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/mistral
Download the package from:
https://pypi.org/project/mistral
Please report issues through:
https://bugs.launchpad.net/mistral/+bugs
For more details, please see below.
Changes in mistral 19.0.0..20.0.0
---------------------------------
e9079fa1 Fix a log in action heartbeat checker
c095c371 Deprecate mistral coordination
fe0f449d Drop eventlet to spawn parallel tests
d2de1de1 Drop eventlet to spawn sqlite test
168f3755 Add some logs when starting unit test executor
8ea4afae Replace eventlet timeout in default_executor
fba7ce01 Get rid of deprecated keystone config override
6311d3de Simplify the TimeoutThreadWithException class
dc9af097 Add args and kwargs to legacy_scheduler target_method
ff2c2b3c Get rid of _th_loc_storage in mistral utils
9bba73e0 Allow admin to retrieve all values
9228d950 Add note about requirements lower bounds
55bf5259 Skip installation to speed up pep8
c14c5924 Stop using eventlet to start services in unit tests
fcbf1e7d Fix the MISTRAL ascii art
8df35dc9 Add missing oslo.service.service namespace to config
6df18aa2 Use threading instead of eventlet in race condition tests
f6e5ec8a Use threading instead of eventlet for launcher tests
b44114e1 Stop using eventlet in scheduler tests
d0705da1 Stop preparing eventlet test thread for Kombu RPC
2a98bb67 Switch default scheduler from eventlet to threading
58d08cab Get rid of eventlet in kombu RPC implementation
c27baffc Get rid of _pool_cfg from kombu RPC driver
76d76244 Deprecated kombu RPC driver
0f2a37b3 Fix mistral config reference generation
02813c3c Get rid of rpc_response_timeout_opt
3052da16 Use correct number of spaces in config-reference doc
c7c7a457 Generate sample config in an existing folder
48aa547a Clean install doc
6eead447 Fix list of mistral components in admin guide
c3d31385 Clean up the mistral install guide
54b7b31c Use threading instead of eventlet for engine queue
113f81df Stop using eventlet for action heartbeat threads
1037f94e Stop using eventlet for service events
c31e9356 Use correct console-doc style
79eb6e29 Get rid of nose
01005903 Replace occurence of eventlet.sleep by time.sleep
a332dd35 Stop verifying some tests tasks results
74c6e19b Add join tasks to test_tasks_function
ff75c7fc Rewrite test_retry_async_action
84d6baa4 Fix join test_triggered_by_error
f9d99061 Remove print ARNAUD that was merged by mistake
93910447 Fix keyboardinterrupt test on kombuserver
f90a0af4 Fix log formatting on keyboard interrupt
091179a7 Dynamically generate tests for default tasks
add8a2eb Fix SQLite named_locks
db02b3d3 Stop using eventlet in sqlite_lock
451f90e4 Use threading instead of eventlet for kombu server
7d5a1d71 Use threading in OsloRPCServer
ab6a5c23 Deprecate eventlet executor for engine server
757e376d Let's add extra info on how to have mistral-exta
90c3be37 reno: Update master for unmaintained/2023.1
b974de98 Replace deprecated configure_auth_token_middleware
cec01cef Remove default override for config options policy_file
570cb892 [doc] fix working dir to run tempest tests for mistral
38fd6d5d Update documentation
a1959324 Update gate jobs as per the 2025.1 cycle testing runtime
cd56b91d Fix missing extra line in doc
ea865276 Make mistral reproducible
e71ae064 Remove remaining reference to oslosphinx
800c3dbf Add fast8 tox env
bcc071cf Force mistral tests to log in mistral.log
a6deb2c4 Stop printing useless tests results
7ce4349e Stop printing when services starts
ffe7db85 Remove workaround for eventlet < 0.27.0
7fbabf99 Fix some more race conditions
858a9aa1 Rework tox unit tests config
6d96f938 Disable mysql and postgresql unit tests
2d3f0251 Remove rally test job
51d35843 Replace deprecated datetime.utcnow()
183a63b7 Fix py312 random int range
542a232f Move release note file to correct place
078fbc9e Update master for stable/2024.2
d9a4e5c3 Replace deprecated LegacyEngineFacade
e984960e reno: Update master for unmaintained/zed
e5454fbd Remove hacking rules to enforce six usage
1323ed50 Remove policy.json file
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +
.zuul.yaml | 70 ++--
HACKING.rst | 5 -
api-ref/source/conf.py | 14 +-
devstack/plugin.sh | 21 +-
devstack/settings | 1 -
.../admin/configuration/config-reference.rst | 12 +
.../{policy-guide.rst => policy-reference.rst} | 16 +-
.../{samples/policy-yaml.rst => policy-sample.rst} | 2 +-
.../cli/advanced.rst} | 27 +-
etc/policy.json | 1 -
mistral/api/access_control.py | 8 -
mistral/cmd/launch.py | 33 +-
mistral/config.py | 52 +--
mistral/db/sqlalchemy/base.py | 12 +-
mistral/db/sqlalchemy/sqlite_lock.py | 14 +-
mistral/db/v2/sqlalchemy/api.py | 14 +-
mistral/engine/post_tx_queue.py | 72 ++--
mistral/executors/default_executor.py | 59 ++-
mistral/hacking/checks.py | 31 --
...slo_rpc_executor-eventlet-8ca1cc8a71de59c4.yaml | 7 +
mistral/rpc/base.py | 2 +-
mistral/rpc/kombu/kombu_client.py | 6 +-
mistral/rpc/kombu/kombu_listener.py | 3 +-
mistral/rpc/kombu/kombu_server.py | 25 +-
mistral/rpc/oslo/oslo_server.py | 2 +-
mistral/scheduler/default_scheduler.py | 20 +-
mistral/service/base.py | 18 +-
mistral/services/action_heartbeat_checker.py | 17 +-
mistral/services/action_heartbeat_sender.py | 7 +-
mistral/services/expiration_policy.py | 4 +-
mistral/services/legacy_scheduler.py | 4 +-
mistral/services/maintenance.py | 4 +-
mistral/services/periodic.py | 4 +-
mistral/services/triggers.py | 8 +-
.../unit/engine/test_direct_workflow_rerun.py | 87 +---
.../unit/engine/test_disabled_yaql_conversion.py | 4 -
.../unit/engine/test_subworkflows_pause_resume.py | 73 +++-
.../unit/engine/test_task_started_finished_at.py | 4 +-
mistral/utils/__init__.py | 19 +-
mistral/utils/profiler.py | 8 +-
mistral/utils/rest_utils.py | 2 +-
mistral/workflow/data_flow.py | 18 -
.../deprecate-coordination-cf5f28b30a8d407f.yaml | 13 +
.../notes/kombu-deprecated-26337b2d81965508.yaml | 8 +
...rors-for-std-mistral-http-b852b6d8f0034477.yaml | 0
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
releasenotes/source/zed.rst | 2 +-
requirements.txt | 10 +-
setup.cfg | 2 +
test-requirements.txt | 1 -
tools/config/config-generator.mistral.conf | 4 +
tools/docker/DOCKER_README.rst | 2 -
tools/docker/Dockerfile | 68 ---
tools/docker/docker-compose/auth.json | 8 -
tools/docker/docker-compose/infrastructure.yaml | 79 ----
.../docker/docker-compose/mistral-multi-node.yaml | 96 -----
.../docker/docker-compose/mistral-single-node.yaml | 22 -
tools/docker/docker-compose/mistral.env | 4 -
tools/docker/start.sh | 41 --
tools/flake8wrap.sh | 24 ++
tools/prepare_db.sh | 65 +++
tox.ini | 157 +++----
114 files changed, 1423 insertions(+), 2066 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 63c74c32..0fde366a 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.
+
@@ -5 +9 @@ dogpile.cache>=0.6.2 # BSD
-eventlet>=0.26.0 # MIT
+eventlet>=0.27.0 # MIT
@@ -19,2 +23,2 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=3.6.0 # Apache-2.0
-oslo.utils>=4.0.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
+oslo.utils>=7.0.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 58405d6e..864a7e99 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +6,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-nose>=1.3.7 # LGPL
1
0
We eagerly announce the release of:
glance 30.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/glance
Download the package from:
https://tarballs.openstack.org/glance/
Please report issues through:
https://bugs.launchpad.net/glance/+bugs
For more details, please see below.
Changes in glance 29.0.0..30.0.0
--------------------------------
1f4f380bd Refresh Glance example configs for Epoxy rc1
6e3dd3644 Replace redundant own utilities
f54f6b3b1 Safety check output of image conversion
046c738c4 Allow ignoring specific gpt safety checks
75a8851c1 Run safety checks on uploaded content
7c748d385 Make glance able to require disk_format match
9f86f15a0 Imported Translations from Zanata
21c478b9c Add support for service role in discovery API
e791ed565 Fix broken metadata function calls
5cfecc799 Remove FunctionalInitWrapper
a468ac01f Inherit from BaseTestCase rather than FunctionalTest when possible
33fa9596e Remove S3 credentials from debug log
ebb05e3b9 Fix api path in multistore doc
81e3cc62a docs: Fix possible values for enabled_backends
579ee7ade Bump minimum version of glance_store
5e3d32e1f Refresh Glance example configs for epoxy m2
69cb639f0 Release notes for Epoxy Milestone 2
0addd1a99 Move all periodic tips jobs from py311 to py313
b95a163c9 Documentation: use dnf instead of yum
fbf4cd0c4 Imported Translations from Zanata
417b2225c Fix doc bug
ff313acaf Add ``fsid`` to RBD store properties
4418b0f74 Tempest job for s3 backend of glance
7eb5e2948 Remove default override for config options policy_file
1ca8c20d4 Update gate jobs as per the 2025.1 cycle testing runtime
45202b1e0 Fix performance glitch while sorting image locations
293cb2c0b Change DB migration constant to 2025_1
1f8a84cdc Replace deprecated functions in datetime
26b9e49ab Revert "Increase per project quota to 50"
acab9351a Remove Windows OS support
abc5a8838 Add new glance.wsgi module
704b24fd6 Increase per project quota to 50
7101293a5 Use time.sleep() instead of eventlet.sleep()
7a98b9f0f Doc: Add info about multi-attach volume types
017080208 Imported Translations from Zanata
f640f5e2d Remove no-longer valid comment about IPv6 workaround
0e7ce177a Remove python 3.8 support
b35138d28 Add note about version changes
9cacc3554 Remove workaround for eventlet bug #592
562a2eb48 Do not call Enforcer.__call__ at module level
6c5f27f96 api-ref: Update with links to 2.17
7ea554b2d Update master for stable/2024.2
c080d2819 [doc]Update hw_vif_model as it supports igb now
7ab301434 api-ref: Fix 'name' reference
13a382d03 Remove workaround for eventlet <0.22.0
0be2737d6 Use format_inspector from oslo
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 121 ++-
.../source/v2/metadefs-namespaces-properties.inc | 6 +-
.../v2/samples/stores-list-detail-response.json | 3 +-
api-ref/source/versions/index.rst | 8 +
.../versions/samples/image-versions-response.json | 12 +-
etc/glance-api.conf | 411 +++-----
etc/glance-cache.conf | 53 +-
etc/glance-manage.conf | 14 +-
etc/glance-scrubber.conf | 61 +-
etc/metadefs/compute-libvirt-image.json | 5 +-
glance/api/policy.py | 10 -
glance/api/v2/discovery.py | 24 +-
glance/api/v2/image_data.py | 6 +
glance/api/versions.py | 3 +
glance/async_/flows/location_import.py | 3 +-
glance/async_/flows/plugins/image_conversion.py | 70 +-
glance/cmd/api.py | 22 +-
glance/cmd/cache_manage.py | 8 +-
glance/cmd/scrubber.py | 45 +-
glance/common/config.py | 36 +-
glance/common/exception.py | 4 +
glance/common/format_inspector.py | 1022 --------------------
glance/common/timeutils.py | 52 +-
glance/common/utils.py | 18 +-
glance/common/wsgi.py | 139 +--
glance/db/migration.py | 2 +-
glance/db/simple/api.py | 62 +-
glance/db/sqlalchemy/api.py | 43 +-
glance/db/sqlalchemy/metadata.py | 16 +-
glance/db/sqlalchemy/models.py | 3 +-
glance/db/sqlalchemy/models_metadef.py | 2 +-
glance/domain/__init__.py | 2 +-
glance/image_cache/__init__.py | 4 +-
glance/image_cache/drivers/common.py | 2 +-
glance/locale/en_GB/LC_MESSAGES/glance.po | 9 +-
glance/location.py | 99 +-
glance/opts.py | 1 -
glance/policies/base.py | 3 +
glance/policies/discovery.py | 8 +-
glance/sqlite_migration.py | 10 +-
.../image_cache/drivers/test_centralized_db.py | 1 -
.../async_/flows/plugins/test_image_conversion.py | 91 +-
glance/wsgi/api.py | 22 +
...-fsid-in-rbd-store-detail-9c611684c7f59c32.yaml | 5 +
.../add-glance-wsgi-module-bbebcb5c23f41917.yaml | 22 +
...service-role-to-discovery-e37eb2fd74ed20ef.yaml | 11 +
.../notes/epoxy-milestone-2-570d8688494d7015.yaml | 10 +
...image-safety-check-config-94b5fc7997f9f8bf.yaml | 22 +
.../notes/remove-py38-0d208cda61f2e0a7.yaml | 5 +
.../notes/remove-windows-873b19639c9b6ed5.yaml | 5 +
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 96 +-
requirements.txt | 11 +-
setup.cfg | 3 +-
90 files changed, 1322 insertions(+), 2924 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 3daf1052f..25231aae0 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -16 +16 @@ oslo.upgradecheck>=1.3.0 # Apache-2.0
-oslo.utils>=4.7.0 # Apache-2.0
+oslo.utils>=7.3.0 # Apache-2.0
@@ -38 +38 @@ oslo.reports>=1.18.0 # Apache-2.0
-oslo.policy>=4.4.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
@@ -44 +44 @@ osprofiler>=1.4.0 # Apache-2.0
-glance-store>=2.3.0 # Apache-2.0
+glance-store>=4.9.0 # Apache-2.0
@@ -51,5 +50,0 @@ cursive>=0.2.1 # Apache-2.0
-# timeutils
-iso8601>=0.1.11 # MIT
-
-os-win>=4.0.1 # Apache-2.0
-
1
0
We are pleased to announce the release of:
octavia 16.0.0
This release is part of the epoxy 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.
Changes in octavia 15.0.0..16.0.0
---------------------------------
3b236b254 Bump octavia-lib requirement to 3.8.0
2374e72be Update TOX_CONSTRAINTS_FILE for stable/2025.1
64fa982b3 Update .gitreview for stable/2025.1
4d555babf Re-enabling doc job
54c059d94 Add support for SR-IOV member ports
1584e3e59 Fix network no-op driver for concurrency
38eb7cabe Disabling doc job
5396c627f Added RBAC for vip_sg_ids
0e440c9e7 Handle custom security groups in controller
ee793c65d Add vip_sg_ids to the API
165cfe86e Drop VIRTUAL_ENV
9a764d122 Revert tempest disable due to RBAC changes
8f76ac611 Add get_security_group_by_id to network driver
a9e986939 Add sg_id to Vip data_model
22929f654 Make keystone default roles the default RBAC
f779cb047 Disable false-positive pylint check
4efb3aee9 Update gate jobs as per the 2025.1 cycle testing runtime
b0aa2a36f Fix verification of certificates signed by a private CA
9dda6ead0 Fix role names in policy documentation
f1af44a60 Unpin pip-extra-reqs
f76fa1ae3 Remove amphora_health record on revert CreateAmphoraInDB
bd9e8d9e0 Document how the stale amps get processed internally
430854c13 Handle undefined protocol field in security group rules correctly
7e096d19d Fix missing GARP with UDP listeners on SINGLE LB
7c08b63a3 Do not fail on revert PlugVIPAmphora due undefined db_lb
9c5ef5eaf tox: Drop envdir
d1bb76822 Run octavia-db-manage in grenade testing from venv
515f64156 Fix remaining reference to Python 3.8
e8c849f42 Use common escape_ipv6 utility to escape IPv6 addresses
119b14ed9 Replace deprecated constant_time_compare
eab28866b Imported Translations from Zanata
12ef28d87 Switch back to built-in md5 function
3c6f10f18 Fix pep8 with pylint 3.3.0
c2807ad79 Fixed retry functions with tenacity 8.5.0
56cbf437b Support for Jobboard etcd backend
5f302d75e Drop SQLALCHEMY_WARN_20
08427af57 Update master for stable/2024.2
d682e74d3 Fix amphora image builds to use DIB bindep
c612464f2 compat with cryptography 43
cb5dca9bd Add option to limit recursion in to_data_model
57ba00d52 Remove LegacyEngineFacade
e0b5f9162 Allow using non-default Redis database
4cc997c62 Honor [neutron] service_type
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.pylintrc | 3 +-
TESTING.rst | 4 +-
api-ref/source/parameters.yaml | 32 +++
.../source/v2/examples/member-create-response.json | 3 +-
.../source/v2/examples/member-show-response.json | 3 +-
.../source/v2/examples/member-update-response.json | 3 +-
.../source/v2/examples/members-list-response.json | 3 +-
api-ref/source/v2/loadbalancer.inc | 12 +
api-ref/source/v2/member.inc | 6 +
devstack/plugin.sh | 11 +-
devstack/settings | 1 +
devstack/upgrade/upgrade.sh | 2 +-
diskimage-create/tox.ini | 1 -
.../feature-classification/feature-matrix-lb.ini | 8 +
.../amphora-agent/source-repository-amphora-agent | 4 +-
elements/octavia-lib/source-repository-octavia-lib | 2 +-
etc/policy/octavia-advanced-rbac-policy.yaml | 74 ++++++
.../backends/agent/api_server/keepalivedlvs.py | 9 +
.../backends/agent/api_server/loadbalancer.py | 12 +-
octavia/amphorae/backends/agent/api_server/plug.py | 2 +-
octavia/amphorae/backends/agent/api_server/util.py | 37 ++-
.../backends/health_daemon/status_message.py | 3 +-
.../amphorae/drivers/haproxy/rest_api_driver.py | 19 +-
.../api/drivers/amphora_driver/flavor_schema.py | 5 +
octavia/api/drivers/noop_driver/driver.py | 3 +-
octavia/api/drivers/utils.py | 12 +
octavia/api/root_controller.py | 10 +-
octavia/api/v2/controllers/base.py | 12 +-
octavia/api/v2/controllers/listener.py | 14 +-
octavia/api/v2/controllers/load_balancer.py | 34 ++-
octavia/api/v2/controllers/member.py | 62 ++++-
octavia/api/v2/types/load_balancer.py | 8 +-
octavia/api/v2/types/member.py | 3 +
octavia/common/base_taskflow.py | 29 ++-
octavia/common/clients.py | 10 +-
octavia/common/config.py | 19 +-
octavia/common/constants.py | 6 +
octavia/common/data_models.py | 34 ++-
octavia/common/exceptions.py | 5 +
octavia/common/utils.py | 5 +-
octavia/common/validate.py | 16 ++
octavia/compute/drivers/noop_driver/driver.py | 31 ++-
octavia/controller/healthmanager/health_manager.py | 7 +
.../controller/worker/v2/flows/amphora_flows.py | 8 +-
.../controller/worker/v2/flows/listener_flows.py | 3 +-
.../worker/v2/flows/load_balancer_flows.py | 38 +++
.../worker/v2/taskflow_jobboard_driver.py | 40 +++-
.../controller/worker/v2/tasks/compute_tasks.py | 14 +-
.../controller/worker/v2/tasks/database_tasks.py | 32 ++-
.../controller/worker/v2/tasks/network_tasks.py | 188 +++++++++------
octavia/db/base_models.py | 34 ++-
.../3097e55493ae_add_sg_id_to_vip_table.py | 39 ++++
.../versions/8db7a6443785_add_member_vnic_type.py | 36 +++
.../versions/fabf4983846b_add_member_port_table.py | 40 ++++
octavia/db/models.py | 44 +++-
octavia/db/repositories.py | 97 +++++++-
octavia/network/base.py | 41 +++-
octavia/network/data_models.py | 3 +-
.../drivers/neutron/allowed_address_pairs.py | 101 ++++----
octavia/network/drivers/neutron/base.py | 44 ++--
octavia/network/drivers/neutron/utils.py | 4 +-
octavia/network/drivers/noop_driver/driver.py | 179 +++++++++++---
octavia/policies/__init__.py | 4 +
octavia/policies/advanced_rbac.py | 95 ++++++++
octavia/policies/base.py | 106 +--------
octavia/policies/keystone_default_roles.py | 81 +++++++
octavia/policies/loadbalancer.py | 13 ++
.../backend/agent/api_server/test_server.py | 9 +-
.../api/drivers/driver_agent/test_driver_agent.py | 3 +-
.../backends/agent/api_server/test_util.py | 90 +++++++-
.../drivers/haproxy/test_rest_api_driver_1_0.py | 17 +-
.../unit/certificates/generator/test_local.py | 2 +-
.../compute/drivers/noop_driver/test_driver.py | 30 ++-
.../worker/v2/flows/test_load_balancer_flows.py | 28 ++-
.../worker/v2/tasks/test_database_tasks.py | 34 ++-
.../worker/v2/tasks/test_network_tasks.py | 179 +++++++-------
.../worker/v2/test_taskflow_jobboard_driver.py | 8 +
.../drivers/neutron/test_allowed_address_pairs.py | 107 +++++----
.../unit/network/drivers/neutron/test_base.py | 14 +-
.../network/drivers/noop_driver/test_driver.py | 97 ++++----
playbooks/image-build/run.yaml | 52 +----
...-support-for-member-ports-b78d55469303f258.yaml | 9 +
...lt-rules-the-default-RBAC-989c51ab2e319549.yaml | 24 ++
.../notes/add_vip_sg_ids-feaeaf8b3301e267.yaml | 6 +
...vip_sg_ids_amphora_driver-8b8078aa674ff60a.yaml | 10 +
...lth_row_on_amphora_revert-082f94459ecacaa2.yaml | 7 +
...etcd-backend-for-jobboard-a08ef7c37180e7c6.yaml | 4 +
...up-rule-has-protocol-none-9b7217c5477d01b6.yaml | 5 +
...ix-garp-for-udp-listeners-6bf2ec8d491d1e1b.yaml | 7 +
...te-ca-signed-certificates-b9386a0d92627b03.yaml | 5 +
..._db_lb_on_plug_vip_revert-5c24af124498b246.yaml | 7 +
.../notes/jobboard-redis-db-4a6206247270e996.yaml | 5 +
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 66 +++++-
requirements.txt | 4 +-
setup.cfg | 4 +
tools/create_flow_docs.py | 19 +-
tox.ini | 49 +---
zuul.d/jobs.yaml | 62 +++--
zuul.d/projects.yaml | 10 +-
119 files changed, 2791 insertions(+), 758 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 05a072614..b79ff24a4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -43 +43 @@ Jinja2>=2.10 # BSD License (3 clause)
-taskflow>=5.5.0 # Apache-2.0
+taskflow>=5.9.0 # Apache-2.0
@@ -48 +48 @@ jsonschema>=3.2.0 # MIT
-octavia-lib>=3.3.0 # Apache-2.0
+octavia-lib>=3.8.0 # Apache-2.0
1
0
We are overjoyed to announce the release of:
venus-dashboard 6.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/venus-dashboard
Download the package from:
https://tarballs.openstack.org/venus-dashboard/
Please report issues through:
https://bugs.launchpad.net/openstack-venus/+bugs
For more details, please see below.
Changes in venus-dashboard 4.0.0..6.0.0
---------------------------------------
8a49ea3 log detect bug fix
ceb51de Update python classifier in setup.cfg
Diffstat (except docs and test files)
-------------------------------------
setup.cfg | 2 ++
.../admin/venus/logError/logError.controller.js | 32 ++++++++++++++++++----
2 files changed, 29 insertions(+), 5 deletions(-)
1
0
We high-spiritedly announce the release of:
neutron 26.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/neutron
Download the package from:
https://tarballs.openstack.org/neutron/
Please report issues through:
https://bugs.launchpad.net/neutron/+bugs
For more details, please see below.
Changes in neutron 25.0.0.0rc1..26.0.0
--------------------------------------
06822ede3b Implement check_vlan_qinq to return True in SR-IOV mech driver
81a5dec22f Update provider name when migrating to OVN
8f13c84be7 [OVN] Make the Logical_Switch_Port UP event more robust
8b1b627a8e Allow to delete singleton instances
553fe10661 [OVN][Placement] Reduce log level to error when Placement exception
cccb9a7b52 Remove flaky batch notifier unit test
a6ae148a63 Remove the duplicated YOGA database milestone
33d4cc5068 Revert "[eventlet-removal] Remove eventlet from DHCP agent"
f34e332365 Revert "[eventlet-removal] Remove the usage of eventlet in the DHCP agent"
b62e7329a1 [OVN][FT] Use MySQL backend for ``TestNBDbMonitor*`` classes
04ddcdcd07 [OVN] Isolate ``test_ovsdb_monitor.TestNBDbMonitor*`` FTs
7be9b5d4f7 [2025.1 only] Switch to 2025.1 neutron-tempest-plugin jobs
e090b7d374 Spawn IPv6 metadata proxy only when required
fe9ee65ab7 [stable-only] Fix the Neutron milestones list
2e56cd418d Fast exit if "segments" plugin is not loaded
8a2b0f9810 Update TOX_CONSTRAINTS_FILE for stable/2025.1
37a113e6c6 Update .gitreview for stable/2025.1
d52c22bbac [OVN] Do not delete twice the agent from the cache
dfea81a4bf [S-RBAC] Fix policies for the SG rules API
6d53662785 [OVN] Do not call ``QoSAddCommand`` without max-bw/DSCP rule
892bd552be [fullstack] Re-implement ``wait_until_true`` with eventlet
1aa71c3cd3 [eventlet-removal] Remove logger mechanism from functional tests
978d0b7bfb [OVN] Retrieve the HA_Chassis_Group in ``_sync_ha_chassis_group``
392ba369b2 [eventlet-removal] Remove the usage of eventlet in the SR-IOV agent
b658c52d83 [QoS] QoS rule check also considers the direction
7997222e40 Add router ``PUT`` external gateways actions policies
71c83f4393 Increase batch notifier interval in unit tests
15ea57f90e agent/linux: remove eventlet usage from ip_lib
cde5580bf1 [OVN] Add option to allow configuring dns ovn-owned
e4ee14a9ac Drop treatment for CentOS Stream 8
539a41f242 agent/linux: remove eventlet usage from ip_conntrack
7c32d43c4b [eventlet-removal] Remove the usage of eventlet in the DHCP agent
f92c677b56 Use openvswitch interface driver by default
bdb1850c7d Validate ovn_nb/sb_connection in config parser
bc0741e689 [eventlet-removal] Remove eventlet in the Metadata Agent
fe1217acf0 Add .mypy_cache directory to the gitignore file
534c2dfdaa [eventlet-removal] Remove eventlet from DHCP agent
ec257eb74a [FT] Mark some ``TestNeutronServer`` tests as unstable
a0e2b939a9 [eventlet-removal] Replace ``eventlet.spawn_n`` usage
8160f2d20e [OVN][QoS] Don't change the input parameter in ``_add_port_qos_rules``
dad75a8202 Fix wrong rejex for [ovs] ovsdb_connection
9c6d063966 osken: bump version to 3.0.0
3fbb88b472 [ovn][trivial] Add 'empty_string_filtering' extension to OVN
5c6d55c819 Fix some trivial pylint errors in test_utils
9c08eb73ff agent/linux: remove eventlet usage from of_monitor
c9b6679b4f Ensure string type in provnet-network-type ext_id
8152b83384 [OVN] Isolate ``test_maintenance.Test*Maintenance`` FTs
9f1fc50de2 Add devstack plugin to enable ovs metadata_path
907a2f6317 Fullstack case for metadata path
7a980b1533 Enable ovsdbapp logging in tests
f352a4eb57 ml2/sriov: bind port on segment that subnet belongs
8dd6f62e20 Policy validator "type:list_of_dict*" also contains sub attributes
dd617c0fbe Update the resource request in custom made member actions
86f94de99a [eventlet-removal] Remove logger mechanism from remaining ML2/OVN CI jobs
9710673ff5 [OVN] Create a deterministic hash ring node UUID generator
2d8fe38ad5 Update Nova aggregates on changed host mappings
b1ebfd62d5 [eventlet-removal] Remove the usage of eventlet in the Neutron API (2)
57e1f20373 [eventlet-removal] Explicitly define the mechanism driver
0433d0846e Replace remaining ovsfw constants
df95168a8d Drop useless sanity check of nova notification support
438808f161 Revert "Track all interfaces in Keepalived"
ceafa66231 [eventlet-removal] Remove "logger" mechanism from ML2/OVN CI jobs
d98d028527 [OVN] Change ``PeriodicWorker`` executor to ``ThreadPoolExecutor``
91d67c9d4e [eventlet-deprecation] Add a warning message after monkey_patched
fa344aa0a9 Remove unneeded parens
71ad55fbd7 Remove dibbler code from l3 agent and elsewhere
0b975a679f Switch dvr grenade job Neutron API WSGI module
6a4cac1c56 Use shared constants for [ovn] ovn_l3_scheduler
8f72fa40c0 Use centralized constants for [ovn] neutron_sync_mode
8a74d953c2 Use native interface to explain choices
c574b8acfa Add metadata path extension openflows
455a8a2224 Add basical functionalities for metadata path extension
7618a6146e [OVN][FT] Use MySQL backend for ``Test*Maintenance`` classes
f27b795349 Neutron FWAAS vArmour driver was removed 8 years ago
77da6c37e6 ml2/ovs: change log level from DEBUG to INFO for port deletion during binding
ce14098010 [OVN] Fix metadata server when body response is empty
a962fc636b [FT] Relax the active wait period in ``TestAsyncProcess``
8cf622d83d QinQ implementation for the ML2/OVN backend
e20ef3fa86 QinQ API extension implementation in the Neutron server
0632996b17 [Grenade] Explicitly enable correct neutron services in devstack config
be259520ce Add meter bandwidth limit support
a81aa17471 OVS: Set log level to INFO for unconfigured ofport cases
f44977d094 Fix typo in linuxbridge removal note
87bdfd12a8 Do not assume the existence of a trunk bridge since os-vif may have deleted it
4d242247e7 Check existence of GW port before trying to delete it
1dabdf118d [eventlet-removal] Use non-eventlet metadata proxy in OVN metadata agent
b0c02c2892 [eventlet-removal][OVN] Require wsgi start-time in the config
810b224b91 Add limit of tags for every resource
c71e705797 polling: remove usage of eventlet.sleep()
ec9f2577c8 common: fix wait_until_true to support native thread
af4b1da59a async_process: remove usage of eventlet for AsyncProcess
f29b2d3a7a async_process: fix potential race condition with respawn
40657fab63 Optionally configure IPv6 metadata address
e0c9f4c200 [eventlet-removal] Remove eventlet from ``TestNovaNotify``
646a5df5b4 [eventlet-removal] Remove ``subprocess_popen``
725d222ddd [eventlet-removal] Reimplement ``common.utils.spawn_n``
d2a3654e01 Make API policies for tags to be working with resource attributes
3ff599700c [eventlet-removal] Remove the usage of eventlet in the Neutron API
27cbd9821e Don't change original target dict by the OwnerCheck policy rule
3dfaa1dbbc [Functional job] Switch test order to avoid memory issue
25d0273588 Remove linuxbridge driver
47718064b7 tests: Don't assume update outside ovs txn notifies separately from create
466a4f62d2 ovn: Log every time a hash ring node is touched
d5404549bb [FT] Reduce arping interval in ``test_send_ipv4_addr_adv_notif``
a12aa9f552 [OVN] Reduce the OVN hash ring touch interval
9a0814c760 Fixup conntrackd support
2cd4e7753d nit: Remove unused updated_at argument for touch_node
3cf0bbbe74 Remove shorturls from code
949b098626 Add option to configure live migration activation strategy for OVN
9568038198 functional: Handle ovsdb monitor returning inserts in different checks
adba4b960c Move neutron rally jobs to wsgi
9867f072c1 Fix neutron-status upgrade check tool
7c1853d67d doc: Remove description of CI jobs from documentation
1364715541 Install DVR src to MAC flow for AAPs
9a077bbd7d Use is_cidr_host utils to detect if AAP ip is host in l3_dvr_db
d3bc0b920b Synchronize the network segment range initialization
777d582a37 [eventlet-deprecation] Remove ``common.utils.spawn``
513dec89f5 [eventlet-deprecation] Remove eventlet usage in ``ProcessMonitor``
2aeba1be1e [OVN] Check if the LRP exists in ``check_provider_distributed_ports``
c7ca16952b Remove unused classes in functional tests
b2a6b6cf36 [eventlet-deprecation] Implement a metadata proxy without eventlet
cc36b46032 Fix some pylint issues in the test tree
434ef3018e Enable mypy pre-commit hook
9127c121da Bump mypy to 1.14.1 (the latest)
6154d6a3c1 tests: Remove unnecessary hasattr() by always defining attribute
c4437501c2 Remove is_bsd skips in test suite
db42c669d0 Consume neutron-lib Context class project_id change
2c750b616e [eventlet-deprecation] Nova notifier retrieves local thread
08afd36e54 Make sure that policy enforcer is initialized before use
13522f295c [eventlet-deprecation] Remove eventlet usage in ``BatchNotifier``
42ac5e8832 doc: Use dnf instead of yum
e16ab24cd8 ovn: Disable activation-strategy=rarp for DPDK ports
51528a8023 [eventlet-deprecation] Add a reference document
9b2b7faee6 Setup DVR router ARP for AAP with correct MAC
0c29e730db Catch when the process does not exist when killing it
e506a2a793 Switch to OVS/OVN LTS branches
a230c6fe77 Import NetNS from pyroute2
0e304fabc1 [OVN] Create a OVN hash ring maintenance thread per worker
47d3859c52 [OVN] Improve ``_ovn_qos_rule`` method, removing unnecesary argument
e6c789b196 [OVN] Use the Neutron port ID in ``UpdateLSwitchPortQosOptionsCommand``
526f238fa4 [OVN] QoS max and min rules should be defined in LSP for phynet ports
f7579b1737 [UT/FT] Reduce the vni_ranges in OVN unit tests
d080b35782 [OVN] Set always the GW LRP "gateway_mtu" option
73720da72f [OVN] Isolate test_ovn_db_sync.TestOvnNbSync.* FTs
6f06d8fa66 Remove port resource change after unplug
38ab07ed51 Fix psutil 'connections' deprecation warning
5ee7ac1261 Read the environment variable EVENTLET_MONKEYPATCH
ad71c927b3 Allow network owner reader to get subnets
046be3978f ml2/ovs: improve log message for ports without VLAN tags/net-id during OVS restore
fa1dfd81c3 [OVN] Use the MySQL backend for the ``TestOvnNbSync`` tests (2)
a475aefdcb [functional][CI] split tests in more runs
a3689956dd Revert "[HA] Do not add initial state change delay in HA router"
ea5a8d3123 Accept both error 400 and 500 in the vlan_transparent unit tests
dce01d7550 Fast exit when initially creating tunnel allocations
865097c689 [OVN] Improve initial hash ring setup
bedb19bb22 Prevent calling "monkey_patch" more than once
ce6e2d87c5 Use the correct input for OVN agent deletion
7c8be3ccbc [OVN] Optimization in the router port options generation
95a8101de2 Support Guru Meditation Report(GMR) in agents
6e4891f68d Fix invalid url in OVN doc
b7b7a31472 Add a detailed debug message in case of segment allocation fail
bb2f8edaa8 Set IP/MAC address on VPNaaS gateway port (OVN)
498b0258c5 Fix setting up functional test environment
813e743f06 [Fullstack] Don't assert no connectivity after host is stopped
498be543e0 Add extension "uplink-status-propagation-updatable"
497cd55031 Bump cirros version to 0.6.3
2f8dd4919b [OVN] Update the LRP gateway_mtu when the external network changes
9a62ddec03 Update tempest jobs for Ubuntu Noble (24.04)
32cade4185 Add a repr method to fixture ``Host``
3a0f7bcb97 Drop duplicate hacking check
07b34c598f Drop zuul_work_dir var from neutron-functional job
fb75d3c4f1 Fix the tagging policy engine
f3ae342143 Bump requests to 2.32.3
9983ca66eb Bump httplib2 to 0.22.0
7a12f34b1b Bump psutil to 6.1.0
54dba256ea [FT] ``Queue.external_ids:queue-num`` should be a number
6aaf293ffd Add policy enforcer for QoS policy "tags" service plugin
078a48d803 Replace ``ReaderWriterLock`` with ``threading.RLock``
3e05a034c4 Migrate from tenant_id to project_id in ``test_network.py``
90d836bc42 Filter out the floating IPs when removing a shared RBAC
6d1dba0992 [OVN] Add a creation wait event for the PG drop tests
abb527d1e4 [OVN] Use the MySQL backend for the ``TestOvnNbSync`` tests
d8457e4bc1 [OVN] Implement a utility method to retrieve the Neutron name
09e13ffad0 Make grenade jobs work with Neutron API WSGI module
2d314a752e ovn: don't log about rev number bumped when it was not bumped
44c9639eb3 Bump os-ken version to 2.11.2
0415d3a41a Remove all eventlet Neutron API jobs
54b143c69a functional: Don't assume privsep-helper is installed in virtualenv
95a7cac499 Drop reference to removed services
b164d67f45 Add conntrackd support to HA routers in L3 agent
6183792316 Enable no-else-return pylint check
0d8ae9f0f2 tests: Remove skip_if_ovs_older_than decorator from a test case
3409016f6e docs: Fix typo in openstack create subnet command
2a784fe697 Set a new removal release for ``set_network_type``
418c479569 Imported Translations from Zanata
315ca9db17 functional: Allow to override OS_FAIL_ON_MISSING_DEPS
068056a62e reno: Update master for unmaintained/2023.1
f511679233 functional: Install ovn packages when it's not compiled
e18aad3e6c fullstack: Log router and active hosts when there are too many
dd5dac8e40 [OVN] Remove maintenance method ``add_provider_resource_association_to_routers``
7272bb0e4b Add new RBAC policies only for "target_project"
90264aca8e Bump ovs library minimum version to 2.12.0
081b2e6fc7 Make ``DriverBase.is_loaded`` a property
5828c43c90 [OVN] Do not update a deleted Logical_Switch_Port
100aae9832 Bump hacking to 7.0.0
82a57ef980 refactor: Move hacking dependency from tox.ini to test-reqs
6148ba9077 Remove default override for config options policy_file
9f8509a3f4 [OVN] The Port_Group deletion implies the ACLs deletion
3f29ba5cdf mypy: enable for all non-test modules
51a823ae2c Fix dependencies for mypy tox target
d8884a99e0 OVN metadata agent additional_chassis detection
8d9113664a Return rc != 0 on invalid neutron-ovn-db-sync-util cli options
911ffc3c40 nit: Add info about ovn version with additional_chassis
99bb854c81 Use set_nb_global_options in maintenance task
6b7377f414 docs: Remove archives
f28a158b9f tests: move test_db_base_plugin_v2.py to common
0867ce839f Increase code coverage for OVN metadata port sync
a6392b56fd Start enforcing additional pylint checks
df177b15db [Fullstack] Use only one keepalived-state-change thread in L3 agent
e0ee8bd772 [OVN] Create the SG rules revision number registers
648d6a5ee1 style: Clarify a check for mixed stateful/stateless SGs
919b4f6d68 gate: squash mypy into pep8 job
16e4f0af89 Remove postgresql code
48cb4e6a19 tests: always raise an explanation when status_int is wrong
0a450eeab6 rpc/dhcp: avoid get_network_info to return segments if not needed
c0bdb0c8a3 [OVN] Check LSP.up status before setting the port host info
822edc31c8 Enable pylint useless-super-delegation check
34b0ce6aea Add Neutron API eventlet experimental jobs
9bd0b21a37 [OVN] Delete duplicated OVN resource type constants
01e5aad630 Replace netutils function to keep non-strict IPv4 check
a298a37fe7 [OVN] Fix the revision number retrieval method
f2d76280dc Use hasattr instead of getattr
9bfd15edf5 pyupgrade changes for Python3.9+
dadc29d444 pyupgrade changes for Python3.9+
706a24e298 pyupgrade changes for Python3.9+
fd0c797254 doc: document available DNS-related values for ml2 extension_drivers
5d2e7b4c1a Update allowed address pair documentation
7fe20024ef zuul: Explicitly set NEUTRON_DEPLOY_MOD_WSGI
becb1a1343 Remove dhcp.PORTS attribute
26fdf6a31f Skip functional tests on pre-commit config update
783d87dfea [OVN] Support address group for ovn driver
36cc7f7cbb Cleanup of the veth related code from ovs agent
f8b33fa983 Bump actual minimum python version
4b032bdbb2 [OVN] Update lsp host id when cr port is updated with chassis
63d14a3ff2 Skip LSP host info update for trunk subports
a03afc1bc2 Exit fast checking the external network default
0feb85c8cb Add migration_cli.py to mypy exclude list
58c97e1772 doc: Drop AvailabilityZoneFilter
a524e1a07e [OVN] Remove maintenance method ``add_vnic_type_and_pb_capabilities_to_lsp``
6e27923535 [OVN] Remove maintenance method ``add_gw_port_info_to_logical_router_port``
87a0fc5d70 [OVN] Remove maintenance method ``create_router_extra_attributes_registers``
a0cc380096 [OVN] Remove maintenance method ``check_for_mcast_flood_reports``
9347c427b5 [OVN] Remove maintenance method ``check_port_has_address_scope``
3552c334c0 [WSGI] Move all OVS jobs to use WSGI API module (2)
7919126e81 AddressGroup API collection should be the resource name in plural
b11ca32c68 ut: Remove unused method
232d1d26ea "security_group_rules" is not a SG selectable field
a0709a8240 Use 'port-trusted-vif' api extension definition from neutron-lib
0f8f73caf6 Replace deprecated is_advsvc
adbc3e23b7 Optimize the SG rule retrieval
6fb6c67e44 Replace ``greenthread.sleep`` with ``time.sleep``
1ae72d6c29 Pass one single input parameter to ``TestCase.fail``
d9e580f5e5 Use the constant UNLIMITED_QUOTA=-1 in quota engine
634cb25d52 [Fullstack] Add active waiting for one HA agent to be active for router
81375f0b2b Add special treatment for 'any' in SG rule API
6970f39a49 [CI] Functional: Increase Ulimit to 4096
7b7f8d986a [OVN] Check metadata HA proxy configuration before restart
03a976d933 Fix wrong handling of IPv6 ovsdb_connection
2f6c9b9994 refactor: remove do_notify argument for disassociate_floatingips
1300110ccb Set distributed flag to NB_Global
969de2944a Drop usage of importlib_metadata
add74d8955 Ensure the OVSDB and ovn-northd process stop
79ad54f6b7 Remove the sleep calls in the ``create_or_update_agent`` method
1a4f311be7 refactor: use a more appropriate name for a mock
b7fe561d09 Get rid of pkg_resources
3776c90db2 Remove deprecated OVN LR external_id options
326fcbafd9 Deprecate ovn_emit_need_to_frag option
c3b9c44f36 Flip ovn_emit_need_to_frag to True by default
4af0d333aa Add logging details of the http response in the unit tests
7d139a013b Add RST linting to neutron
fb52de507d Make mypy job voting
f397b79836 tests: Expand coverage for ovn_emit_need_to_frag=True
e163bb5b6c mypy: Use tuple type for SUPPORTED_LOGGING_TYPES
3c4eed607c Fix a wrong assertion method
16fc47127a Disable the OVN/OVS WGSI experimental jobs
598c05ab6a Do not dispose local_vlan_hints
f68119c09b Remove workaround for eventlet < 0.27.0
3abce4c6d8 ovn: Clean up code to handle old versions with no stateless acl support
a859760323 Neutron quota engine checks the resource usage by default
fdcd98464b refactor: use the new py39 `dict | dict` syntax to make a union
943d26da20 Add initial mypy job
144e140e75 Use the declarative attribute ``standard_attr_id``
770ce6150a [Functional tests] Add logging router interfaces in metadata IPv6 tests
5db476c0d1 Remove logic for Windows operating systems
8ffb9d0fa7 Remove remaining figure for TripleO installation document
e78a2768c0 Drop workaround for eventlet < 0.22.0
ae4b4300f9 Convert [ml2] physical_network_mtus to DictOpt
2eba495e22 Drop ovn migration for TripleO deployments
631f641808 Remove upgrade check for old removed options
3997367300 Remove install document for TripleO deployments
d622e264c7 Fix usage of removed external_network_bridge option
8aa67711f6 refactor: remove some unused variables
b8c53fae43 i18n: add missing translation markers
1e6ab531e2 Use neutron-lib constants IPv4_ANY and IPv6_ANY
c1eac4fe7e refactor: construct member dict in one go
48d4e6a6b3 refactor: split out code to verify a lb member into a function
cc386fcc24 refactor: don't calculate list of attached lbs for every lb
449dde1798 refactor: unindent some indents in _handle_lb_fip_cmds
6546b285bf refactor: slightly more explicit return value
e3afed4087 refactor: don't serialize all switches on each lb checked
d8a4ad9167 Correct logic error when associating FIP with OVN LB
e1154bff2a Use py312 for all neutron jobs
c1b05e29ad Change the load method of SG rule "default_security_group"
7d1a20ed4d Handle EndpointNotFound in nova notifier
0645902606 Update jobs based on testing runtime for 2025.1
15f2b89f10 Bump skip-level lower version to stable/2024.1
987924fb22 Update master for stable/2024.2
51f4f7a176 Degrade openstack-tox-py311-with-sqlalchemy-master to periodic
bd64937eec Open the 2025.1 (Epoxy) DB branch
291dfe9524 Add source interface in "ping" command in ``ARPSpoofTestCase``
6bb9535c45 Allow ml2 drivers to start their own RPC listeners
3a544479aa zuul: Move ovs-master and ovs-lts jobs to periodic queue
deb99de993 [WSGI] Move all OVN jobs to use WSGI API module
1a440dd61b Modify the default SG rule count logic when creating SG
ab94c6b021 Enable liberal TCP connection tracking for SNAT namespaces
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 1 -
.gitignore | 1 +
.gitreview | 1 +
.pre-commit-config.yaml | 10 +
.pylintrc | 14 -
HACKING.rst | 1 -
TESTING.rst | 58 +-
bindep.txt | 10 +-
devstack/lib/metadata_path | 7 +
devstack/lib/octavia | 12 -
devstack/lib/uplink_status_propagation | 1 +
devstack/ml2-ovs-compute-local.conf.sample | 2 +
devstack/plugin.sh | 12 +-
.../admin/archives/adv-operational-features.rst | 123 -
.../admin/archives/figures/vmware_nsx_ex1.graffle | Bin 3732 -> 0 bytes
.../admin/archives/figures/vmware_nsx_ex1.png | Bin 103806 -> 0 bytes
.../admin/archives/figures/vmware_nsx_ex1.svg | 3 -
.../admin/archives/figures/vmware_nsx_ex2.graffle | Bin 3594 -> 0 bytes
.../admin/archives/figures/vmware_nsx_ex2.png | Bin 93105 -> 0 bytes
.../admin/archives/figures/vmware_nsx_ex2.svg | 3 -
.../deploy-provider-verifynetworkoperation.txt | 0
.../deploy-selfservice-verifynetworkoperation.txt | 0
.../figures/deploy-lb-ha-vrrp-compconn1.graffle | Bin 7584 -> 0 bytes
.../admin/figures/deploy-lb-ha-vrrp-compconn1.png | Bin 217060 -> 0 bytes
.../admin/figures/deploy-lb-ha-vrrp-compconn1.svg | 3 -
.../figures/deploy-lb-ha-vrrp-overview.graffle | Bin 6290 -> 0 bytes
.../admin/figures/deploy-lb-ha-vrrp-overview.png | Bin 180134 -> 0 bytes
.../admin/figures/deploy-lb-ha-vrrp-overview.svg | 3 -
.../figures/deploy-lb-provider-compconn1.graffle | Bin 4405 -> 0 bytes
.../admin/figures/deploy-lb-provider-compconn1.png | Bin 86476 -> 0 bytes
.../admin/figures/deploy-lb-provider-compconn1.svg | 3 -
.../figures/deploy-lb-provider-compconn2.graffle | Bin 5234 -> 0 bytes
.../admin/figures/deploy-lb-provider-compconn2.png | Bin 120732 -> 0 bytes
.../admin/figures/deploy-lb-provider-compconn2.svg | 3 -
.../figures/deploy-lb-provider-flowew1.graffle | Bin 4591 -> 0 bytes
.../admin/figures/deploy-lb-provider-flowew1.png | Bin 97932 -> 0 bytes
.../admin/figures/deploy-lb-provider-flowew1.svg | 3 -
.../figures/deploy-lb-provider-flowew2.graffle | Bin 5152 -> 0 bytes
.../admin/figures/deploy-lb-provider-flowew2.png | Bin 104896 -> 0 bytes
.../admin/figures/deploy-lb-provider-flowew2.svg | 3 -
.../figures/deploy-lb-provider-flowns1.graffle | Bin 4415 -> 0 bytes
.../admin/figures/deploy-lb-provider-flowns1.png | Bin 73881 -> 0 bytes
.../admin/figures/deploy-lb-provider-flowns1.svg | 3 -
.../figures/deploy-lb-provider-overview.graffle | Bin 4925 -> 0 bytes
.../admin/figures/deploy-lb-provider-overview.png | Bin 117999 -> 0 bytes
.../admin/figures/deploy-lb-provider-overview.svg | 3 -
.../deploy-lb-selfservice-compconn1.graffle | Bin 6052 -> 0 bytes
.../figures/deploy-lb-selfservice-compconn1.png | Bin 143274 -> 0 bytes
.../figures/deploy-lb-selfservice-compconn1.svg | 3 -
.../figures/deploy-lb-selfservice-flowew1.graffle | Bin 4128 -> 0 bytes
.../figures/deploy-lb-selfservice-flowew1.png | Bin 75613 -> 0 bytes
.../figures/deploy-lb-selfservice-flowew1.svg | 3 -
.../figures/deploy-lb-selfservice-flowew2.graffle | Bin 5154 -> 0 bytes
.../figures/deploy-lb-selfservice-flowew2.png | Bin 118717 -> 0 bytes
.../figures/deploy-lb-selfservice-flowew2.svg | 3 -
.../figures/deploy-lb-selfservice-flowns1.graffle | Bin 4943 -> 0 bytes
.../figures/deploy-lb-selfservice-flowns1.png | Bin 105312 -> 0 bytes
.../figures/deploy-lb-selfservice-flowns1.svg | 3 -
.../figures/deploy-lb-selfservice-flowns2.graffle | Bin 4928 -> 0 bytes
.../figures/deploy-lb-selfservice-flowns2.png | Bin 105383 -> 0 bytes
.../figures/deploy-lb-selfservice-flowns2.svg | 3 -
.../figures/deploy-lb-selfservice-overview.graffle | Bin 6387 -> 0 bytes
.../figures/deploy-lb-selfservice-overview.png | Bin 183387 -> 0 bytes
.../figures/deploy-lb-selfservice-overview.svg | 3 -
.../admin/figures/scenario-classic-mt-services.svg | 2 +-
.../deploy-ha-vrrp-verifynetworkoperation.txt | 2 +-
.../shared/deploy-selfservice-initialnetworks.txt | 36 +-
.../configuration/samples/linuxbridge-agent.rst | 8 -
.../contributor/client_command_extensions.rst | 4 +-
.../contributor/internals/agent_extensions.rst | 3 +-
.../contributor/internals/api_extensions.rst | 3 +-
.../internals/external_dns_integration.rst | 4 +-
.../contributor/internals/l2_agent_extensions.rst | 11 -
.../contributor/internals/linuxbridge_agent.rst | 45 -
.../contributor/internals/openvswitch_agent.rst | 152 +-
.../contributor/internals/openvswitch_firewall.rst | 6 +-
.../internals/ovn/database_consistency.rst | 4 +-
.../internals/ovn/l3_ha_rescheduling.rst | 3 +-
.../internals/ovn/ovn_network_logging.rst | 49 +-
.../contributor/internals/ovn/port_forwarding.rst | 2 +-
.../contributor/internals/quality_of_service.rst | 73 +-
.../contributor/internals/security_group_api.rst | 35 +-
.../contributor/internals/services_and_agents.rst | 4 +-
.../contributor/internals/sriov_nic_agent.rst | 16 +-
.../policies/contributor-onboarding.rst | 19 +-
.../contributor/policies/gate-failure-triage.rst | 92 +-
.../contributor/policies/release-checklist.rst | 6 +-
.../contributor/testing/ci_scenario_jobs.rst | 176 --
.../testing/db_transient_failure_injection.rst | 4 +-
.../contributor/testing/ml2_ovn_devstack.rst | 4 +-
.../contributor/testing/ml2_ovs_devstack.rst | 7 +-
.../testing/template_model_sync_test.rst | 30 +-
.../feature_classification_introduction.rst | 3 +-
.../general_feature_support_matrix.ini | 17 -
.../provider_network_support_matrix.ini | 7 -
.../install/common/get-started-networking.rst | 4 +-
.../install/controller-install-option1-obs.rst | 7 +-
.../install/controller-install-option1-rdo.rst | 10 +-
.../install/controller-install-option1-ubuntu.rst | 7 +-
.../install/controller-install-option2-obs.rst | 21 +-
.../install/controller-install-option2-rdo.rst | 24 +-
.../install/controller-install-option2-ubuntu.rst | 22 +-
.../install/ovn/figures/tripleo-ovn-arch.png | Bin 115804 -> 0 bytes
.../install/ovn/figures/tripleo-ovn-arch.svg | 3175 --------------------
etc/neutron/rootwrap.d/rootwrap.filters | 6 +-
etc/oslo-config-generator/linuxbridge_agent.ini | 6 -
mypy.ini | 20 +
neutron/agent/agent_extensions_manager.py | 2 +-
neutron/agent/common/async_process.py | 78 +-
neutron/agent/common/base_agent_rpc.py | 2 +-
neutron/agent/common/base_polling.py | 2 +-
neutron/agent/common/ovs_lib.py | 26 +-
neutron/agent/common/ovsdb_monitor.py | 12 +-
neutron/agent/common/placement_report.py | 22 +-
neutron/agent/common/polling.py | 9 +-
neutron/agent/common/resource_processing_queue.py | 6 +-
neutron/agent/dhcp/agent.py | 40 +-
neutron/agent/dhcp_agent.py | 1 +
neutron/agent/firewall.py | 2 +-
neutron/agent/l2/extensions/dhcp/base.py | 2 +-
neutron/agent/l2/extensions/dhcp/extension.py | 2 +-
neutron/agent/l2/extensions/dhcp/ipv4.py | 2 +-
neutron/agent/l2/extensions/dhcp/ipv6.py | 12 +-
neutron/agent/l2/extensions/fdb_population.py | 17 +-
neutron/agent/l2/extensions/local_ip.py | 8 +-
.../l2/extensions/metadata/host_metadata_proxy.py | 11 +-
.../extensions/metadata/metadata_flows_process.py | 298 ++
.../agent/l2/extensions/metadata/metadata_path.py | 463 +++
neutron/agent/l2/extensions/qos.py | 8 +-
neutron/agent/l2/l2_agent_extensions_manager.py | 3 +-
neutron/agent/l3/agent.py | 60 +-
neutron/agent/l3/dvr.py | 4 +-
neutron/agent/l3/dvr_edge_ha_router.py | 20 +-
neutron/agent/l3/dvr_edge_router.py | 51 +-
neutron/agent/l3/dvr_fip_ns.py | 6 +-
neutron/agent/l3/dvr_local_router.py | 41 +-
neutron/agent/l3/dvr_router_base.py | 4 +-
neutron/agent/l3/dvr_snat_ns.py | 6 +-
neutron/agent/l3/extensions/conntrack_helper.py | 8 +-
neutron/agent/l3/extensions/ndp_proxy.py | 6 +-
neutron/agent/l3/extensions/port_forwarding.py | 12 +-
neutron/agent/l3/extensions/qos/base.py | 4 +-
neutron/agent/l3/extensions/qos/fip.py | 8 +-
neutron/agent/l3/fip_rule_priority_allocator.py | 15 +-
neutron/agent/l3/ha.py | 64 +-
neutron/agent/l3/ha_router.py | 130 +-
neutron/agent/l3/item_allocator.py | 7 +-
neutron/agent/l3/keepalived_state_change.py | 73 +-
neutron/agent/l3/l3_agent_extension_api.py | 5 +-
neutron/agent/l3/l3_agent_extensions_manager.py | 3 +-
neutron/agent/l3/link_local_allocator.py | 15 +-
neutron/agent/l3/namespace_manager.py | 4 +-
neutron/agent/l3/namespaces.py | 35 +-
neutron/agent/l3/router_info.py | 117 +-
neutron/agent/l3_agent.py | 2 +-
neutron/agent/linux/bridge_lib.py | 14 +-
neutron/agent/linux/conntrackd.py | 246 ++
neutron/agent/linux/daemon.py | 12 +-
neutron/agent/linux/dhcp.py | 109 +-
neutron/agent/linux/dibbler.py | 193 --
neutron/agent/linux/external_process.py | 78 +-
neutron/agent/linux/interface.py | 56 +-
neutron/agent/linux/ip_conntrack.py | 15 +-
neutron/agent/linux/ip_lib.py | 71 +-
neutron/agent/linux/ipset_manager.py | 8 +-
neutron/agent/linux/iptables_firewall.py | 18 +-
neutron/agent/linux/iptables_manager.py | 30 +-
neutron/agent/linux/keepalived.py | 50 +-
neutron/agent/linux/l3_tc_lib.py | 4 +-
neutron/agent/linux/of_monitor.py | 23 +-
.../agent/linux/openvswitch_firewall/constants.py | 5 -
.../agent/linux/openvswitch_firewall/firewall.py | 80 +-
.../agent/linux/openvswitch_firewall/iptables.py | 2 +-
neutron/agent/linux/openvswitch_firewall/rules.py | 17 +-
neutron/agent/linux/pd.py | 423 ---
neutron/agent/linux/pd_driver.py | 53 -
neutron/agent/linux/ra.py | 2 +-
neutron/agent/linux/tc_lib.py | 7 +-
neutron/agent/linux/utils.py | 46 +-
neutron/agent/metadata/agent.py | 189 +-
neutron/agent/metadata/driver_base.py | 128 +-
neutron/agent/metadata/proxy_base.py | 25 +-
neutron/agent/metadata_agent.py | 1 +
neutron/agent/ovn/agent/ovn_neutron_agent.py | 8 +
neutron/agent/ovn/agent/ovsdb.py | 31 +-
neutron/agent/ovn/extensions/extension_manager.py | 2 +-
neutron/agent/ovn/extensions/metadata.py | 20 +-
neutron/agent/ovn/extensions/qos_hwol.py | 24 +-
neutron/agent/ovn/metadata/agent.py | 61 +-
neutron/agent/ovn/metadata/ovsdb.py | 10 +-
neutron/agent/ovn/metadata/server.py | 12 +-
neutron/agent/ovn/metadata/server_socket.py | 222 ++
neutron/agent/ovn/metadata_agent.py | 1 +
neutron/agent/ovn/ovn_neutron_agent.py | 10 +-
neutron/agent/ovsdb/api.py | 4 +-
neutron/agent/ovsdb/impl_idl.py | 2 +-
neutron/agent/ovsdb/native/connection.py | 8 +-
neutron/agent/resource_cache.py | 15 +-
neutron/agent/rpc.py | 10 +-
neutron/agent/securitygroups_rpc.py | 69 +-
neutron/api/api_common.py | 63 +-
neutron/api/extensions.py | 19 +-
.../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py | 2 +-
neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py | 2 +-
.../rpc/agentnotifiers/metering_rpc_agent_api.py | 2 +-
neutron/api/rpc/agentnotifiers/utils.py | 2 +-
neutron/api/rpc/callbacks/resource_manager.py | 6 +-
neutron/api/rpc/callbacks/version_manager.py | 15 +-
neutron/api/rpc/handlers/dhcp_rpc.py | 36 +-
neutron/api/rpc/handlers/dvr_rpc.py | 15 +-
neutron/api/rpc/handlers/l3_rpc.py | 25 +-
neutron/api/rpc/handlers/metadata_rpc.py | 2 +-
neutron/api/rpc/handlers/resources_rpc.py | 16 +-
neutron/api/rpc/handlers/securitygroups_rpc.py | 33 +-
neutron/api/v2/base.py | 84 +-
neutron/api/views/versions.py | 2 +-
neutron/api/wsgi.py | 27 +-
.../drivers/linuxbridge => cmd/agents}/__init__.py | 0
.../agents/metadata.py} | 17 +-
neutron/cmd/{eventlet => }/agents/ovn_metadata.py | 2 +-
.../cmd/{eventlet => }/agents/ovn_neutron_agent.py | 4 +-
neutron/cmd/destroy_patch_ports.py | 2 +-
neutron/cmd/eventlet/agents/dhcp.py | 2 +-
neutron/cmd/eventlet/agents/l3.py | 2 +-
neutron/cmd/eventlet/agents/metadata.py | 2 +-
.../eventlet/plugins/linuxbridge_neutron_agent.py | 28 -
.../cmd/eventlet/plugins/macvtap_neutron_agent.py | 2 +-
neutron/cmd/eventlet/plugins/ovs_neutron_agent.py | 2 +-
neutron/cmd/eventlet/server/__init__.py | 5 -
neutron/cmd/eventlet/services/metering_agent.py | 2 +-
neutron/cmd/linuxbridge_cleanup.py | 75 -
neutron/cmd/netns_cleanup.py | 6 +-
neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 29 +-
neutron/cmd/ovs_cleanup.py | 2 +-
neutron/cmd/pd_notify.py | 38 -
.../linuxbridge/agent => cmd/plugins}/__init__.py | 0
.../plugins/sriov_nic_neutron_agent.py | 2 +-
neutron/cmd/sanity/checks.py | 33 +-
neutron/cmd/sanity_check.py | 31 +-
.../common/config.py => cmd/server/__init__.py} | 10 +-
neutron/cmd/upgrade_checks/base.py | 2 +-
neutron/cmd/upgrade_checks/checks.py | 166 +-
neutron/common/_constants.py | 11 +
neutron/common/_deprecate.py | 10 +-
neutron/common/cache_utils.py | 5 +-
neutron/common/config.py | 16 +-
neutron/common/eventlet_utils.py | 50 +-
neutron/common/ipv6_utils.py | 4 +-
neutron/common/ovn/acl.py | 69 +-
neutron/common/ovn/constants.py | 56 +-
neutron/common/ovn/extensions.py | 10 +-
neutron/common/ovn/hash_ring_manager.py | 8 +-
neutron/common/ovn/utils.py | 84 +-
neutron/common/utils.py | 134 +-
neutron/common/wsgi_utils.py | 58 +
neutron/conf/agent/common.py | 39 +-
neutron/conf/agent/l2_ext_fdb_population.py | 4 +-
neutron/conf/agent/l3/config.py | 53 +-
neutron/conf/agent/l3/ha.py | 35 +
neutron/conf/agent/l3/keepalived.py | 3 +
neutron/conf/agent/ovn/metadata/config.py | 1 +
neutron/conf/agent/ovsdb_api.py | 1 +
neutron/conf/common.py | 12 +-
neutron/conf/db/migration_cli.py | 19 +-
neutron/conf/experimental.py | 7 +-
neutron/conf/plugins/ml2/config.py | 14 +-
neutron/conf/plugins/ml2/drivers/linuxbridge.py | 117 -
neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py | 157 +-
neutron/conf/plugins/ml2/drivers/ovs_conf.py | 39 +-
neutron/conf/policies/base.py | 13 +
neutron/conf/policies/floatingip.py | 28 +-
neutron/conf/policies/network.py | 29 +-
neutron/conf/policies/network_segment_range.py | 28 +-
neutron/conf/policies/port.py | 42 +-
neutron/conf/policies/qos.py | 73 +
neutron/conf/policies/rbac.py | 82 +-
neutron/conf/policies/router.py | 115 +-
neutron/conf/policies/security_group.py | 41 +-
neutron/conf/policies/subnet.py | 46 +-
neutron/conf/policies/subnetpool.py | 39 +-
neutron/conf/policies/trunk.py | 36 +-
neutron/conf/services/extdns_designate_driver.py | 8 +-
neutron/core_extensions/base.py | 2 +-
neutron/db/_utils.py | 3 +-
neutron/db/address_group_db.py | 3 +-
neutron/db/agents_db.py | 32 +-
neutron/db/agentschedulers_db.py | 51 +-
neutron/db/allowedaddresspairs_db.py | 2 +-
neutron/db/data_plane_status_db.py | 2 +-
neutron/db/db_base_plugin_common.py | 21 +-
neutron/db/db_base_plugin_v2.py | 25 +-
neutron/db/dns_db.py | 31 +-
neutron/db/dvr_mac_db.py | 33 +-
neutron/db/external_net_db.py | 4 +-
neutron/db/extradhcpopt_db.py | 2 +-
neutron/db/extraroute_db.py | 5 +-
neutron/db/flavors_db.py | 2 +-
neutron/db/ipam_backend_mixin.py | 14 +-
neutron/db/ipam_pluggable_backend.py | 4 +-
neutron/db/l3_agentschedulers_db.py | 11 +-
neutron/db/l3_attrs_db.py | 2 +-
neutron/db/l3_db.py | 102 +-
neutron/db/l3_dvr_db.py | 33 +-
neutron/db/l3_dvr_ha_scheduler_db.py | 3 +-
neutron/db/l3_dvrscheduler_db.py | 7 +-
neutron/db/l3_extra_gws_db.py | 9 +-
neutron/db/l3_fip_pools_db.py | 2 +-
neutron/db/l3_fip_port_details.py | 2 +-
neutron/db/l3_fip_qos.py | 2 +-
neutron/db/l3_gateway_ip_qos.py | 6 +-
neutron/db/l3_gwmode_db.py | 4 +-
neutron/db/l3_hamode_db.py | 18 +-
neutron/db/local_ip_db.py | 5 +-
neutron/db/metering/metering_rpc.py | 34 +-
neutron/db/migration/__init__.py | 91 +-
.../migration/alembic_migrations/dvr_init_opts.py | 2 +-
neutron/db/migration/alembic_migrations/env.py | 7 +-
.../alembic_migrations/loadbalancer_init_ops.py | 16 +-
...19773d7_create_l3harouternetwork_project_id_.py | 2 +-
.../2023.2/expand/6f1145bff34c_port_hints.py | 4 +-
.../5bcb7b31ec7d_add_port_trusted_attribute.py | 6 +
...9f07c5c_add_vlan_qinq_column_to_the_network_.py | 35 +
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
.../7d9d8eeec6ad_rename_tenant_to_project.py | 3 +-
...9da_qos_add_direction_to_bw_limit_rule_table.py | 16 +-
...dfe425060830_limit_vlan_allocation_id_values.py | 2 -
.../fd6107509ccd_ovn_distributed_device_owner.py | 2 +-
...8d6f371_rbac_target_tenant_to_target_project.py | 7 +-
.../expand/ba859d649675_add_indexes_to_rbacs.py | 4 +-
.../c181bb1d89e4_qos_minimum_packet_rate_rules.py | 5 -
.../5881373af7f5_delete_sgpb_on_sg_deletion.py | 5 +-
neutron/db/migration/autogen.py | 13 +-
neutron/db/migration/cli.py | 11 +-
neutron/db/migration/connection.py | 2 +-
neutron/db/models/address_group.py | 2 +-
neutron/db/models/agent.py | 2 +-
neutron/db/models/network_segment_range.py | 4 +-
neutron/db/models/securitygroup.py | 2 +-
neutron/db/models_v2.py | 9 +-
neutron/db/network_ip_availability_db.py | 2 +-
neutron/db/ovn_hash_ring_db.py | 85 +-
neutron/db/ovn_revision_numbers_db.py | 72 +-
neutron/db/port_device_profile_db.py | 2 +-
neutron/db/port_hardware_offload_type_db.py | 2 +-
neutron/db/port_hints_db.py | 2 +-
neutron/db/port_numa_affinity_policy_db.py | 7 +-
neutron/db/port_trusted_db.py | 4 +-
neutron/db/portsecurity_db_common.py | 2 +-
neutron/db/qinq_db.py | 27 +
neutron/db/quota/api.py | 8 +-
neutron/db/quota/driver.py | 27 +-
neutron/db/quota/driver_nolock.py | 5 +-
neutron/db/rbac_db_mixin.py | 2 +-
neutron/db/securitygroups_db.py | 128 +-
neutron/db/securitygroups_rpc_base.py | 17 +-
neutron/db/segments_db.py | 28 +-
neutron/db/servicetype_db.py | 2 +-
neutron/db/standardattrdescription_db.py | 2 +-
neutron/db/subnet_service_type_mixin.py | 2 +-
neutron/db/uplink_status_propagation_db.py | 13 +-
neutron/db/vlantransparent_db.py | 2 +-
neutron/extensions/address_group.py | 2 +-
neutron/extensions/address_scope.py | 2 +-
neutron/extensions/agent.py | 2 +-
neutron/extensions/availability_zone.py | 2 +-
neutron/extensions/dhcpagentscheduler.py | 2 +-
neutron/extensions/dvr.py | 2 +-
neutron/extensions/floatingip_pools.py | 2 +-
neutron/extensions/l3.py | 2 +-
neutron/extensions/l3agentscheduler.py | 2 +-
.../metering_source_and_destination_fields.py | 3 +-
neutron/extensions/network_availability_zone.py | 2 +-
neutron/extensions/port_trusted_vif.py | 62 +-
neutron/extensions/qinq.py | 48 +
neutron/extensions/qos_bw_limit_direction.py | 3 +-
neutron/extensions/quota_check_limit_default.py | 65 +
neutron/extensions/quotasv2.py | 30 +-
neutron/extensions/router_availability_zone.py | 2 +-
.../extensions/security_groups_default_rules.py | 2 +-
neutron/extensions/securitygroup.py | 28 +-
neutron/extensions/segment.py | 2 +-
neutron/extensions/tagging.py | 284 +-
.../uplink_status_propagation_updatable.py} | 13 +-
neutron/hacking/checks.py | 11 -
neutron/ipam/driver.py | 6 +-
neutron/ipam/drivers/neutrondb_ipam/db_api.py | 2 +-
neutron/ipam/drivers/neutrondb_ipam/db_models.py | 2 +-
neutron/ipam/drivers/neutrondb_ipam/driver.py | 2 +-
neutron/ipam/exceptions.py | 2 +-
neutron/ipam/requests.py | 66 +-
neutron/ipam/subnet_alloc.py | 13 +-
neutron/ipam/utils.py | 15 +-
neutron/locale/de/LC_MESSAGES/neutron.po | 40 +-
neutron/locale/es/LC_MESSAGES/neutron.po | 38 +-
neutron/locale/fr/LC_MESSAGES/neutron.po | 35 +-
neutron/locale/it/LC_MESSAGES/neutron.po | 30 +-
neutron/locale/ja/LC_MESSAGES/neutron.po | 30 +-
neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 30 +-
neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 32 +-
neutron/locale/ru/LC_MESSAGES/neutron.po | 39 +-
neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 28 +-
neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 28 +-
neutron/manager.py | 10 +-
neutron/notifiers/batch_notifier.py | 10 +-
neutron/notifiers/ironic.py | 2 +-
neutron/notifiers/nova.py | 14 +-
neutron/objects/README.rst | 10 +-
neutron/objects/address_group.py | 4 +-
neutron/objects/agent.py | 6 +-
neutron/objects/base.py | 51 +-
neutron/objects/db/api.py | 4 +-
neutron/objects/flavor.py | 4 +-
neutron/objects/ipam.py | 8 +-
neutron/objects/local_ip.py | 12 +-
neutron/objects/metering.py | 4 +-
neutron/objects/ndp_proxy.py | 4 +-
neutron/objects/network.py | 30 +-
neutron/objects/network_segment_range.py | 57 +-
neutron/objects/plugins/ml2/base.py | 19 +-
.../objects/port/extensions/allowedaddresspairs.py | 4 +-
neutron/objects/port/extensions/port_hints.py | 4 +-
neutron/objects/port_forwarding.py | 22 +-
neutron/objects/ports.py | 46 +-
neutron/objects/qos/binding.py | 6 +-
neutron/objects/qos/policy.py | 20 +-
neutron/objects/qos/qos_policy_validator.py | 5 +
neutron/objects/qos/rule.py | 17 +-
neutron/objects/qos/rule_type.py | 2 +-
neutron/objects/quota.py | 6 +-
neutron/objects/rbac_db.py | 9 +-
neutron/objects/router.py | 22 +-
neutron/objects/securitygroup.py | 16 +-
neutron/objects/securitygroup_default_rules.py | 6 +-
neutron/objects/subnet.py | 37 +-
neutron/objects/subnetpool.py | 10 +-
neutron/objects/trunk.py | 21 +-
neutron/opts.py | 24 +-
neutron/pecan_wsgi/controllers/extensions.py | 4 +-
neutron/pecan_wsgi/controllers/quota.py | 4 +-
neutron/pecan_wsgi/controllers/resource.py | 12 +-
neutron/pecan_wsgi/controllers/root.py | 4 +-
neutron/pecan_wsgi/controllers/utils.py | 31 +-
neutron/pecan_wsgi/hooks/notifier.py | 4 +-
neutron/pecan_wsgi/hooks/ownership_validation.py | 2 +-
neutron/pecan_wsgi/hooks/policy_enforcement.py | 17 +-
neutron/plugins/ml2/README | 22 +-
neutron/plugins/ml2/common/exceptions.py | 2 +-
neutron/plugins/ml2/db.py | 6 +-
neutron/plugins/ml2/driver_context.py | 15 +-
.../ml2/drivers/agent/_agent_manager_base.py | 10 +-
neutron/plugins/ml2/drivers/agent/_common_agent.py | 4 +-
neutron/plugins/ml2/drivers/helpers.py | 79 +-
neutron/plugins/ml2/drivers/l2pop/README | 13 +-
neutron/plugins/ml2/drivers/l2pop/mech_driver.py | 12 +-
neutron/plugins/ml2/drivers/l2pop/rpc.py | 2 +-
.../drivers/l2pop/rpc_manager/l2population_rpc.py | 8 +-
.../ml2/drivers/linuxbridge/agent/arp_protect.py | 232 --
.../ml2/drivers/linuxbridge/agent/common/utils.py | 31 -
.../agent/extension_drivers/qos_driver.py | 179 --
.../agent/linuxbridge_agent_extension_api.py | 32 -
.../linuxbridge/agent/linuxbridge_neutron_agent.py | 1050 -------
.../drivers/linuxbridge/mech_driver/__init__.py | 0
.../linuxbridge/mech_driver/mech_linuxbridge.py | 65 -
.../drivers/macvtap/agent/macvtap_neutron_agent.py | 1 +
.../plugins/ml2/drivers/macvtap/macvtap_common.py | 2 +-
.../drivers/macvtap/mech_driver/mech_macvtap.py | 9 +-
neutron/plugins/ml2/drivers/mech_agent.py | 7 +-
.../drivers/mech_sriov/agent/eswitch_manager.py | 17 +-
.../agent/extension_drivers/qos_driver.py | 2 +-
.../ml2/drivers/mech_sriov/agent/pci_lib.py | 2 +-
.../drivers/mech_sriov/agent/sriov_nic_agent.py | 50 +-
.../drivers/mech_sriov/mech_driver/mech_driver.py | 40 +-
.../agent/extension_drivers/qos_driver.py | 72 +-
.../plugins/ml2/drivers/openvswitch/agent/main.py | 1 +
.../openvswitch/agent/openflow/br_cookie.py | 6 +-
.../agent/openflow/native/br_dvr_process.py | 4 +-
.../openvswitch/agent/openflow/native/br_int.py | 10 +-
.../openvswitch/agent/openflow/native/ofswitch.py | 8 +-
.../agent/openflow/native/ovs_oskenapp.py | 2 +-
.../openvswitch/agent/ovs_agent_extension_api.py | 6 +-
.../openvswitch/agent/ovs_dvr_neutron_agent.py | 52 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py | 129 +-
.../ml2/drivers/openvswitch/agent/vlanmanager.py | 6 +-
.../openvswitch/mech_driver/mech_openvswitch.py | 14 +-
.../plugins/ml2/drivers/ovn/agent/neutron_agent.py | 4 +-
neutron/plugins/ml2/drivers/ovn/db_migration.py | 21 +-
.../ml2/drivers/ovn/mech_driver/mech_driver.py | 196 +-
.../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 107 +-
.../ovn/mech_driver/ovsdb/extensions/placement.py | 13 +-
.../ovn/mech_driver/ovsdb/extensions/qos.py | 257 +-
.../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 37 +-
.../drivers/ovn/mech_driver/ovsdb/maintenance.py | 392 +--
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 488 +--
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 122 +-
.../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 69 +-
.../ml2/drivers/ovn/mech_driver/ovsdb/worker.py | 6 +-
neutron/plugins/ml2/drivers/type_flat.py | 4 +-
neutron/plugins/ml2/drivers/type_geneve.py | 6 +-
neutron/plugins/ml2/drivers/type_gre.py | 4 +-
neutron/plugins/ml2/drivers/type_tunnel.py | 151 +-
neutron/plugins/ml2/drivers/type_vlan.py | 36 +-
neutron/plugins/ml2/drivers/type_vxlan.py | 4 +-
neutron/plugins/ml2/extensions/dns_integration.py | 9 +-
neutron/plugins/ml2/extensions/port_trusted.py | 2 +-
.../uplink_status_propagation_updatable.py | 42 +
neutron/plugins/ml2/managers.py | 82 +-
neutron/plugins/ml2/ovo_rpc.py | 4 +-
neutron/plugins/ml2/plugin.py | 99 +-
neutron/plugins/ml2/rpc.py | 29 +-
neutron/policy.py | 73 +-
neutron/privileged/agent/linux/__init__.py | 8 +-
neutron/privileged/agent/linux/ip_lib.py | 34 +-
neutron/privileged/agent/linux/netlink_lib.py | 4 +-
neutron/privileged/agent/linux/tc_lib.py | 2 +-
neutron/privileged/agent/linux/utils.py | 16 +
neutron/privileged/agent/ovsdb/native/helpers.py | 10 +-
neutron/profiling/profiled_decorator.py | 2 +-
neutron/quota/__init__.py | 12 +-
neutron/quota/resource.py | 6 +-
neutron/quota/resource_registry.py | 16 +-
neutron/scheduler/base_resource_filter.py | 2 +-
neutron/scheduler/base_scheduler.py | 2 +-
neutron/scheduler/dhcp_agent_scheduler.py | 14 +-
neutron/scheduler/l3_agent_scheduler.py | 8 +-
neutron/scheduler/l3_ovn_scheduler.py | 14 +-
neutron/server/__init__.py | 8 +-
neutron/server/{api_eventlet.py => api.py} | 2 +-
neutron/service.py | 20 +-
neutron/services/auto_allocate/db.py | 12 +-
neutron/services/conntrack_helper/plugin.py | 2 +-
neutron/services/externaldns/driver.py | 2 +-
.../externaldns/drivers/designate/driver.py | 8 +-
neutron/services/l3_router/README | 2 +-
neutron/services/l3_router/l3_router_plugin.py | 4 +-
.../services/l3_router/service_providers/base.py | 4 +-
.../service_providers/driver_controller.py | 4 +-
neutron/services/local_ip/local_ip_plugin.py | 5 +-
neutron/services/logapi/agent/l3/base.py | 2 +-
neutron/services/logapi/agent/log_extension.py | 4 +-
neutron/services/logapi/api_base.py | 2 +-
neutron/services/logapi/common/validators.py | 10 +-
neutron/services/logapi/drivers/base.py | 2 +-
neutron/services/logapi/drivers/manager.py | 6 +-
.../services/logapi/drivers/openvswitch/driver.py | 2 +-
.../logapi/drivers/openvswitch/ovs_firewall_log.py | 10 +-
neutron/services/logapi/drivers/ovn/driver.py | 14 +-
neutron/services/logapi/logging_plugin.py | 2 +-
neutron/services/logapi/rpc/agent.py | 2 +-
neutron/services/logapi/rpc/server.py | 2 +-
neutron/services/loki/loki_plugin.py | 2 +-
neutron/services/metering/agents/metering_agent.py | 11 +-
.../services/metering/drivers/abstract_driver.py | 2 +-
.../metering/drivers/iptables/iptables_driver.py | 23 +-
neutron/services/metering/metering_plugin.py | 10 +-
neutron/services/ndp_proxy/plugin.py | 6 +-
neutron/services/network_ip_availability/plugin.py | 10 +-
neutron/services/network_segment_range/plugin.py | 7 +-
neutron/services/ovn_l3/plugin.py | 26 +-
.../ovn_l3/service_providers/driver_controller.py | 2 +-
neutron/services/ovn_l3/service_providers/ovn.py | 4 +-
.../ovn_l3/service_providers/user_defined.py | 2 +-
neutron/services/placement_report/plugin.py | 2 +-
.../services/portforwarding/drivers/ovn/driver.py | 12 +-
neutron/services/portforwarding/pf_plugin.py | 10 +-
neutron/services/provider_configuration.py | 13 +-
.../services/qos/drivers/linuxbridge/__init__.py | 0
neutron/services/qos/drivers/linuxbridge/driver.py | 61 -
neutron/services/qos/drivers/manager.py | 2 +-
neutron/services/qos/qos_plugin.py | 16 +-
neutron/services/revisions/revision_plugin.py | 4 +-
neutron/services/segments/db.py | 28 +-
neutron/services/segments/plugin.py | 50 +-
neutron/services/tag/tag_plugin.py | 17 +-
neutron/services/timestamp/timestamp_db.py | 4 +-
neutron/services/timestamp/timestamp_plugin.py | 2 +-
neutron/services/trunk/drivers/__init__.py | 2 -
neutron/services/trunk/drivers/base.py | 2 +-
.../services/trunk/drivers/linuxbridge/__init__.py | 0
.../trunk/drivers/linuxbridge/agent/__init__.py | 0
.../trunk/drivers/linuxbridge/agent/driver.py | 202 --
.../drivers/linuxbridge/agent/trunk_plumber.py | 116 -
.../services/trunk/drivers/linuxbridge/driver.py | 53 -
.../trunk/drivers/openvswitch/agent/driver.py | 2 +-
.../drivers/openvswitch/agent/ovsdb_handler.py | 14 +-
.../drivers/openvswitch/agent/trunk_manager.py | 14 +-
neutron/services/trunk/drivers/ovn/trunk_driver.py | 4 +-
neutron/services/trunk/plugin.py | 33 +-
neutron/services/trunk/rpc/agent.py | 4 +-
neutron/services/trunk/rpc/backend.py | 4 +-
neutron/services/trunk/rpc/server.py | 4 +-
neutron/services/trunk/rules.py | 19 +-
.../exclusive_resources/resource_allocator.py | 6 +-
.../{unit/db => common}/test_db_base_plugin_v2.py | 774 +++--
.../functional/agent/common/test_ovsdb_monitor.py | 18 +-
.../l2/extensions/test_ovs_agent_qos_extension.py | 16 +-
.../l3/extensions/qos/test_fip_qos_extension.py | 6 +-
.../extensions/test_conntrack_helper_extension.py | 2 +-
.../l3/extensions/test_gateway_ip_qos_extension.py | 7 +-
.../l3/extensions/test_ndp_proxy_extension.py | 10 +-
.../extensions/test_port_forwarding_extension.py | 4 +-
.../agent/l3/test_keepalived_state_change.py | 65 +-
.../functional/agent/l3/test_metadata_proxy.py | 67 +-
.../functional/agent/l3/test_namespace_manager.py | 2 +-
.../linux/openvswitch_firewall/test_firewall.py | 2 +-
.../linux/openvswitch_firewall/test_iptables.py | 6 +-
.../functional/agent/linux/test_async_process.py | 23 +-
.../functional/agent/linux/test_bridge_lib.py | 105 +-
.../functional/agent/linux/test_conntrackd.py | 132 +
.../agent/linux/test_external_process.py | 69 +
.../functional/agent/linux/test_keepalived.py | 6 +-
.../agent/linux/test_linuxbridge_arp_protect.py | 144 -
.../functional/agent/linux/test_of_monitor.py | 6 +-
.../functional/agent/linux/test_ovsdb_monitor.py | 6 +-
.../functional/agent/linux/test_process_monitor.py | 2 +-
.../agent/ovn/agent/test_ovn_neutron_agent.py | 15 +-
.../agent/ovn/extensions/test_qos_hwol.py | 18 +-
.../agent/ovn/metadata/test_metadata_agent.py | 50 +-
.../agent/ovsdb/native/test_connection.py | 2 +-
.../functional/cmd/test_destroy_patch_ports.py | 4 +-
.../functional/cmd/test_linuxbridge_cleanup.py | 111 -
.../test_ba859d649675_add_indexes_to_rbacs.py | 14 +-
.../test_c3e9d13c4367_add_binding_index_to_.py | 14 +-
.../functional/objects/plugins/ml2/test_base.py | 17 +-
.../objects/plugins/ml2/test_geneveallocation.py | 7 +-
.../objects/plugins/ml2/test_greallocation.py | 7 +-
.../objects/plugins/ml2/test_vlanallocation.py | 7 +-
.../objects/plugins/ml2/test_vxlanallocation.py | 7 +-
.../functional/pecan_wsgi/test_controllers.py | 109 +-
.../macvtap/agent/test_macvtap_neutron_agent.py | 8 +-
.../mech_driver/ovsdb/extensions/test_placement.py | 11 +-
.../ovn/mech_driver/ovsdb/extensions/test_qos.py | 178 +-
.../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 16 +-
.../ovn/mech_driver/ovsdb/test_maintenance.py | 153 +-
.../ovn/mech_driver/ovsdb/test_ovn_client.py | 131 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_resources.py | 30 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 51 +-
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 40 +-
.../drivers/ovn/mech_driver/test_mech_driver.py | 261 +-
.../privileged/agent/linux/test_ip_lib.py | 18 +-
.../privileged/agent/linux/test_tc_lib.py | 6 +-
.../scheduler/test_dhcp_agent_scheduler.py | 6 +-
.../scheduler/test_l3_agent_scheduler.py | 72 +-
.../conntrack_helper/test_conntrack_helper.py | 2 +-
.../l3_router/test_l3_dvr_ha_router_plugin.py | 4 +-
.../l3_router/test_l3_dvr_router_plugin.py | 43 +-
.../services/logapi/drivers/ovn/test_driver.py | 6 +-
.../functional/services/logapi/test_logging.py | 4 +-
.../functional/services/ovn_l3/test_plugin.py | 24 +-
.../portforwarding/test_port_forwarding.py | 10 +-
.../openvswitch/agent/test_ovsdb_handler.py | 6 +-
.../openvswitch/agent/test_trunk_manager.py | 8 +-
.../trunk/drivers/ovn/test_trunk_driver.py | 2 +-
.../functional/services/trunk/rpc/test_server.py | 2 +-
.../exclusive_resources/test_resource_allocator.py | 2 +-
.../unit/agent/common/test_placement_report.py | 8 +-
.../unit/agent/l2/extensions/dhcp/test_base.py | 8 +-
.../agent/l2/extensions/dhcp/test_extension.py | 4 +-
.../unit/agent/l2/extensions/dhcp/test_ipv4.py | 2 +-
.../unit/agent/l2/extensions/dhcp/test_ipv6.py | 34 +-
.../metadata/test_host_metadata_proxy.py | 2 +-
.../metadata/test_metadata_flows_process.py | 537 ++++
.../l2/extensions/metadata/test_metadata_path.py | 292 ++
.../agent/l2/extensions/test_fdb_population.py | 8 +-
.../unit/agent/l2/extensions/test_local_ip.py | 18 +-
.../agent/l2/test_l2_agent_extensions_manager.py | 2 +-
.../unit/agent/l3/extensions/qos/test_base.py | 2 +-
.../agent/l3/extensions/qos/test_gateway_ip.py | 4 +-
.../agent/l3/extensions/test_conntrack_helper.py | 6 +-
.../unit/agent/l3/extensions/test_ndp_proxy.py | 16 +-
.../agent/l3/extensions/test_port_forwarding.py | 34 +-
.../unit/agent/l3/extensions/test_snat_log.py | 2 +-
.../agent/l3/test_fip_rule_priority_allocator.py | 2 +-
.../unit/agent/l3/test_link_local_allocator.py | 2 +-
.../linux/openvswitch_firewall/test_firewall.py | 61 +-
.../linux/openvswitch_firewall/test_iptables.py | 9 +-
.../agent/linux/openvswitch_firewall/test_rules.py | 15 +-
.../unit/agent/linux/test_external_process.py | 27 +-
.../unit/agent/linux/test_iptables_firewall.py | 70 +-
.../unit/agent/linux/test_iptables_manager.py | 21 +-
.../unit/agent/ovsdb/native/test_connection.py | 8 +-
.../unit/agent/test_agent_extensions_manager.py | 2 +-
.../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 8 +-
.../rpc/agentnotifiers/test_l3_rpc_agent_api.py | 2 +-
.../api/rpc/callbacks/test_resource_manager.py | 10 +-
.../unit/api/rpc/callbacks/test_version_manager.py | 8 +-
.../unit/api/rpc/handlers/test_resources_rpc.py | 22 +-
.../api/rpc/handlers/test_securitygroups_rpc.py | 8 +-
.../unit/common/ovn/test_hash_ring_manager.py | 67 +-
.../conf/policies/test_network_segment_range.py | 52 +-
.../unit/conf/policies/test_security_group.py | 162 +-
.../unit/extensions/test_availability_zone.py | 10 +-
.../unit/extensions/test_data_plane_status.py | 15 +-
.../unit/extensions/test_default_subnetpools.py | 11 +-
.../test_expose_port_forwarding_in_fip.py | 6 +-
.../extensions/test_floating_ip_port_forwarding.py | 2 +-
.../unit/extensions/test_l3_conntrack_helper.py | 4 +-
.../extensions/test_network_ip_availability.py | 9 +-
.../unit/extensions/test_network_segment_range.py | 28 +-
.../unit/extensions/test_port_device_profile.py | 7 +-
.../extensions/test_port_hardware_offload_type.py | 2 +-
.../extensions/test_port_numa_affinity_policy.py | 13 +-
.../test_port_numa_affinity_policy_socket.py | 2 +-
.../extensions/test_router_availability_zone.py | 6 +-
.../test_security_groups_default_rules.py | 6 +-
.../test_security_groups_normalized_cidr.py | 5 +-
.../extensions/test_subnet_dns_publish_fixed_ip.py | 5 +-
.../unit/extensions/test_subnet_service_types.py | 7 +-
.../unit/extensions/test_subnetpool_prefix_ops.py | 24 +-
.../extensions/test_uplink_status_propagation.py | 8 +-
.../test_uplink_status_propagation_updatable.py | 97 +
.../ipam/drivers/neutrondb_ipam/test_db_api.py | 2 +-
.../ipam/drivers/neutrondb_ipam/test_driver.py | 8 +-
.../unit/objects/logapi/test_logging_resource.py | 2 +-
.../objects/plugins/ml2/test_flatallocation.py | 2 +-
.../port/extensions/test_allowedaddresspairs.py | 2 +-
.../port/extensions/test_data_plane_status.py | 2 +-
.../objects/port/extensions/test_extra_dhcp_opt.py | 2 +-
.../objects/port/extensions/test_port_hints.py | 2 +-
.../extensions/test_port_numa_affinity_policy.py | 2 +-
.../objects/port/extensions/test_port_security.py | 2 +-
.../extensions/test_uplink_status_propagation.py | 2 +-
.../unit/objects/qos/test_qos_policy_validator.py | 53 +
.../unit/objects/test_network_segment_range.py | 56 +-
.../ml2/drivers/agent/test__agent_manager_base.py | 2 +-
.../ml2/drivers/agent/test__common_agent.py | 131 +-
.../plugins/ml2/drivers/agent/test_capabilities.py | 8 +-
.../unit/plugins/ml2/drivers/base_type_tunnel.py | 33 +-
.../l2pop/rpc_manager/l2population_rpc_base.py | 2 +-
.../unit/plugins/ml2/drivers/l2pop/test_db.py | 5 +-
.../plugins/ml2/drivers/l2pop/test_mech_driver.py | 40 +-
.../plugins/ml2/drivers/linuxbridge/__init__.py | 0
.../ml2/drivers/linuxbridge/agent/__init__.py | 0
.../agent/extension_drivers/__init__.py | 0
.../agent/extension_drivers/test_qos_driver.py | 285 --
.../drivers/linuxbridge/agent/test_arp_protect.py | 178 --
.../agent/test_linuxbridge_agent_extension_api.py | 33 -
.../agent/test_linuxbridge_neutron_agent.py | 1162 -------
.../drivers/linuxbridge/mech_driver/__init__.py | 0
.../mech_driver/test_mech_linuxbridge.py | 110 -
.../macvtap/agent/test_macvtap_neutron_agent.py | 8 +-
.../macvtap/mech_driver/test_mech_macvtap.py | 16 +-
.../unit/plugins/ml2/drivers/mech_fake_agent.py | 4 +-
.../drivers/mech_sriov/agent/common/test_config.py | 4 +-
.../agent/extension_drivers/test_qos_driver.py | 12 +-
.../mech_sriov/agent/test_eswitch_manager.py | 8 +-
.../ml2/drivers/mech_sriov/agent/test_pci_lib.py | 2 +-
.../mech_sriov/agent/test_sriov_nic_agent.py | 19 +-
.../mech_driver/test_mech_sriov_nic_switch.py | 64 +-
.../unit/plugins/ml2/drivers/mechanism_logger.py | 13 +-
.../unit/plugins/ml2/drivers/mechanism_test.py | 6 +-
.../agent/extension_drivers/test_qos_driver.py | 93 +-
.../ml2/drivers/openvswitch/agent/fake_oflib.py | 14 +-
.../agent/openflow/native/ovs_bridge_test_base.py | 213 +-
.../agent/openflow/native/test_br_int.py | 820 ++---
.../agent/openflow/native/test_br_phys.py | 112 +-
.../agent/openflow/native/test_br_tun.py | 562 ++--
.../agent/openflow/native/test_ofswitch.py | 4 +-
.../openvswitch/agent/openflow/test_br_cookie.py | 4 +-
.../ml2/drivers/openvswitch/agent/ovs_test_base.py | 4 +-
.../agent/test_ovs_agent_extension_api.py | 4 +-
.../openvswitch/agent/test_ovs_capabilities.py | 2 +-
.../openvswitch/agent/test_ovs_neutron_agent.py | 594 ++--
.../drivers/openvswitch/agent/test_ovs_tunnel.py | 50 +-
.../drivers/openvswitch/agent/test_vlanmanager.py | 4 +-
.../mech_driver/test_mech_openvswitch.py | 21 +-
.../mech_driver/ovsdb/extensions/test_placement.py | 2 +-
.../ovn/mech_driver/ovsdb/extensions/test_qos.py | 133 +-
.../drivers/ovn/mech_driver/ovsdb/test_commands.py | 17 +-
.../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py | 4 +-
.../ovn/mech_driver/ovsdb/test_maintenance.py | 486 +--
.../ovn/mech_driver/ovsdb/test_ovn_client.py | 35 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 302 +-
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 66 +-
.../drivers/ovn/mech_driver/test_mech_driver.py | 322 +-
.../plugins/ml2/drivers/ovn/test_db_migration.py | 16 +
.../unit/plugins/ml2/drivers/test_type_flat.py | 18 +-
.../unit/plugins/ml2/drivers/test_type_local.py | 2 +-
.../unit/plugins/ml2/drivers/test_type_vlan.py | 17 +-
.../unit/plugins/ml2/drivers/test_type_vxlan.py | 6 +-
.../unit/plugins/ml2/extensions/fake_extension.py | 3 +-
.../ml2/extensions/test_data_plane_status.py | 2 +-
.../ml2/extensions/test_dns_domain_keywords.py | 14 +-
.../plugins/ml2/extensions/test_dns_integration.py | 18 +-
.../test_tag_ports_during_bulk_creation.py | 5 +-
.../extensions/test_uplink_status_propagation.py | 2 +-
.../test_uplink_status_propagation_updatable.py | 60 +
.../unit/plugins/ml2/test_ext_portsecurity.py | 2 +-
.../unit/plugins/ml2/test_extension_driver_api.py | 4 +-
.../unit/plugins/ml2/test_tracked_resources.py | 12 +-
.../unit/privileged/agent/linux/test_ip_lib.py | 8 +-
.../privileged/agent/linux/test_netlink_lib.py | 2 +-
.../unit/privileged/agent/ovsdb}/__init__.py | 0
.../privileged/agent/ovsdb/native}/__init__.py | 0
.../privileged/agent/ovsdb/native/test_helpers.py | 57 +
.../unit/scheduler/test_dhcp_agent_scheduler.py | 55 +-
.../unit/scheduler/test_l3_agent_scheduler.py | 102 +-
.../unit/services/conntrack_helper/test_plugin.py | 2 +-
.../externaldns/drivers/designate/test_driver.py | 2 +-
.../service_providers/test_driver_controller.py | 15 +-
.../unit/services/logapi/agent/l3/test_base.py | 6 +-
.../services/logapi/agent/test_log_extension.py | 6 +-
.../unit/services/logapi/common/test_db_api.py | 4 +-
.../services/logapi/common/test_sg_callback.py | 2 +-
.../services/logapi/common/test_sg_validate.py | 8 +-
.../services/logapi/common/test_snat_validate.py | 4 +-
.../unit/services/logapi/common/test_validators.py | 6 +-
.../drivers/openvswitch/test_ovs_firewall_log.py | 22 +-
.../services/logapi/drivers/ovn/test_driver.py | 2 +-
.../unit/services/logapi/drivers/test_base.py | 4 +-
.../unit/services/logapi/drivers/test_manager.py | 8 +-
.../unit/services/logapi/test_logging_plugin.py | 8 +-
.../metering/agents/test_metering_agent.py | 4 +-
.../services/metering/drivers/test_iptables.py | 2 +-
.../unit/services/metering/test_metering_plugin.py | 57 +-
.../services/network_segment_range/test_plugin.py | 4 +-
.../service_providers/test_driver_controller.py | 2 +-
.../services/ovn_l3/service_providers/test_ovn.py | 2 +-
.../ovn_l3/service_providers/test_user_defined.py | 4 +-
.../unit/services/placement_report/test_plugin.py | 37 +-
.../portforwarding/drivers/ovn/test_driver.py | 6 +-
.../unit/services/portforwarding/test_pf_plugin.py | 7 +-
.../qos/drivers/openvswitch/test_driver.py | 2 +-
.../unit/services/qos/drivers/ovn/test_driver.py | 2 +-
.../unit/services/qos/drivers/test_manager.py | 10 +-
.../services/revisions/test_revision_plugin.py | 7 +-
.../unit/services/test_provider_configuration.py | 14 +-
.../services/trunk/drivers/linuxbridge/__init__.py | 0
.../trunk/drivers/linuxbridge/agent/__init__.py | 0
.../trunk/drivers/linuxbridge/agent/test_driver.py | 253 --
.../linuxbridge/agent/test_trunk_plumber.py | 115 -
.../trunk/drivers/linuxbridge/test_driver.py | 40 -
.../trunk/drivers/openvswitch/agent/test_driver.py | 2 +-
.../openvswitch/agent/test_ovsdb_handler.py | 30 +-
.../openvswitch/agent/test_trunk_manager.py | 4 +-
.../trunk/drivers/ovn/test_trunk_driver.py | 5 +-
neutron/worker.py | 8 +-
neutron/wsgi/api.py | 12 +-
plugin.spec | 83 -
...of-the-tags-for-resources-23f825398d301d20.yaml | 13 +
releasenotes/notes/add-7c25db94790c671c.yaml | 7 +
..._records_ovn_owned-config-120ef08d5cf659f2.yaml | 12 +
...for-allowed-address-pairs-acd6d700cd7dd560.yaml | 6 +
...ctivation-strategy-option-8ef113349aa97ff1.yaml | 9 +
..._status_updatable-to-port-383669f31c82809a.yaml | 7 +
...e-to-the-network-resource-4a1ab8497dfd16b8.yaml | 15 +
.../add-sg-rule-any-to-api-157e3e04e8ad92d8.yaml | 8 +
...ate-ovn_emit_need_to_frag-f27859b234213d12.yaml | 5 +
...ategy-rarp-for-dpdk-ports-7f9164e57c578b95.yaml | 9 +
...ibuted-metadata-data-path-79d5c1295977379f.yaml | 13 +
.../drop-postgresql-support-d666f15fa7394e9e.yaml | 5 +
..._conntrack_tcp_be_liberal-00432039c9e7ab9d.yaml | 18 +
...t_need_to_frag-by-default-9ba0169e70a55173.yaml | 7 +
...able_eventlet_monkeypatch-fccede7812d60c38.yaml | 12 +
...with-ovn-loadbalancer-fip-4e4bda00cf019f71.yaml | 5 +
...router-conntrackd-support-6bc8b039fc3ac207.yaml | 10 +
...driver-use-ovs-by-default-53938648662a590b.yaml | 6 +
..._segment_ranges_timestamp-7a5080afd226299c.yaml | 8 +
...ver-support-address-group-fac3d96af5093a17.yaml | 4 +
.../ovn-qos-min-bw-rule-only-25a0699c1510c4c4.yaml | 6 +
...ovn-qos-physical-networks-77af4a1c0795e73e.yaml | 11 +
.../ovn_router_gateway_mtu-ac69e07b30093193.yaml | 7 +
...ays-checks-resource-usage-6e5e18f5c8f4b725.yaml | 12 +
...n_supported-config-option-8d85a4bed0f04e76.yaml | 6 +
.../notes/remove-dibbler-b846e534244c6a74.yaml | 7 +
...remove-linuxbridge-driver-d0df60e5cf8ab3bc.yaml | 5 +
...ovn-migration-for-tripleo-a24b8ace9b25b8f4.yaml | 5 +
...tags-related-api-policies-7173629378ee9d02.yaml | 15 +
.../subnet_policies_updated-ec1ddc477757b441.yaml | 7 +
...rrect-aap-mac-for-dvr-arp-ce9e00d163cf4ddc.yaml | 8 +
.../notes/wsgi_start-time-101ce9c9a36b8a4f.yaml | 8 +
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 11 +-
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 90 -
.../source/locale/ja/LC_MESSAGES/releasenotes.po | 11 +-
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 103 -
requirements.txt | 16 +-
setup.cfg | 28 +-
test-requirements.txt | 4 +-
tools/bug-1921150-re-parent-device-rps.sql | 2 -
tools/configure_for_func_testing.sh | 49 +-
tools/download_gerrit_change.py | 2 +-
tools/files_in_patch.py | 8 +-
tools/migrate_names.py | 8 +-
tools/ovn_migration/README.rst | 3 -
tools/ovn_migration/hosts.sample | 37 -
.../infrared/tripleo-ovn-migration/README.rst | 33 -
.../infrared/tripleo-ovn-migration/main.yml | 194 --
.../roles/create-resources/defaults/main.yml | 9 -
.../roles/create-resources/tasks/main.yml | 33 -
.../templates/create-resources.sh.j2 | 170 --
.../create-resources/templates/start-pinger.sh.j2 | 58 -
.../roles/prepare-migration/defaults/main.yml | 7 -
.../roles/prepare-migration/tasks/main.yml | 191 --
.../templates/start-ovn-migration.sh.j2 | 7 -
.../tripleo_environment/ovn_migration.sh | 417 ---
.../playbooks/ovn-migration.yml | 121 -
.../playbooks/reduce-dhcp-renewal-time.yml | 19 -
.../tripleo_environment/playbooks/revert.yml | 4 -
.../playbooks/roles/backup/tasks/main.yml | 19 -
.../delete-neutron-resources/defaults/main.yml | 3 -
.../roles/delete-neutron-resources/tasks/main.yml | 21 -
.../templates/delete-neutron-resources.sh.j2 | 32 -
.../playbooks/roles/migration/defaults/main.yml | 5 -
.../roles/migration/tasks/activate-ovn.yml | 15 -
.../roles/migration/tasks/cleanup-dataplane.yml | 75 -
.../roles/migration/tasks/clone-dataplane.yml | 15 -
.../playbooks/roles/migration/tasks/main.yml | 11 -
.../playbooks/roles/migration/tasks/sync-dbs.yml | 34 -
.../roles/migration/templates/activate-ovn.sh.j2 | 42 -
.../roles/migration/templates/clone-br-int.sh.j2 | 77 -
.../roles/post-migration/defaults/main.yml | 4 -
.../playbooks/roles/post-migration/tasks/main.yml | 59 -
.../playbooks/roles/pre-migration/tasks/main.yml | 17 -
.../roles/recovery-backup/defaults/main.yml | 12 -
.../playbooks/roles/recovery-backup/tasks/main.yml | 69 -
.../roles/resources/cleanup/defaults/main.yml | 6 -
.../roles/resources/cleanup/tasks/main.yml | 26 -
.../cleanup/templates/cleanup-resources.sh.j2 | 32 -
.../roles/resources/create/defaults/main.yml | 6 -
.../roles/resources/create/tasks/main.yml | 22 -
.../create/templates/create-resources.sh.j2 | 144 -
.../roles/resources/validate/defaults/main.yml | 5 -
.../roles/resources/validate/tasks/main.yml | 12 -
.../validate/templates/validate-resources.sh.j2 | 19 -
.../playbooks/roles/revert/tasks/main.yml | 29 -
.../playbooks/roles/stop-agents/defaults/main.yml | 3 -
.../playbooks/roles/stop-agents/tasks/cleanup.yml | 25 -
.../playbooks/roles/stop-agents/tasks/main.yml | 22 -
.../playbooks/roles/stop-agents/vars/main.yml | 19 -
.../roles/tripleo-update/defaults/main.yml | 4 -
.../playbooks/roles/tripleo-update/tasks/main.yml | 24 -
.../templates/generate-ovn-extras.sh.j2 | 8 -
tools/tripleo/ovn.yml | 51 -
tox.ini | 37 +-
zuul.d/base.yaml | 68 +-
zuul.d/grenade.yaml | 80 +-
zuul.d/job-templates.yaml | 71 +-
zuul.d/project.yaml | 18 +-
zuul.d/rally.yaml | 19 +-
zuul.d/tempest-multinode.yaml | 53 +-
zuul.d/tempest-singlenode.yaml | 198 +-
1335 files changed, 21668 insertions(+), 31500 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 96991315f0..161c7b6983 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,2 +13,2 @@ pecan>=1.4.0 # BSD
-httplib2>=0.9.1 # MIT
-requests>=2.18.0 # Apache-2.0
+httplib2>=0.22.0 # MIT
+requests>=2.32.3 # Apache-2.0
@@ -18 +18 @@ netaddr>=0.7.18 # BSD
-neutron-lib>=3.15.0 # Apache-2.0
+neutron-lib>=3.17.0 # Apache-2.0
@@ -35 +35 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=4.4.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
@@ -45 +45 @@ osprofiler>=2.3.0 # Apache-2.0
-os-ken>=2.2.0 # Apache-2.0
+os-ken>=3.0.0 # Apache-2.0
@@ -47,3 +47,3 @@ os-resource-classes>=1.1.0 # Apache-2.0
-ovs>=2.10.0 # Apache-2.0
-ovsdbapp>=2.7.1 # Apache-2.0
-psutil>=5.3.0 # BSD
+ovs>=2.12.0 # Apache-2.0
+ovsdbapp>=2.11.0 # Apache-2.0
+psutil>=6.1.0 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 94ff22efc4..4bb436e6cf 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -0,0 +1 @@
+hacking>=7.0.0,<7.1.0 # Apache-2.0
@@ -10 +11 @@ stestr>=1.0.0 # Apache-2.0
-ddt>=1.0.1 # MIT
+ddt>=1.2.1 # MIT
@@ -12,0 +14 @@ PyMySQL>=0.7.6 # MIT License
+doc8>=0.6.0 # Apache-2.0
1
0
We are excited to announce the release of:
heat 24.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/heat
Download the package from:
https://tarballs.openstack.org/heat/
Please report issues through:
https://storyboard.openstack.org/#!/project/989
For more details, please see below.
24.0.0
^^^^^^
New Features
************
* A new module, "heat.wsgi", has been added as a place to gather
WSGI "application" objects. This is intended to ease deployment by
providing a consistent location for these objects. For example, if
using uWSGI then instead of:
[uwsgi]
wsgi-file = /bin/heat-api
You can now use:
[uwsgi]
module = heat.wsgi.api:application
This also simplifies deployment with other WSGI servers that expect
module paths such as gunicorn.
* The new resources, "OS::Octavia::AvailabilityZoneProfile" and
"OS::Octavia::AvailabilityZone", are added. These resource types
allow an operator to create Octavia availabilityzone profile and
availabilityzone. A created "OS::Octavia::AvailabilityZone" resource
can be referred by the "availability_zone" property of
"OS::Octavia::LoadBalancer" resources.
* Added the "tenant_id" property to the following resources. This
property allows admin users to create these resources in specific
tenants.
* "OS::Neutron::ProviderNet"
* "OS::Neutron::Router"
* Added "attributes" property to resource type
"OS::Designate::Zone". It can be any key:value pairs of information
about this zone including the pool where the user wants to place the
zone used by scheduler.
* The new "[DEFAULT] max_cinder_api_microversion" option has been
added. This option overrides the maximum API microversion supported
by Cinder, which is detected automatically by default.
* The "OS::Cinder::Volume" resource type now supports extending
volumes in use. Note that this requires that Cinder supports API
microversion 3.42 or later.
Upgrade Notes
*************
* "OS::Manila::Share" attribute "export_locations" will now be a
list of export paths
Deprecation Notes
*****************
* The "heat-all" console script has been deprecated and will be
removed in a future release.
Bug Fixes
*********
* Fixed the consistent type mismatch error caused by creating or
updating a stack with files stored in OpenStack Swift containers,
using the *files_container* parameter. Now file content is always
decoded and can be used as a string value.
* Changed type of the following parameters from integer to string,
to correctly parse micro versions with trailing zero (e.g. 2.20).
* "[DEFAULT] max_nova_api_microversion"
* "[DEFAULT] max_ironic_api_microversion"
* "OS::Manila::Share" attribute "export_locations" will now be a
list of export paths
Changes in heat 23.0.0..24.0.0
------------------------------
674a3bdd9 Deprecate heat-all
8a02abd8a support "tenant_id" property in provider_net and router
3533e88bb Decode object content to string
18ef5ed71 Use consistent URL format for all client libraries
f56522b7b Fix inconsistent environment for stestr test path
893a0525b Imported Translations from Zanata
4e6460dbd Apply upper constraints to build api-ref
438cd93d0 Replace oslo_utils.encodeutils.exception_to_unicode
cb613b7db Update gate jobs as per the 2025.1 cycle testing runtime
306d35269 Fix test compatibility with newer Pythons
166c8e9cf Drop exclusion of bandit B410 test
674814214 Fix old default domain name
de8fe770b doc: Use dnf instead of yum
042bed804 Add `attributes` property to OS::Designate::Zone
2419bc6de Loose cron record validation error check
6a0150df6 devstack: Remove mod_wsgi support
78b2bc108 reno: Update master for unmaintained/2023.1
91e1b948c Fix missing extension detection capability and fix arguments
c573a6cc2 Fix incomplete service name
7898473b8 Replace deprecated configure_auth_token_middleware
070ef3d5a Fix outdated ceilometer backend
abf2caafa Drop reference to Cloud Watch API service
656e71c10 Remove default override for config options policy_file
be507d0e9 Avoid duplicate '/v3' in Keystone endpoint URL
dbc298b4c Drop workaround for Python 3.8
aacee2971 Add note about requirements lower bounds
7cf9e3297 Do not import osprofiler options
c5e0a4479 Avoid wrongly passing "no_fixed_ips" to Neutron
d2e9d36fd Accept provider:physical_network only for vlan or flat network type
674bd11ac Add skip level upgrade job
b03667a2a Enable GLOBAL_VENV
00ae10af5 Update the list of EM stable branches
9350c4715 Add common constraint to validate JSON string
8289dc5d5 Drop ignored item from shared_services_types
b3bd897cc Fix python executable file for heat: greande GLOBAL_VENV
fe3fe44a1 Add Octavia Availability Zone resource types
e3def058c Support file watcher to trigger GMR report
2551c5675 Declare Python 3.12 support
f911414a6 Actually wait for designate resource deletion
300d205c7 Replace deprecated glanceclient exception
7c101c91b Drop leftover of Image v1 API usage
867607f56 Drop remaining code for Senlin support
495bf7f4d Imported Translations from Zanata
335c7eb00 Drop unicode prefix from tests (4)
7193d1f8b Drop unicode prefix from tests (3)
f3a6c04fc Drop unicode prefix from tests (2)
4b343f67d Drop unicode prefix from tests (1)
1292ebb1b Add wsgi module
c0c338748 Drop unicode prefix from integration tests
d06457bcc Drop unicode prefix
80845924d Move input file for oslo-config-generator
e3d579f65 Drop duplicate oslo.cache namespace
ae78c7edf Replace datetime.datetime.utcnow()
3e63ba196 Remove workaround for eventlet < 0.27.0
1607ace72 Drop compat code for very old heat-engine
695c8e64e Imported Translations from Zanata
e26f779d9 Support online volume extension
0b84e5be0 cinder: Add mechanism to compare api microversion
0135d5065 Reject volume extension of in-use volume regardless of multiattach
82338abb4 More strictly validate max api microversion options
6923c6a15 Get rid of RequestContext.tenant_id
1f81040c6 Drop SQLALCHEMY_WARN_20
16eefd07c Imported Translations from Zanata
3ecf5373c Refactor microversion handling for ironic
ee0570703 Remove old upgrade script
ba5d05af6 Treat api microversion as string
3b2a880f7 Update master for stable/2024.2
d22f56bba Return export_locations as a list
Diffstat (except docs and test files)
-------------------------------------
.stestr.conf | 2 +-
.zuul.yaml | 21 +-
README.rst | 4 +-
api-ref/source/conf.py | 8 +-
devstack/lib/heat | 174 +-----
devstack/upgrade/from-rocky/upgrade-heat | 55 --
devstack/upgrade/upgrade.sh | 4 +-
.../heat/heat-config-generator.conf | 2 +-
.../files => etc/heat/httpd}/heat-api-cfn.conf | 2 +-
{heat/httpd/files => etc/heat/httpd}/heat-api.conf | 2 +-
.../heat/uwsgi}/heat-api-cfn-uwsgi.ini | 2 +-
.../files => etc/heat/uwsgi}/heat-api-uwsgi.ini | 2 +-
heat/{httpd/heat_api_cfn.py => api/cfn/wsgi.py} | 0
heat/api/openstack/v1/software_configs.py | 2 +-
heat/api/openstack/v1/stacks.py | 27 +-
heat/api/openstack/v1/util.py | 8 +-
heat/{httpd/heat_api.py => api/openstack/wsgi.py} | 0
heat/cmd/all.py | 13 +-
heat/cmd/api.py | 10 +-
heat/cmd/api_cfn.py | 10 +-
heat/cmd/engine.py | 10 +-
heat/common/config.py | 38 +-
heat/common/context.py | 17 +-
heat/common/pluginutils.py | 19 +-
heat/common/policy.py | 9 -
heat/common/template_format.py | 4 +-
heat/common/wsgi.py | 4 +-
heat/db/api.py | 57 +-
heat/engine/api.py | 2 +-
heat/engine/check_resource.py | 4 +-
heat/engine/clients/os/cinder.py | 33 +-
heat/engine/clients/os/glance.py | 6 +-
heat/engine/clients/os/heat_plugin.py | 2 +-
heat/engine/clients/os/ironic.py | 32 +-
.../clients/os/keystone/heat_keystoneclient.py | 26 +-
heat/engine/clients/os/neutron/__init__.py | 2 +-
heat/engine/clients/os/nova.py | 2 +-
heat/engine/clients/os/octavia.py | 14 +
heat/engine/clients/os/openstacksdk.py | 13 +-
heat/engine/clients/os/swift.py | 9 +-
heat/engine/constraint/common_constraints.py | 18 +-
heat/engine/constraints.py | 4 +-
heat/engine/resource.py | 6 +-
heat/engine/resources/aws/cfn/wait_condition.py | 2 +-
heat/engine/resources/openstack/cinder/volume.py | 19 +-
.../resources/openstack/designate/recordset.py | 20 +-
heat/engine/resources/openstack/designate/zone.py | 31 +-
.../resources/openstack/heat/instance_group.py | 2 +-
.../openstack/heat/wait_condition_handle.py | 4 +-
heat/engine/resources/openstack/ironic/port.py | 11 +-
heat/engine/resources/openstack/manila/share.py | 8 +-
.../resources/openstack/neutron/floatingip.py | 17 +-
.../resources/openstack/neutron/provider_net.py | 22 +-
heat/engine/resources/openstack/neutron/router.py | 11 +-
heat/engine/resources/openstack/nova/flavor.py | 2 +-
.../openstack/nova/server_network_mixin.py | 7 +-
.../openstack/octavia/availability_zone.py | 129 +++++
.../openstack/octavia/availability_zone_profile.py | 99 ++++
.../resources/openstack/octavia/flavor_profile.py | 4 +-
.../resources/openstack/octavia/loadbalancer.py | 3 +
heat/engine/resources/stack_resource.py | 2 +-
heat/engine/service.py | 6 +-
heat/engine/service_software_config.py | 4 +-
heat/engine/stack.py | 4 +-
heat/engine/sync_point.py | 4 +-
heat/httpd/files/uwsgi-heat-api-cfn.conf | 2 -
heat/httpd/files/uwsgi-heat-api.conf | 2 -
heat/locale/de/LC_MESSAGES/heat.po | 13 +-
heat/locale/es/LC_MESSAGES/heat.po | 6 +-
heat/locale/fr/LC_MESSAGES/heat.po | 6 +-
heat/locale/it/LC_MESSAGES/heat.po | 6 +-
heat/locale/ja/LC_MESSAGES/heat.po | 6 +-
heat/locale/ko_KR/LC_MESSAGES/heat.po | 6 +-
heat/locale/pt_BR/LC_MESSAGES/heat.po | 6 +-
heat/locale/ru/LC_MESSAGES/heat.po | 6 +-
heat/locale/zh_CN/LC_MESSAGES/heat.po | 6 +-
heat/locale/zh_TW/LC_MESSAGES/heat.po | 6 +-
heat/policies/resource_types.py | 8 +
.../api/openstack_v1/test_views_stacks_view.py | 30 +-
.../openstack/heat/test_software_deployment.py | 4 +-
.../openstack/neutron/test_neutron_floating_ip.py | 51 +-
.../neutron/test_neutron_network_gateway.py | 72 +--
.../openstack/neutron/test_neutron_provider_net.py | 25 +-
.../neutron/test_neutron_security_group_rule.py | 8 +-
.../openstack/octavia/test_availability_zone.py | 111 ++++
.../octavia/test_availability_zone_profile.py | 114 ++++
heat/{httpd => wsgi}/__init__.py | 0
heat/wsgi/api.py | 24 +
heat/wsgi/cfn.py | 24 +
.../functional/test_create_update.py | 6 +-
.../functional/test_resource_group.py | 36 +-
.../functional/test_update_restricted.py | 8 +-
.../functional/test_validation.py | 2 +-
.../add-heat-wsgi-module-bd75e71b4fc47568.yaml | 22 +
...vailabilityzone-resources-f07af0b016f259ed.yaml | 8 +
.../add-tenant_id-for-physnet-and-router.yaml | 8 +
.../add_attributes_property-64fafdcba5aadec7.yaml | 8 +
.../notes/deprecate-heat-all-4d9abc588d8b1f7f.yaml | 5 +
...iles-read-from-containers-fe2bbb0b48a69717.yaml | 7 +
...x_cinder_api_microversion-bfdf420bf214f7aa.yaml | 6 +
.../microversion-string-2e6dd033e046420f.yaml | 8 +
.../online-volume-extension-bb9d6554bda5b682.yaml | 6 +
.../notes/story-2011146-07db485192f8c2f3.yaml | 9 +
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/conf.py | 14 +-
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 123 ++++-
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 2 +-
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 2 +-
requirements.txt | 8 +-
setup.cfg | 8 +-
test-requirements.txt | 2 +-
tox.ini | 12 +-
197 files changed, 2703 insertions(+), 1976 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 5f3ad3fdf..5a6ed0972 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.
+
@@ -5 +9 @@ cryptography>=2.5 # BSD/Apache-2.0
-eventlet>=0.18.2 # MIT
+eventlet>=0.27.0 # MIT
@@ -21 +25 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=4.4.0 # Apache-2.0
+oslo.policy>=4.5.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 4fbc26156..262eaade7 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@ hacking>=6.1.0,<6.2.0 # Apache-2.0
-bandit>=1.1.0 # Apache-2.0
+bandit>=1.8.1 # Apache-2.0
1
0
We are amped to announce the release of:
neutron-dynamic-routing 26.0.0
This release is part of the epoxy release series.
The source is available from:
https://opendev.org/openstack/neutron-dynamic-routing
Download the package from:
https://tarballs.openstack.org/neutron-dynamic-routing/
Please report issues through:
https://bugs.launchpad.net/neutron/+bugs
For more details, please see below.
Changes in neutron-dynamic-routing 25.0.0..26.0.0
-------------------------------------------------
67fbc2e pyupgrade changes for Python3.9+
0c8ec82 tests: test_db_base_plugin_v2.py was moved to common
282b480 reno: Update master for unmaintained/2023.1
d360b30 Fix outdated tox minversion
9ef6249 Update jobs based on testing runtime for 2025.1
0527c0f Use common eventlet helper from neutron
fb46b21 Remove workaround for eventlet < 0.27.0
48c5139 Bump hacking
e84e164 [sqlalchemy-20] Remove CI job "neutron-dynamic-routing-openstack-tox-py310-with-sqlalchemy-main"
a56f339 Update master for stable/2024.2
Diffstat (except docs and test files)
-------------------------------------
.pylintrc | 1 -
.zuul.yaml | 19 +--
.../api/rpc/agentnotifiers/bgp_dr_rpc_agent_api.py | 45 ++++---
.../api/rpc/handlers/bgp_speaker_rpc.py | 2 +-
neutron_dynamic_routing/cmd/eventlet/__init__.py | 12 +-
neutron_dynamic_routing/db/bgp_db.py | 74 ++++++------
.../extensions/bgp_dragentscheduler.py | 2 +-
.../services/bgp/agent/bgp_dragent.py | 21 ++--
.../services/bgp/agent/driver/base.py | 2 +-
.../services/bgp/agent/driver/os_ken/driver.py | 11 +-
.../services/bgp/agent/driver/utils.py | 2 +-
neutron_dynamic_routing/services/bgp/bgp_plugin.py | 86 +++++++-------
.../bgp/scheduler/bgp_dragent_scheduler.py | 8 +-
.../bgp/scheduler/test_bgp_dragent_scheduler.py | 4 +-
.../agentnotifiers/test_bgp_dr_rpc_agent_api.py | 2 +-
.../unit/api/rpc/handlers/test_bgp_speaker_rpc.py | 2 +-
.../unit/services/bgp/agent/test_bgp_dragent.py | 36 +++---
.../unit/services/bgp/driver/os_ken/test_driver.py | 74 ++++++------
.../bgp/scheduler/test_bgp_dragent_scheduler.py | 8 +-
releasenotes/source/2023.1.rst | 2 +-
releasenotes/source/2024.2.rst | 6 +
releasenotes/source/index.rst | 1 +
requirements.txt | 6 +-
setup.cfg | 4 +-
test-requirements.txt | 8 +-
tox.ini | 5 +-
31 files changed, 288 insertions(+), 302 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index c5d7839..390da6f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,4 +3,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.
@@ -10 +6 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+eventlet>=0.27.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 1e77835..4953e43 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,5 +1 @@
-# 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.
-hacking>=3.2.0,<3.3.0 # Apache-2.0
-
+hacking>=6.1.0,<6.2.0 # Apache-2.0
@@ -8 +4 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-flake8-import-order==0.12 # LGPLv3
+flake8-import-order>=0.18.0,<0.19.0 # LGPLv3
1
0