While this pulse overlapped with the virtual sprint and the Chinese New Year holiday, we still made good progress! We’re happy to share that we released new versions of ops (2.18.1) and ops-scenario (7.1.2 and 7.1.3). Support for Pebble’s new start-checks and stop-checks was added, and continued work on distributed tracing was done. We also held another great Ask Me Anything session, this time with the Identity Charmers, and made progress on a new file operations library API. We’re excited about what we’ve accomplished and can’t wait to share more updates soon!
Ops
- ops 2.18.1, and ops-scenario 7.1.2 and 7.1.3 released.
- Added support for the new Pebble start-checks and stop-checks functionality (including in charm unit tests) (#1560)
- Changed the unit testing framework (“Scenario”) to once again export the mocked Juju environment variables into os.environ (#1573).
- Fixed an issue with the new feature where duplicate deferred events are skipped, where the event had multiple observers and only some would defer (#1562).
- Added the ability to get the Juju version from the
Model
object (Model.juju_version
), rather than having to create newJujuVersion
objects everywhere (#1563). - Worked on restoring the ability to emit custom events in the unit testing framework (“Scenario”).
- Continued work on a spec and proof-of-concept for validating config and relation data.
- Continued work on Ops hooks for distributed tracing, including lightweight OTLP protobuf encoder demo
and considerations for charms that currently use charm_tracing charm lib, that is how to opt into
ops[tracing]
as well as harmonising OTEL-defined attributes between Juju and ops.
Charming
- Hosted an AMA session with the Identity team.
- Discussed the proposed file operations library’s API with charmers and created a new spec based on their feedback, using a pathlib.Path style API instead of an ops.Container API – get in touch with James Garner or reach out on the Charm Development channel if you’re interested in this
- Drafted an informational spec (still in internal review) on using Python packages for charm libraries
Pebble
- Continued working on the Pebble metrics endpoint (#519) and “basic” type identity (#563).
- Added new Pebble commands to stop and start checks, and a new field in the check layer (startup) to enable adding checks that need to be manually started (note that this defaults to startup:enabled, so is backwards compatible) (#560 and #572).
Documentation
- Ensured that our docs consistently use the verb “integrate” and the noun “relation” when talking about Juju relations (#1564)
- Prepared for simplification of the Kubernetes tutorial - essentially, stripping the tutorial down to the core features of the demo application, and having additional content in how-to guides (#1511 and #1579)