See also: Juju OLM | Status values
update-status event is fired periodically by Juju at regular intervals (default: 5m). The
update-status hook runs model-wide.
Historically, this hook was intended to allow authors to run code that gets the “health” of the application. However, health checks can also be specified via pebble.
Since the update-status interval is model-wide (not per application) and is set by the user (for example, it can be set to once per hour), charms should not rely on it for critical operations.
In integration tests, unless specifically testing the update-status hook, you may want to “disable” it so it doesn’t interfere with the test. This can be achieved by setting the interval to e.g. 1h at the beginning of the test.
- Set the update-status interval
- Emission sequence
- Observing this event in Ops
By default, the
update-status event is triggered by the Juju controller at 5-minute intervals. This event can be used to monitor the health of deployed charms and determine the status of long running tasks (such as package installation), updating the status message reported to the OLM accordingly. The interval can be configured model-wide, for example:
juju model-config update-status-hook-interval=1m.
As it is triggered periodically, the
update-status can happen in between any other charm events.
juju model-config update-status-hook-interval=1m
jhack ffwd can be used to temporarily crank the interval up while developing/testing/debugging.
To set the hook interval at model creation time:
juju add-model --config update-status-hook-interval="60m" MyModel
To set the default hook interval for all future models at controller creation time:
juju bootstrap microk8s MyCtrl --model-default update-status-hook-interval="60m"
In Ops, you can register event hooks to observe the update-status event,
self.framework.observe( self.on.update_status, self._on_update_status )
Last updated 3 months ago.