If roles are not settled (voters is not an odd number), leaving the
cluster might break things. Waiting for roles to settle before leaving,
and afterwards on the leader.
Pass force=1 when deleting cluster member.
Cluster removal happens when a juju unit is departing.
Change-Id: Ic9a7273be36a6cbb117b74bcfd94cef116a3b603
Using custom ansible module within zuul is not straightforward, using
ansible tasks to simplify things.
Change-Id: I90845a148c007657d2ce4faf191b1e46264432af
This allows scoping a tox run of py3* and cover enviroments
to a single charm or ops-sunbeam, to facilitate faster testing.
Usage examples:
```
tox -e py3 # test all
tox -e py3 -- ops-sunbeam # just the ops sunbeam lib
tox -e py3 -- barbican-k8s # only the barbican charm
tox -e cover
tox -e cover -- ops-sunbeam
tox -e cover -- barbican-k8s
```
Closes-Bug: #2050840
Change-Id: Ieb3cd5ad85ee7a04a320cc41fbc3ad406e034a57
Since charmcraft 2.5, all properties are to be written in
charmcraft.yaml. But when the charm is generated, the artifact will
still contain the metadata.yaml. Adding a module to read the artifact's
metadata.
Two benefits from this:
- don't have to check whether it's a charm with charmcraft.yaml or
metadata.yaml
- upload oci images written in the artifact's resources section
Change-Id: I971973859d0ef76840b5c1d60098a31e55a8d28b
During unittests, some temporary files are copied to the charms,
then cleaned up after the tests finish.
However, these files may not be cleaned up if the tests are interrupted,
resulting temporary files sitting around until the tests are run again.
We should ignore these to avoid accidentally checking them in to git.
Change-Id: I91b9f7c2333f109e91a4ec7952d7c9a0e0631208
data_platform_libs.v0.database_requires was deprecated on January 4th,
2023 and has not received updates since then.
This change migrates to data_platform_libs.v0.data_interfaces which the
preferred way to interact with MySQL.
Most notable changes:
- User/password in a secret
- Keystone test 'test_on_peer_data_changed_with_fernet_keys_and_fernet_secret_different'
is no longer mocking secrets to make sure it's using database secrets.
Change-Id: Ia1908c0828689458c6ff3fa8d9640c8debfc0a73
A release of pytest-interface-tester removed the pin on pydantic<2.
Traefik-k8s ingress lib is not compatible with pydantic>=2.
Change-Id: I9db938646ab8e5928d6cf0c0da020c32f4a1bd5a
Since charmcraft 2.5, the files: metadata.yaml, actions.yaml, and
config.yaml have been merged into charmcraft.yaml.
The publishing job fails because it expects the metadata.yaml to be
present.
This change checks for which file to use.
The keys looked up in metadata.yaml for this specific task have the same
schema in charmcraft.yaml
Change-Id: I94ea3b8230e5dbf7d2474410fba7acc5e0836a63
Sunbeam-clusterd can scale up and down.
Currently, the external address in bound to the peers relationship.
Exposes the action `get-credentials` which returns the URL. In the long
term, it will return the credentials to access securely clusterd.
Change-Id: I8b91efe6d96198f5ad3634b9747161225381ded6
stestr runs in parallel, which is good, but coverage needs to run
in parallel awareness mode, so that data from all stestr processes
is collected.
Closes-Bug: #2050838
Change-Id: I6a384f07d5063dc42b63943586d499f7647b1c64
It's important to include unittests in coverage,
to detect things like unused code or shadowed methods.
Closes-Bug: #2050839
Change-Id: Ibee587af7892e8db13fb9564e05b0eccf56c6425
Changes VLAN range to the full allowed range.
The values of 0 and 4095 are reserved.
Change-Id: I85ef251709b96520e9b6054e86ea3a7cb5940c55
Signed-off-by: Mark Beierl <mark.beierl@canonical.com>
This reverts commit 41345c8271972f9be375b8bbad0d6ce20bc23bfc.
Reason for revert: Original issue was caused because python3-memcache was not provided anymore inside the ROCK. Commenting configuration introduces an other regression. A new version of the ROCK was published with python3-memcache.
Change-Id: I90455ca40465fad347894cd8729bde9fa31adefa
Jobs have been successfully passing for the rights reasons
consistently. If a functional test fails, it should be investigated in
the patch.
Change-Id: I477cad32e8f782270d473cf04869d796fca3e294
Comment mecache configuration in local_settings.py.j2
template. Without this change, the db sync failed as
memcache package is not installed.
Change-Id: I452c944276b1ea6163a8e3bb2dada1fd8229edd4
The db sync retry tenacity decorator has the folloing settings:
stop_after_attempt(3),
wait_exponential(multiplier=1, min=10, max=300)
This translates to:
run dbsync
wait 10 ((2^0 * 1) < 10 -> 10)
run dbsync
wait 10 ((2^1 * 1) < 10 -> 10)
run dbsync
exit
So, the three db sync command run within ~20s. Increasing the number
of attempts keeps the exponential back-off behaviour but gives the
command more change to work.
Change-Id: I60dbaf609c8f1cbbc89bd7e4d893004cbb0e94a4