What has the Charm Tech team been up to in pulse #5? In short: minor improvements to Ops, various fixes to and discussions about Pebble locking issues, and our new recruit @ironcore864 has been onboarding and creating his first real charm.
Action item for readers: if you’ve used Scenario for testing your charms or you’re thinking about using it, please fill in our short survey. It’ll only take a couple of minutes.
The ops library
- @tony-meyer added the ability to compare two Plan objects with
==
and create a Plan from a dict. He also did various CI and testing fixes. - @tony-meyer and @benhoyt have spent time reviewing two Ops PRs from @ppasotti : one to improve the structure of
main.py
, and one to improveHarness.add_relation
.
Charming
- @ironcore864 finished up his onboarding and created a draft of his first charm, for Argo Rollouts. We’re very pleased with how deep Tiexin has dived already, for example, he made persistent progress on getting the PostgreSQL charm working on arm64 hardware and wrote an excellent post about it on Charmhub Discourse.
- @tony-meyer’s super-tox tool (which runs charm tests across ~150 Canonical charms) continues to be “super” handy for testing Ops changes. Recently he used it to surface some real issues with a change to
Harness.add_relation
that we’re considering. - @tony-meyer continues work on improving
defer()
in small ways. We also opened a feature request for Juju to add first-class support for re-emitting events. - We continued work looking over the ops-scenario API with a view to polishing it before making it more official. We’ll be discussing with Pietro soon as we consider next steps.
Pebble
- @benhoyt fixed an issue where the health check endpoint was taking a long time to return under load. This was causing the container restart issues described in this Juju Launchpad bug.
- We released Pebble v1.9.0, which included the health check state lock fix, a small fix for the notices API (“select” to “users”), layer validation fixes, and more. In addition, we released two patch releases, v1.7.2 and v1.7.3, with those fixes for the 1.7-maintenance branch – and updated the Juju 3.4 branch to Pebble v1.7.3.