Rolling Ops Example App
This is a charm containing the Rolling Ops library, along with an example charm implementation.
Rolling Ops Example App is the workload-less charm. It can be deployed and used in both K8s and VM installations.
Just deploy and request rolling restarts:
# Deploy
juju deploy rolling-ops -n 5
juju wait-for application rolling-ops
# Request rolling restarts
for i in $(sed 0 4); do
juju run --background=true rolling-ops/$i restart delay=10
done
# Watch the rolling restarts in progress
juju status --watch 1s
As a results, each unit will wait for the lock release from the peer:
Limitations (LIBAPI=0, LIBPATCH=6):
- Lock is being release on each event deffering (avoid deffering callback events).
- Order of events/restarts is not guaranteed.
- NOTE: The restart event will be executed on the requested unit only!