Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3.5
- import asyncio
- import logging
- from juju import loop
- from juju.model import Model, ModelObserver
- class ModelWatcher(ModelObserver):
- async def on_machine_add(self, delta, old, new, model):
- self._print("ADD", delta.data)
- async def on_machine_change(self, delta, old, new, model):
- self._print("CHANGE", delta.data)
- def _print(self, label, data):
- machine_id = data["id"]
- status = data.get("instance-status", {})
- print("machine {} {}: {} ({})".format(
- machine_id,
- label,
- status["current"],
- status["message"]))
- async def setup():
- model = Model()
- await model.connect_current()
- model.add_observer(ModelWatcher())
- logging.basicConfig(level=logging.WARNING)
- loop = asyncio.get_event_loop()
- loop.run_until_complete(setup())
- loop.run_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement