X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=modules%2Flibjuju%2Fexamples%2Fleadership.py;fp=modules%2Flibjuju%2Fexamples%2Fleadership.py;h=dbd1b6e2a302f9806e55833dc9d6ae793374306a;hp=0000000000000000000000000000000000000000;hb=e2051cca7dac12aa09f6ed33555dcc4548c4b52b;hpb=9d18c22a0dc9e295adda50601fc5e2f45d2c9b8a diff --git a/modules/libjuju/examples/leadership.py b/modules/libjuju/examples/leadership.py new file mode 100644 index 0000000..dbd1b6e --- /dev/null +++ b/modules/libjuju/examples/leadership.py @@ -0,0 +1,28 @@ +""" +This example: + +1. Connects to the current model. +2. Prints out leadership status for all deployed units in the model. +3. Cleanly disconnects. + +""" +import asyncio + +from juju.model import Model +from juju import loop + +async def report_leadership(): + model = Model() + await model.connect() + + print("Leadership: ") + for app in model.applications.values(): + for unit in app.units: + print("{}: {}".format( + unit.name, await unit.is_leader_from_status())) + + await model.disconnect() + + +if __name__ == '__main__': + loop.run(report_leadership())