What has Charm Tech been up to in pulse #7? The highlights: released ops 2.12.0 and worked on improving the ops-scenario API.
The ops library
- We released ops 2.12.0. There’s one new feature:
Model.get_cloud_spec
, which uses thecredential-get
hook tool to get details of the cloud where the model is deployed, and a host of bug fixes and docs improvements as well as some refactoring ofmain.py
. - We fixed various minor issues in ops: catch socket.timeout in Pebble exec, update docstring examples to use pytest.
- We updated our API reference docs to use the latest Canonical styling.
- We added support for the
change-update
notice and pebble-change-updated event (corresponding Juju change mentioned below). - @jameinel helped add basic support for user secrets. We also adjusted Scenario and charmcraft to match. The initial ops fix is included in 2.12.0, and support for user secrets in Harness will be included in the next version.
Charming
- @tony-meyer did thorough analysis about whether we could re-initialise the charm for every event in Harness. In the end, we decided to stick with the status quo, as changing this behaviour breaks too many charm tests, and we’ll spend our efforts on Scenario instead (which bypasses this issue by design).
- We’re adding Scenario support for Pebble notices.
- We pushed out several changes to the Scenario API for our work on the new 7.0 branch. The upcoming 7.0 release of Scenario will bring several improvements and cleanups to the API, meaning breaking changes – but our goal is for this set of changes to be the last breaking changes to its API before “going stable”.
- We added Juju support for the new Pebble change-update notice.
Pebble
- @ironcore864 put up his first Pebble PRs to fix various minor issues: client-side ID validation, reserve “pebble-” layer label prefix, call chmod when creating directories in the files API.
- We made progress on implementing health checks via Changes and Tasks (JU073).