Pulse #18 highlights: We released Pebble 1.16, and ops 2.16.0 and 2.16.1, and progressed on some of the larger items for this cycle.
ACTION ITEM for all charm authors: don’t forget to fill out our first Charming survey! Investing 10-15 minutes of your time now could result in hours saved later when changes are made based on your feedback!
Reminder of Charm-Tech office hours! The next one is 2024-09-10T08:00:00Z, and we’ve prepared a presentation on using new Pebble features in charms, so make sure you come along to that!
Ops
- Scenario 7.0 is essentially ready for release - we’re just finalising one last decision, so it should be out next week. If you’re currently using Scenario, you should pin it to
<7
so that your tests don’t unexpectedly break. @ppasotti and Tony have already upgraded several sets of tests to identify any rough patches or challenges upgrading. - Our type checking is now stricter, reporting unnecessary type:ignore statements, and the
# type:ignore
onops.main(MyCharm)
will no longer be required as of the ops 2.17 release (expected at the end of the month). - SecretInfo now includes the ‘description’ field, if set, and
Secret.id
will always include the model UUID so that it can be reliably used across models.
Charming
- Work continues on developing a python-libjuju version that supports Juju 4.
- Work also continues on adding initial charm code linting features to
charmcraft analyze
.
Pebble
- We decided against adding an initial delay option to Pebble checks. Charms should set the
level
field of checks toalive
only when failure means the container as a whole needs to be recreated, and should use theon-check-failure
field of services for managing service restarting (and can dynamically adjust that as required for different startup times). - We wrapped up this cycle’s work on reducing the number of state locks required, with a change following up on the warnings-as-notices work from last pulse.
- We increased test coverage for
mkdir
and now report quality metrics to TIOBE once a month.
Documentation
- We published how-to guides for setting the charm version, and setting the workload/application version.
- We made a few small improvements to the Charm SDK tutorial.