Skip to content

Branch 25.03 Backports#75

Merged
matperin merged 17 commits intocanonical:branch-25.03from
crypticC0der:branch-25.03
Apr 2, 2026
Merged

Branch 25.03 Backports#75
matperin merged 17 commits intocanonical:branch-25.03from
crypticC0der:branch-25.03

Conversation

@crypticC0der
Copy link
Copy Markdown
Collaborator

@crypticC0der crypticC0der commented Mar 31, 2026

  • Stabler CI
  • OVS Migration
  • New Token Distibutor

crypticC0der and others added 13 commits April 2, 2026 00:22
It would be nice to notice errors that happen due to our dependencies (eg
maturin, MicroOVN snap, concierge) outside of pull requests, so ive
added on hooks similar to what we have with MicroOVN.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 6d830fb)
Currently switching to dataplane mode has two problems:
- updating the list of central_ips on the ovn_central_k8s side of the
  cluster expanding, as central is already disabled this logic is not
  hit.
- if central is disabled and the context times out for microovn disable
  central, the command fails and ovn.central-ips is not set, which then
  means in turn next time this function runs microovn disable central
  will fail with Central service already disabled and return so
  _set_central_ips is never called in the lifetime of the charm, which
  is the cause of the flaky ovn_k8s integration test.

I also aim to change the microovn snap to avoid the timeout issue on
disabling a service to also help this issue.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 706d4d0)
Seemingly 'Dummy' is being flagged in our CI for not being inclusive so
I have just reworded this.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit cd2b62c)
This prevents maturin from trying to download cargo (which fails in
the charmcraft build container on building puccinialin) and instead uses
a well defined rust toolchain version.

Follows examples from the data platform team[0].

0: https://github.com/canonical/opensearch-operator/blob/2ce3ea4186d193b7bef0ba5baa06d900168b8d67/charmcraft.yaml#L77

Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
(cherry picked from commit 5fd5d21)
Ensure setuptools-scm cyclic dependencies affected versions are excluded
from the build dependencies.

Related-Bug: pypa/setuptools-scm#1302
Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
(cherry picked from commit 3ea2ad9)
If the openvswitch-switch service is running and theres a conf.db file
where its expected to be: shutdown that version of OVS, and take its
database which we then use as the starting point for the microovn switch
database.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 62bebc7)
There has been an update by a very talented developer at the token
distributor charm, she has added prejoin and prebootstrap hooks, which
give us functionality to make our implementation of OVS DB migration
slightly cleaner.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 0648bc8)
Rework k8s integration test to have smaller steps and fewer units to
conserve resources.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit cd9c387)
Flags microovn to bypass the OVS checks and allow the user to install
microovn anyway.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit ca14fe5)
Looking at the openvswitch migration strategy currently being used by
field, I felt ours could use some expanding.

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 1fb515b)
Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 330e495)
Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 8b062ca)
- More logs on fail
- Longer timeouts
- Fewer units

Signed-off-by: MJ Ponsonby <mj.ponsonby@canonical.com>
(cherry picked from commit 3f43041)
@crypticC0der crypticC0der marked this pull request as ready for review April 2, 2026 00:30
@crypticC0der crypticC0der requested a review from a team as a code owner April 2, 2026 00:30
matperin added 4 commits April 2, 2026 00:36
…pting second bootstrap

In the token distributor lib, check if the cluster was already bootstrapped
(e.g. from a previous hook execution that was interrupted before stored state was committed).
If so, recover by updating stored state rather than attempting a second bootstrap, which would fail.

Signed-off-by: Matteo Perin <matteo.perin@canonical.com>
(cherry picked from commit 25c3e44)
…tributor

When a hook is interrupted after microovn cluster join succeeds but
before _stored.in_cluster is committed, the retried hook tries to join
again and permanently fails with "Joining cluster failed".

Add a fallback check on join failure: if 'cluster list' succeeds, the
node already joined in a prior attempt, so recover stored state instead
of returning an error.

Signed-off-by: Matteo Perin <matteo.perin@canonical.com>
(cherry picked from commit 4fb34bd)
The juju exec calls are not resilient to controller connection drops:

- Added CLIError to exec_with_retry retry types and switched raw exec
calls to use exec_with_retry.

- Replaced bare juju_lxd.wait() calls with wait_with_retry() to handle
transient CLIError from Juju controller connection drops during
juju status polling.

Signed-off-by: Matteo Perin <matteo.perin@canonical.com>
(cherry picked from commit 4d3ea93)
The test asserts on microovn/1 and expects 2 Chassis entries,
but only deployed a single unit. Add add_unit() after deploy
so that unit microovn/1 exists when exec is called on it.

Signed-off-by: Matteo Perin <matteo.perin@canonical.com>
(cherry picked from commit 84dd78d)
@crypticC0der crypticC0der changed the title Branch 25.03 Branch 25.03 Backports Apr 2, 2026
Copy link
Copy Markdown
Contributor

@matperin matperin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for the backports!

@matperin matperin merged commit e2ab575 into canonical:branch-25.03 Apr 2, 2026
62 of 64 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants