Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main into branch 24.03 #197

Merged
merged 178 commits into from
Oct 31, 2024
Merged

Conversation

fnordahl
Copy link
Member

No description provided.

fnordahl and others added 30 commits June 17, 2024 22:44
Unpin dqlite part.

Signed-off-by: Frode Nordahl <[email protected]>
Signed-off-by: Gabriel Mougard <[email protected]>
Signed-off-by: Gabriel Mougard <[email protected]>

microovn/cmd/microovnd: Pass the MicroOVN extensions map to the MicroCluster initialization process.

Signed-off-by: Gabriel Mougard <[email protected]>
Fix for microovn bug [#2030489](https://bugs.launchpad.net/ubuntu/+source/ovn/+bug/2030489)

The static 0.1 version package has now been removed
This makes the cobra command use the new ovn version and in the case of
microovnd, the build system is modified to also include a build time
variable of the git version which is used in the cobra command

Signed-off-by: MJ Ponsonby <[email protected]>
Fix for microovn bug #2039578
The error message now tells the user in a much more user friendly manner
that the name is taken when trying to add a node with a
non-unique error name, also includes the full error in another line

Signed-off-by: MJ Ponsonby <[email protected]>
Better error message for cluster add
- This dependency bump brings canonical/microcluster@3d58781
  which will allow other MicroCluster based app to publicly expose their own API extensions through the status API
  that can be queried even before the MicroCluster database is initialized. This is particularly useful in the MicroCloud init phase,
  to check that an API extension feature is present before setting up special MicroOVN behavior (e.g, custom encapsulation IP for Geneve tunnel)

Signed-off-by: Gabriel Mougard <[email protected]>
Revert the build base to core24 allowing the vms to properly deploy and
pack the snap, this is done to address the failing CI as a QuickFix.

Signed-off-by: Mj Ponsonby <[email protected]>
Testsuite 'ovsdb_schema_upgrade.bats' was unstable and occasionally failed,
this commit fixes that by modifying the wait_microovn_online to call a
function that waits until each nodes status is valid given a regex string.

This function is used to check if node is upgrading, needing an upgrade
or online instead of just online. This allows the test to pass reliably
on my machine.

Reported-at: https://bugs.launchpad.net/microovn/+bug/2072658

Signed-off-by: Mj Ponsonby <[email protected]>
Fix for flapping ovsdb schema upgrade test
…m Geneve encapsulation IP

Signed-off-by: Gabriel Mougard <[email protected]>
…n IP for its Geneve tunnel

Signed-off-by: Gabriel Mougard <[email protected]>
…t the cluster state is healthy

Signed-off-by: Gabriel Mougard <[email protected]>
…tworking

microovn/ovn: support OVS `ovn-encap-ip` configuration from external initConfig
wideawakening and others added 22 commits October 8, 2024 09:27
refactor: envs on ovn.env [lp:2042843]
getting snapcraft to build dqlite from the release candidate version
which is tagged.

Signed-off-by: MJ Ponsonby <[email protected]>
It would be useful for our users to be able to look up the details
of how MicroOVN makes use of cryptography in its implementation.

Signed-off-by: Frode Nordahl <[email protected]>
docs: Add cryptographic reference documentation.
This function is useful outisde the `microovn.bash` file.

Signed-off-by: Frode Nordahl <[email protected]>
The current code make silly assumptions such as no more than 9
containers.

Handle up to 255 containers.

Signed-off-by: Frode Nordahl <[email protected]>
The upgrade test setup teardown script currently iterates over
all TEST_CONTAINERS and filter out any not running 'central'
services as part of the upgrade steup.

At the very beginning of the same file this categorization is
already being performed to populate the CENTRAL_CONTAINERS and
CHASSIS_CONTAINERS variables.

Use them instead.

Signed-off-by: Frode Nordahl <[email protected]>
The function is conditionally performing an action, and this is
not evident in its current name.

Let's name it `maybe_perform_manual_upgrade_steps` instead!

Signed-off-by: Frode Nordahl <[email protected]>
This patch prepares for further changes in the next patches.

Signed-off-by: Frode Nordahl <[email protected]>
Commit f5ac8c5 added this to the
`ovsdb_schema_upgrade` test, but it is needed for all upgrade
tests.

Move it to the `upgrade` setup/teardown script wich is shared
among all the upgrade tests.

Drop the use of `run` since we don't care about the output of
`microovn_wait_online`.

Signed-off-by: Frode Nordahl <[email protected]>
When waiting for central nodes to come back online after snap
upgrade, the current timeout of 15 seconds is not sufficient.

The default election timer is set to 16 seconds, so it can take at
least this amount of time before a restarted node can successfully
reconnect to the cluster.

Signed-off-by: Frode Nordahl <[email protected]>
While the check is a very simple awk expression, we are using it
multiple times.

Signed-off-by: Frode Nordahl <[email protected]>
Create a network namespace to simulate a container/virtual
machine workload running on a node without the central service.

Measurements are performed by starting a ping in the background
inside the workload before performing certain steps, and then
reaping the ping process, reading the resulting statistics.

The target for the ICMP echo requests is a gateway router which
the OVN Controller installs into the local Open vSwitch instance,
and we have confirmed that this is sufficient to detect side
effect of an sincorrect upgrade sequence.

Results are checked at two points in the upgrade process:
1. After upgrading central nodes.  This measurement ensures that
   MicroOVN handles the upgrade in such a way so that a central
   first upgrade does not have datapath impact.  Zero packet loss
   is expected.

2. After upgrading chassis nodes with workloads.  This measurment
   ensures that MicroOVN handles service life cycle on snap
   refresh with minimal downtime for workloads.

Signed-off-by: Frode Nordahl <[email protected]>
Measure data path uptime as part of upgrade test.
We've seen some issues with 'coverage' job that failed
to install 'go' package. This is possibly caused by
outdated repository information in the CI image. Running
`apt update` could fix it.

Signed-off-by: Martin Kalcok <[email protected]>
ci: run `apt update` before installing packages
Previously if the enviroment file was generated before any central
services had been enabled, then the initial and connect fields would be
empty, stopping northd from connecting to south and north databases.

This fix gives these defaults, which will only be used in the case of a
no central being found, in which case a central will always be generated
on the local machine, so the default addresses will be accurate.

Signed-off-by: MJ Ponsonby <[email protected]>
Signed-off-by: MJ Ponsonby <[email protected]>
Add defaults for initial and and connect addresses
@fnordahl fnordahl requested a review from a team as a code owner October 31, 2024 10:24
There is an API change in the Asker constructor.

Neighbouring projects apper to just pass `nil` to this new logger
argument, so let's do that too.

Signed-off-by: Frode Nordahl <[email protected]>
Signed-off-by: Frode Nordahl <[email protected]>
Do not use development build-base for stable branch.

Pin dqlite part.

Signed-off-by: Frode Nordahl <[email protected]>
@fnordahl fnordahl marked this pull request as draft October 31, 2024 11:34
@fnordahl fnordahl merged commit 67fcd43 into canonical:branch-24.03 Oct 31, 2024
44 of 46 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.

8 participants