ops, the Operator Framework, provides a simple, lightweight, and powerful way of
writing Juju charms, the best way to encapsulate operational experience in code.
The framework will help you to:
- model the integration of your services
- manage the lifecycle of your application
- create reusable and scalable components
- keep your code simple and readable
You can read more about the project, including how to get involved, on github.
deleting a non-existent key from relation data will no longer fail.
Thanks to @stub42 for the fix.
begin_with_initial_hooks()on the testing harness of a charm
that has a relation that isn’t set up before the call will no longer fail.
Thanks to @zzehring for the fix.
the testing harness now starts with default config values, specified in the
same way as for
metadata.yaml(i.e. snippets if given,
otherwise from the canonical yaml file).
Thanks to @johnsca for the work.
some classes now have custom
__repr__methods that should aid debugging.
event deferral and reëmission is now logged (at DEBUG).
use_juju_for_storageis specified for a charm running in a Juju that does
not support this feature, a clear and explicit error is raised.
the public attributes of
modelare now immutable. This is to discourage
people from overwriting these attributes in tests, given there is a fair
amount of internal state. Please use the harness instead (or mocking if you
the test suite now passes on Windows, and we run the full suite on Windows for
every commit, as we do for linux and macos.