288d58f6cee1d4c3606789e3df5befee6c628a02
4 1. Connects to the current model
6 3. Deploys two charms and relates them
7 4. Waits for units to be idle, then exits
13 from juju
.model
import Model
, ModelObserver
16 class MyModelObserver(ModelObserver
):
17 async def on_change(self
, delta
, old
, new
, model
):
18 if model
.all_units_idle():
19 logging
.debug('All units idle, disconnecting')
20 await model
.disconnect()
26 await model
.connect_current()
28 await model
.reset(force
=True)
29 model
.add_observer(MyModelObserver())
33 service_name
='ubuntu',
44 await model
.add_relation(
49 logging
.basicConfig(level
=logging
.DEBUG
)
50 ws_logger
= logging
.getLogger('websockets.protocol')
51 ws_logger
.setLevel(logging
.INFO
)
52 loop
= asyncio
.get_event_loop()
54 loop
.create_task(run())