Open
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Localstack is no longer functional in CI. Switch to MicroCeph radosgw as an S3-compatible backend, matching the fix applied in canonical/discourse-k8s-operator#435. - Add s3-installation.sh that bootstraps MicroCeph and enables radosgw - Remove localstack-installation.sh - Update integration_test.yaml to use s3-installation.sh (no more --localstack-address extra-argument) - Rename --localstack-address → --s3-address throughout tests - Switch S3 endpoint port from 4566 to 7480 (radosgw) - Use fixed credentials matching s3-installation.sh (radosgw requires a pre-created user, unlike localstack which accepts any credentials) - Auto-detect host IP in s3_address fixture via _host_ip() Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
psycopg2-binary 2.9.11 does not provide a working binary wheel in the charmcraft build context, causing the charm's install hook to fail at runtime with 'libpq.so.5: cannot open shared object file'. 2.9.10 is the version used on main and is known to work correctly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
charmcraft installs charm-binary-python-packages first as binary wheels, then installs requirements.txt with --no-binary=:all:. Without version pins, it installs the latest binary version, then the pinned version from requirements.txt is compiled from source (overwriting the binary install). Pinning to the same versions as requirements.txt ensures the binary wheel satisfies the version constraint, so pip skips reinstallation. This fixes the install hook crash: ImportError: libpq.so.5: cannot open shared object file Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
Unused entries in .trivyignoreImage: ghcr.io/canonical/synapse:dbc4131412718464902fffd70259f4954f296293-_4.0_amd64 The following CVEs are in |
nrobinaubertin
approved these changes
Apr 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
1. Replace localstack with MicroCeph radosgw for S3 tests
S3 integration tests now use MicroCeph radosgw as the S3-compatible backend, matching the fix applied to discourse operator.
s3-installation.sh(sets up MicroCeph radosgw with fixed credentials)localstack-installation.shtests/integration/conftest.py: replacedlocalstack_addressfixture withs3_address(auto-detects host IP, port 7480, fixed credentials)tests/conftest.py,tox.ini, and.github/workflows/integration_test.yamlto use the new script and env var names2. Fix
psycopg2-binaryinstall hook crashcharmcraft 4.x runs two pip passes: first installs
charm-binary-python-packagesas binary wheels, then installsrequirements.txtwith--no-binary=:all:. Without version pins incharm-binary-python-packages, the second pass detects a version mismatch and recompiles from source — producing a.sothat links against systemlibpq.so.5, which is absent in Juju's charm container.Fix: pin versions in
charmcraft.yamlto matchrequirements.txtso the binary wheel is already satisfied and pip skips recompilation.charmcraft.yaml:psycopg2-binary==2.9.10andcryptography==46.0.4incharm-binary-python-packagesrequirements.txt: downgradedpsycopg2-binaryfrom2.9.11→2.9.10(2.9.11 also lacked a compatible binary wheel in this build context)