Zuul [Sat, 13 Dec 2025 20:09:08 +0000 (20:09 +0000)]
Update git submodules
* Update swift from branch 'master'
to eb567b21429ae85be24ce92cd326357c11e97aaa
- Merge "max_request_line: add probe test assertions"
- max_request_line: add probe test assertions
The existing test_signals probe test provides a convenient place to
make some assertions about modified constraints.
Related-Change: Icb2920bf975c7a1dfc7368380b54e99ba1ebcd2c
Change-Id: I37173a733212cd253d27437aecee9e2b379366c6 Signed-off-by: Alistair Coles <alistairncoles@gmail.com>
Zuul [Sat, 13 Dec 2025 11:39:02 +0000 (11:39 +0000)]
Update git submodules
* Update watcher from branch 'master'
to 2ba9caae744db2f62e6a57e25069ac364ec54ffc
- Merge "Move decision-engine monitoring service to the decision-engine"
- Move decision-engine monitoring service to the decision-engine
Currently, it is running only as part of the watcher-api when running as
an standalone eventlet service, and not executed as a wsgi service. In
a decision-engine failure scenario, the continuous audits running on it
are not reassigned and are not longer running.
This patch is moving the service to be part of the decision-engine
itself. Note that when there are no running decision-engines there is no
point in running the monitor service.
I am also including a leader election mechanism so that we can run
multiple copies of the monitor and only one of the alive ones takes
care of monitoring the service and acting upon failures.
This patch ensures that after a successful driver assisted
volume migration, the volume's service_uuid is updated to
reflect the possible destination service's uuid.
Closes-Bug: #2117273
Change-Id: I71b0ece4d98cf099a5487279ed28fdc0a4061c8b Signed-off-by: Walter Boring <waboring@hemna.com>
Zuul [Fri, 12 Dec 2025 23:59:39 +0000 (23:59 +0000)]
Update git submodules
* Update glance from branch 'master'
to 06b80afa970510bb314aebb01657efef1844ded7
- Merge "Document Uwsgi support for production"
- Document Uwsgi support for production
Zuul [Fri, 12 Dec 2025 23:59:33 +0000 (23:59 +0000)]
Update git submodules
* Update cinder from branch 'master'
to cf7a00aba514805afe77380fd5690ce246976ce8
- Merge "tests: Ensure all APIs have a request body schema"
- tests: Ensure all APIs have a request body schema
The idea here is to test that we are doing schema validation against
all routes that accept a request body (i.e. POST, PUT, PATCH). We can
use these schemas down the line to generate OpenAPI docs like all the
cool kids do.
Change-Id: I666ac1c151de9bf1b4570390d74809afb014f4a2 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Zuul [Fri, 12 Dec 2025 23:47:33 +0000 (23:47 +0000)]
Update git submodules
* Update cinder from branch 'master'
to f8b6f404d68f65f9ad47b8804f254b960c4361de
- Merge "api: Add remaining missing request body schemas"
- api: Add remaining missing request body schemas
This is relatively simple. The schemas added are either (a) extremely
loose or (b) merely mimic validation that already exists in the API
methods. Where the latter occurs, we remove the existing validation
logic, which effectively means removing invocations of
'assert_valid_body' and 'validate_name_and_description'. So far, so
good. We also rename the imports for consistency as we plan to conduct
far more surgery on these.
We do, however, uncover a bug. The 'VolumeTypesManageController._delete'
method is getting mapped to two APIs: 'DELETE /types/{id}' and 'POST
/types/{id}/action'. Only the former is expected and attempting to use
the latter fails, but it fails with HTTP 500 (bad!) rather than HTTP 404
(good!). This can be reproduced with e.g.
>>> import openstack
>>> conn = openstack.connect()
>>> type_id = 'xxx' # a valid type ID here
>>> body = {'delete': None}
>>> conn.block_storage.post(f'/types/{type_id}/action', json=body)
We should fix this, but doing so is out-of-scope for this change so a
FIXME is included for now instead.
On top of all the above, the schema decorator we have expects a 'body'
kwarg to be passed to the method and requires a request object with API
version attributes. We had a couple of tests that were passing body as a
positional argument instead or using fake request objects. We correct
all these issues.
Change-Id: I0d4ed51932ba94abb59e650fa726c877b94656b1 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Zuul [Fri, 12 Dec 2025 23:13:55 +0000 (23:13 +0000)]
Update git submodules
* Update openstack-ansible-galera_server from branch 'master'
to ebd7fd89988ac38e7e5b3e08a758fdd24efd3518
- Merge "Replace normpath with join for backup script"
- Replace normpath with join for backup script
Instead of trying to normalize path for each instance, we can
normalize passed by user path once and then leverage join instead.
This not only should optimize execution, but makes code more readable.
This is follow-up of [1]. That patch added a wait for actionplan to
reach finished state before checking the status. However, it is not
refreshing the state of the actionplan in the action_plan variable
before doint the actual assert, so it's still validating the state that
had before the wait.
Zuul [Fri, 12 Dec 2025 21:57:07 +0000 (21:57 +0000)]
Update git submodules
* Update openstack-helm from branch 'master'
to a5670acef08d06b84900a1bac84571b6b478c2a8
- Merge "keystone: provide default WSGI script for apache"
- keystone: provide default WSGI script for apache
Provide a WSGI script for Apache to use to start up Keystone since Keystone
stopped shipping their own entrypoint. This is done in a way that users can
override it and the container has less moving pieces at startup.
Zuul [Fri, 12 Dec 2025 21:13:14 +0000 (21:13 +0000)]
Update git submodules
* Update neutron from branch 'master'
to b01e3aeb7b3b63e847858411bd6664aeacdc5f27
- Merge "Handle virtual port parent lookup via Neutron DB"
- Handle virtual port parent lookup via Neutron DB
When the existing code would have an orphaned LSP that matched the IP
of a port being added to a VM, it would detect that the new VM port
was of type virtual. This patch instead uses the neutron db (the source
of truth) to find the parent ports of a virtual port (the ports that
have allowed address pairs matching the port).
We no longer want to support enabling and disabling API extensions.
Start this process by merging in the os-services API. Nothing changes
yet with regards to configuration but that is coming.
Note that we can now delete the 'ServiceController.update' method since
we can use 'mapper.connect' rather than 'mapper.resource'.
Change-Id: I352488f501c7ebd32f895e59e8d593d73a2d97dc Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Zuul [Fri, 12 Dec 2025 20:26:39 +0000 (20:26 +0000)]
Update git submodules
* Update ironic-python-agent from branch 'master'
to b02398ffde4c99673332ea0c9fbddb723be532e3
- Merge "enable_vlan_interfaces: support identifying interfaces by MAC"
- enable_vlan_interfaces: support identifying interfaces by MAC
The enable_vlan_interfaces config option supports a comma-separated list
of <interface>.<vlan> pairs. However, using this relies on knowledge of
the interface name. When used via the ipa-enable-vlan-interfaces kernel
command-line parameter, an interface name may be hard to predict.
As an alternative to identifying interfaces by name, support identifying
them by MAC.
Change-Id: Ice822a8e7b8d82352b3b39f87d930bef3eb7b461 Signed-off-by: Jonathan Davies <jonathan.davies@nutanix.com>
In the maintenance method `update_lrouter_ports_ext_ids_name_prefix`,
the call to `_gen_router_port_ext_ids` should be done with a Neutron
DB port, not the Logical_Switch_Port.
Closes-Bug: #2134703 Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: I2bc635e80f23d38683ae635ac15f4fc3e7a79b73
Zuul [Fri, 12 Dec 2025 19:29:52 +0000 (19:29 +0000)]
Update git submodules
* Update oslo.limit from branch 'master'
to fcc8fcae2e0e364e54d35062e0448d7a626fbc07
- Merge "typing: Be looser in what we accept"
- typing: Be looser in what we accept
Accept e.g. dict.keys() or tuples as well as lists.
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I0d64196a5639ac940c8bf0adb7aef2f75e85c77d
Zuul [Fri, 12 Dec 2025 19:00:01 +0000 (19:00 +0000)]
Update git submodules
* Update ironic from branch 'master'
to 42883161cbbe55d65158f5c2e5c9176089094b87
- Merge "docs: a little more clarity around the state of ipxe+uefi"
- docs: a little more clarity around the state of ipxe+uefi
We likely need to begin to strip out the undionly.kpxe stuffs as well,
but first lets see what people think with this and we can go in that
direction.
Change-Id: I09f15e87372390219193c93ba3b5d309f29df900 Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
Zuul [Fri, 12 Dec 2025 18:56:25 +0000 (18:56 +0000)]
Update git submodules
* Update swift from branch 'master'
to 9fb75e5af57cc8d7282951f55ecc8d0e16d983cf
- Merge "slo: use Timestamp.zero() as default in RespAttrs"
- slo: use Timestamp.zero() as default in RespAttrs
Also make test assertions for async delete at times less
brittle.
Change-Id: I750ac1ab2a75d1a49c87c6e1704ebe733fb31ec2 Signed-off-by: Alistair Coles <alistairncoles@gmail.com>
Zuul [Fri, 12 Dec 2025 18:17:02 +0000 (18:17 +0000)]
Update git submodules
* Update ironic from branch 'master'
to a4250a6d623c195ad56d12688844029ddad75b7b
- Merge "Include all relevant error messages in exception"
- Include all relevant error messages in exception
Retry failures report only the last error which could be misleading,
so include all relevant errors in the final exception.
Reason for revert:
In the last PTG we decided that the best location for the stadium projects osc client code would be the openstackclient repo. A patch was proposed for tapaas, see depends-on link below. Other projects will follow
Zuul [Fri, 12 Dec 2025 12:48:17 +0000 (12:48 +0000)]
Update git submodules
* Update neutron-lib from branch 'master'
to ed808a4497060b2311c3cc15f56c346e13e1cd0e
- Merge "Adding new base class 'BaseOvnDbSynchronizer'"
- Adding new base class 'BaseOvnDbSynchronizer'
This new class is an interface which should be implemented by any sync
plugin which is intended to be used by the ovn_db_sync tool in Neutron.
In change I5dd9bc9743bea779ea1b4a71264c9a77c80033b3 we have started
ignoring commands from plugins that have been migrated in-tree. Respect
that here also.
Change-Id: I70efa43341df982519afed0803a118126925e5a7 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Zuul [Fri, 12 Dec 2025 09:27:13 +0000 (09:27 +0000)]
Update git submodules
* Update neutron from branch 'master'
to d1f1836c0c8cad030fb6533abf290fec79d68b42
- Merge "[Docs] Add doc about Virtual IP addresses in Neutron ML2/OVN"
- [Docs] Add doc about Virtual IP addresses in Neutron ML2/OVN
This patch adds new documentation about usage of Virtual IPs and their
implementation and limitations in the ML2/OVN backend.
Zuul [Fri, 12 Dec 2025 09:27:05 +0000 (09:27 +0000)]
Update git submodules
* Update neutron from branch 'master'
to ea8602db52cd99ed9fc542bddfa20c51da0e092d
- Merge "bgp: Introduce Main router and chassis router commands"
- bgp: Introduce Main router and chassis router commands
The patch introduces the Main BGP router and a router per chassis
commads.
Related-Bug: #2111276 Assisted-By: claude-4-sonnet
Change-Id: I5b144b5252b4934d7f048eb33c59b49239137eb4 Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Zuul [Fri, 12 Dec 2025 03:41:07 +0000 (03:41 +0000)]
Update git submodules
* Update openstack-ansible from branch 'master'
to 43853a4023310e0bea37325afe0399e0c88cba22
- Merge "aio: fix octavia/trove when used with ovs"
- aio: fix octavia/trove when used with ovs
If this is backported to 2024.2 or beyond, it additionally
requires handling for lxb.
Change-Id: I9d1b27eacf8a3c8cbd5e4fbdff53a3064604c496 Signed-off-by: Andrew Bonney <andrew.bonney@bbc.co.uk>
Zuul [Fri, 12 Dec 2025 03:05:14 +0000 (03:05 +0000)]
Update git submodules
* Update neutron from branch 'master'
to 0c08c584e379be711888abd26c6758500f717a34
- Merge "Initialize DHCP leases with infinite duration"
- Initialize DHCP leases with infinite duration
In cases where the dhcp_lease_duration is reduced,
dnsmasq may expire a lease server-side before the client
has an opportunity to renew and pick up the new, shorter
lease duration. In this case, dnsmasq will send a NAK upon
the renewal request which causes some clients to completely
drop the IP, thus all active connections, to renegotiate a
new lease for the IP.
Initializing with an infinte lease duration ensures that
dnsmasq will have an existing lease for all valid ports
upon their next lease request. Upon a client's next lease
request or renewal, dnsmasq will issue a lease with a
finite duration based on the current dhcp_lease_duration.
At that time, dnsmasq will update the leases file with
that value.
Closes-bug: #2124215 Signed-off-by: Curt Moore <curt.moore@garmin.com>
Change-Id: I42bb3a7ba61648667afbcb1cc8568e2b5281807a
Zuul [Fri, 12 Dec 2025 02:10:06 +0000 (02:10 +0000)]
Update git submodules
* Update glance from branch 'master'
to ba82d3591d8a69f6eef62ad03f764d3385b85dba
- Merge "Fix S3 URL corruption on secret rotation"
- Fix S3 URL corruption on secret rotation
The _update_s3_url() function uses urlparse which incorrectly parses
URLs when the secret key contains a forward slash (/). urlparse
interprets the slash as the start of the path, corrupting the netloc.
This causes credential rotation to produce corrupted URLs in the
database by concatenating old and new credentials, resulting in image
download failures. AWS S3 secret access keys can legitimately contain
forward slash characters.
The fix uses a hybrid approach:
- urlparse for query/fragment extraction
- rfind('@') on the raw URL to locate credentials (to handle '/'
in secrets correctly)
Unit test updates:
- test_update_s3_url_helper_function
- test_update_s3_url_with_slash_in_secret
- test_update_s3_url_preserves_query_and_fragment
- test_update_s3_url_with_port
Zuul [Fri, 12 Dec 2025 00:35:55 +0000 (00:35 +0000)]
Update git submodules
* Update swift from branch 'master'
to 1353b5532b6090807ab75e63a0b4199d62cc477b
- Merge "container tests: Use TS.normal for db_names"
- container tests: Use TS.normal for db_names
When comparing db filename epochs we need to use Timestamp.normal
Signed-off-by: Matthew Oliver <matt@oliver.net.au>
Change-Id: I244c47a5d9b863aeb570a4af832e1a8118e149b1
Zuul [Fri, 12 Dec 2025 00:29:40 +0000 (00:29 +0000)]
Update git submodules
* Update heat from branch 'master'
to a8b6e8b63973e71974df24ed6aec8f212287359e
- Merge "Deprecate integration with Vitrage"
- Deprecate integration with Vitrage
Zuul [Fri, 12 Dec 2025 00:27:41 +0000 (00:27 +0000)]
Update git submodules
* Update swift from branch 'master'
to 766dcc84aed5fbe32dde990d22fe26c5e9844ff1
- Merge "test: reconciler tests to use Timestamp class over time"
- test: reconciler tests to use Timestamp class over time
Signed-off-by: Matthew Oliver <matt@oliver.net.au>
Change-Id: I7305627000aa92bcd6e8195aa6d2a70ae45e3346
This avoids the need to duplicate our dependency list in multiple
places and allows us to take advantage of tox's dependency management
infrastructure, to ensure we always get the latest and greatest version
of a package allowed by upper-constraints.
Change-Id: Id52ba2684f3799cc4df4229c9326294a33fa3ad9 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Zuul [Thu, 11 Dec 2025 21:42:14 +0000 (21:42 +0000)]
Update git submodules
* Update python-openstackclient from branch 'master'
to 30f3192b8d1b762142ebfb129a0cf9bddce36557
- Merge "Add custom command classes"
- Add custom command classes
These are effectively identical to the osc-lib variants except they
include the attributes that the OSC shell implementation will set on
this during shell init. This helps from a typing perspective.
Change-Id: I53d9058273748ecd4d4eecec5f7291d5f38ce5ab Signed-off-by: Stephen Finucane <stephenfin@redhat.com>