Updated examples to use juju.loop
[osm/N2VC.git] / examples / unitrun.py
index 9d4e5d7..3dfacd6 100644 (file)
@@ -11,6 +11,7 @@ import asyncio
 import logging
 
 from juju.model import Model
+from juju import loop
 
 
 async def run_command(unit):
@@ -21,7 +22,7 @@ async def run_command(unit):
     logging.debug("Action results: %s", action.results)
 
 
-async def run():
+async def main():
     model = Model()
     await model.connect_current()
     await model.reset(force=True)
@@ -37,13 +38,10 @@ async def run():
         await run_command(unit)
 
     await model.disconnect()
-    model.loop.stop()
 
 
-logging.basicConfig(level=logging.DEBUG)
-ws_logger = logging.getLogger('websockets.protocol')
-ws_logger.setLevel(logging.INFO)
-loop = asyncio.get_event_loop()
-loop.set_debug(False)
-loop.create_task(run())
-loop.run_forever()
+if __name__ == '__main__':
+    logging.basicConfig(level=logging.DEBUG)
+    ws_logger = logging.getLogger('websockets.protocol')
+    ws_logger.setLevel(logging.INFO)
+    loop.run(main())