Rolling Ops Example App - Overview

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!