Welcome to the final Charm Tech update of 2024! If you’re taking time off, we hope you’re having a wonderful break.
For Ops and charming, this pulse saw performance improvements to unit testing, doc updates to show our recommended approach to unit testing, a change to how Ops handles warnings, continued design work on our Juju CLI wrapper for integration testing (jubilant), and the release of python-libjuju 3.6.1.0.
This pulse also saw a transformation of the Ops docs to include tutorials, how-to guides, and explanations related to Ops. The reference docs for ops are now located within the Reference section. This change is part of wider improvements to the Juju and charming docs, and we have @tmihoc to thank for making it happen!
For Pebble, this pulse saw continued work on the Pebble metrics endpoint, design discussions on new capabilities, and doc updates about API access levels and security. We also published an initial API reference doc (based on an OpenAPI specification) and started working on doc updates about service lifecycle & reliability.
Ops
-
Concluded work on performance improvements for unit testing (Scenario). If you’re still seeing significant regressions in test performance when moving from Scenario 6 to Scenario 7, or moving from Harness to Scenario, please reach out to the team so that we can investigate further.
-
Adjusted the way that ops handles warnings (from the Python warnings module) so that they won’t be accidentally captured in action output, but will still make it into the Juju debug-log.
Charming
-
Continued designing jubilant, our upcoming library that will make charm integration tests simpler. It’s pre-pre-alpha stage at this point, but your thoughts are welcome (create a GitHub issue). Our intention is to do an alpha release around the end of Jan, and a v1 release by the end of 25.04.
-
Python-libjuju 3.6.1.0 released, including a new implementation of Model.wait_for_idle().
Pebble
-
Continued work on improving the Pebble metrics endpoint proof-of-concept (#519).
-
Discussed adding a PEBBLE_VERBOSE environment variable as an alternative to --verbose for use in Rocks. We aim to finalise this in January.
-
Started looking at how to make Pebble work with Rocks for tools (like amazon/aws-cli). This will continue in January.
Documentation
-
Adjusted the Ops How-To guides to clearly indicate that state transition (Scenario) testing is the way we recommend writing unit tests.
-
For Pebble, explained access levels of API endpoints in more detail and added a security overview doc.
-
Published the initial version of the Pebble OpenAPI 3.0 reference doc and added the remaining endpoints (#544). The final version is under review and will be ready at the beginning of 2025.
-
Refactoring the Pebble docs. For example, the current “service auto-restart” reference doc is being rewritten into a full-blown “service lifecycle” doc (#541).
-
Started working on more Pebble how-to guides, including “How to run services reliably” (#541) and “How to use Pebble API”.