Pulse #12 highlights: We resolved the issue where a charm could hang on a busy system and another issue where the wrong kind of error was reported on Ubuntu 24.04, both under specific circumstances. We’ve also invested some time to improve documentation and team process.
Ops
- Fixed an issue in ops where a charm would hang when the system got so slow that a specific step of charm connecting to Pebble took longer than 5 seconds. Thank you @shayanp for discovering the issue and helping us narrow down the root cause.
- Made improvements to testing of the ops framework itself: #1259, #1245.
Charming
- Started to analyse higher-level abstractions that the charming teams use on top of the operator framework.
Scenario
- Added support for the Pebble notices.
- Moved the cloud specification from the Context to the Model.
- Removed the Sequences abstraction.
- Significant work on requiring keyword arguments in the Scenario primitives.
- Configure the repository to automatically test the code snippets in README files.
Pebble
- Made a work-around in Pebble, where on fresh Ubuntu 24.04 Desktop install if (SSSD)[https://sssd.io] is enabled, an error of incorrect type was returned for non-existing user names. @benhoyt submitted a patch to the Go project to fix this situation properly and the patch was merged.
- Worked on Pebble identity implementation, according to spec OP043.
- Added the chmod flag to mkdir operations, so that resulting directory permissions are no longer affected by umask of the process.
- Clarified the behaviour when creating intermediate directories.
Documentation
- Enriched the Ops section of the Juju SDK docs with a high-level table of contents for the ops reference documentation.
- Started reworking the Pebble documentation to follow the Diátaxis approach.
- Analysed the Juju SDK documentation to make a plan where to host tutorial-like and explanation-like content that related to the ops framework or its use in charms.
- The team contributed a series of small fixes across several repositories, where some links worked correctly on GitHub but not PyPI.
Process
- Our team has decided to adopt Conventional Commits
- We’ve adjusted the cadence of dependabot and charm re-pinning to balance the signal-to-noise ratio.