Skip to content

chore: Stabilize Valkey and Mongodb tests - #334

Merged
Gu1nness merged 2 commits into
mainfrom
stabilize-ci
Sep 25, 2026
Merged

Gu1nness merged 2 commits into
mainfrom
stabilize-ci

Conversation

@skourta

@skourta skourta commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Valkey

The test deployed valkey from 9/edge without a base. The channel holds one revision per base: rev 88 for ubuntu@24.04 and rev 99 for ubuntu@26.04. Juju 3.6 uses its default base when none is given, so the test got rev 88, an old 24.04 build. The Valkey charm has moved to ubuntu@26.04.

The test now passes --base=ubuntu@26.04 and gets rev 99. It deploys Valkey with ops_test.juju("deploy", ...) because python-libjuju cannot do this:

  • model.deploy(..., base="ubuntu@26.04") resolves the revision before it applies the base. It picks rev 88 and fails with base "ubuntu@26.04/stable" is not supported, supported bases are: ubuntu@24.04.
  • Pinning revision=99 fails with Unknown series: resolute, because libjuju's series table stops at 24.04.
  • 3.6.1.3 is the latest libjuju release, so an upgrade does not help.

I checked each case against a local Juju 3.6.28 controller, the same version CI uses.

A valkey bug is being fixed where storage-attached crashes when the workload container's Pebble socket does not exist yet. The fix is in canonical/valkey-operator.

MongoDB

mongodb-k8s reports active before its mongod container is up. The test waited for that status, related data-integrator, and asserted active after a 15s idle window. MongoDB skips client requests until it initialises the database, so data-integrator stayed blocked on "Please relate the data-integrator with the desired product".

This test used to pass because workload containers started faster in CI. In the last green run, pebble-ready fired about 20s after the unit started. In the failing runs it took about 60s, and in the MongoDB job it never fired before the assert.

MongoDB creates users for existing relations once it initialises the database. The test now waits up to 1000s for both apps to reach active, the same way test_valkey.py waits.

Changes

  • tests/integration/constants.py: add VALKEY_BASE = "ubuntu@26.04".
  • tests/integration/test_valkey.py: deploy Valkey through the Juju CLI with --base.
  • tests/integration/test_mongodb.py: after relating, wait for status="active" in place of the immediate assert.

@skourta skourta changed the title chore: stabilize-ci-tests-valkey-mongodb chore: Stabilize Valkey and Mongodb tests Sep 25, 2026
@github-actions github-actions Bot added the Libraries: Out of sync The charm libs used are out-of-sync label Sep 25, 2026

@imanenami imanenami left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks Smail 🙂

@Gu1nness
Gu1nness marked this pull request as ready for review September 25, 2026 13:15
@Gu1nness
Gu1nness merged commit 018277a into main Sep 25, 2026
42 checks passed
@Gu1nness
Gu1nness deleted the stabilize-ci branch September 25, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Libraries: Out of sync The charm libs used are out-of-sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants