In Pulse #21, Charm Tech has been busy getting ready for the upcoming sprint — we’re excited to see you there! We’ve moved the state transition testing library (“Scenario”) into the Ops repository and stabilized the python-libjuju integration tests.
The ops library
- Imported
canonical/ops-scenario
into its new home, undercanonical/operator
. We’re now able to release bothops
andops-scenario
from the same repo. - Formalised the coding style that we adhere to.
Charming
charm-relation-interfaces
tests are now running on a schedulecharmcraft init
will set up the new charm to use Scenario in its unit tests.- Kubernetes charming practice has been reviewed.
Python-libjuju
The integration tests had been failing for exactly one year. We’ve gotten them up to shape again.
- Serialised integration tests (only a little slower, yet much more stable) and quarantined flaky tests.
- Widened Juju version set to 3.1…3.5 and Python version set to 3.8…3.13 in integration and unit tests respectively.
- Added a test to validate manually maintained
client_facades
list against generated code, as these had drifted apart. - Reduced the schemas shipped with the library to the set that can be used.
- Marked a bunch of fields on the
Application
object for deprecation. - Fixed the
local_refresh
method signature, as it was so unclear that the only user previously gave up and shelled out instead. - Annotated parts of the codebase with type hints.
Pebble
- A temporarily reverted change to allow stopping services in starting state.
- Ongoing work to allow automatic service restart for services that fail especially quickly.
- Completed initial SSDLC assessment and added a security policy.