Charm Tech pulse 2024#5

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


  • @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.


  • @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.