Charm Tech pulse 2025#12

This pulse was a smaller pulse for the team, with no Ops or Pebble releases, and Tiexin wrapping up his secondment with one of the Observability teams. We did release v2.12 of the operator-libs-linux snap library, which has improved logging on errors running the snap process.

We’ve been preparing for the next Ops release with bug fixes, new testing features including the ability to create Pebble layers from rockcraft.yaml, and compatibility improvements for ops[tracing]. We also added a collection of example charms to the Ops repo and shared our experience of adopting uv + tox-uv.

Ops

  • Fixed a bug with Scenario’s PeerRelation.peers_data defaulting to include a peer unit with ID 0 (#1832)

  • Worked on two ease-of-life Scenario features: creating a Pebble Layer from rockcraft.yaml (#1831), and creating a State based on the metadata and charm class (#1797)

  • Working on a fix for the issue where the deprecated collect-metrics and meter-status-changed events would always crash (#1840)

  • Fixed an issue with the recent change to include the departing unit in Relation.units. Many thanks to Ghislain Bourgeois for spotting this problem before it made it to a release! (#1837)

  • Made ops[tracing] compatible with jhack. You can use jhack tail --auto-bump-loglevel -t to see the Juju events annotated with trace IDs that can be queried in COS.

  • Updated ops[tracing] for compatibility with newer OpenTelemetry SDK.

  • Prepared a new CheckInfo.successes field and CheckInfo.has_run property (#1819)

Charming

  • Released operator-libs-linux snap library v2.12, with improved logging on errors running the snap process (#162)

  • Worked with Dell to resolve issues with their PowerFlex charms.

  • Continued work on an updated Charmhub listing review process.

  • Worked on an initial implementation of emitting security event logs in the Charm SDK.

  • Switched the ops repository to uv + tox-uv and posted on discourse about the experience.

Pebble

  • Prepared a new “successes” field for checks (#633)

Documentation

  • The Ops repo now has a collection of example charms. We’re planning to archive the juju-sdk-tutorial-k8s repo and update the Kubernetes charm tutorial to reference the Ops example charms instead.

  • Fixed some bugs in the Kubernetes charm tutorial and switched to charmcraft fetch-libs for downloading libs from Charmhub, instead of downloading the libs one-by-one (#1734)