Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. #!/usr/bin/python3.5
  2.  
  3. import asyncio
  4. import logging
  5.  
  6. from juju import loop
  7. from juju.model import Model, ModelObserver
  8.  
  9. class ModelWatcher(ModelObserver):
  10.  
  11. async def on_machine_add(self, delta, old, new, model):
  12. self._print("ADD", delta.data)
  13.  
  14. async def on_machine_change(self, delta, old, new, model):
  15. self._print("CHANGE", delta.data)
  16.  
  17. def _print(self, label, data):
  18. machine_id = data["id"]
  19. status = data.get("instance-status", {})
  20. print("machine {} {}: {} ({})".format(
  21. machine_id,
  22. label,
  23. status["current"],
  24. status["message"]))
  25.  
  26.  
  27. async def setup():
  28. model = Model()
  29. await model.connect_current()
  30. model.add_observer(ModelWatcher())
  31.  
  32. logging.basicConfig(level=logging.WARNING)
  33. loop = asyncio.get_event_loop()
  34. loop.run_until_complete(setup())
  35. loop.run_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement