967a785909b88e42cb49067a33d09342c962405c
2 Deploy two charms and relate them.
8 from juju
.model
import Model
, ModelObserver
11 class MyModelObserver(ModelObserver
):
12 def on_change(self
, delta
, old
, new
, model
):
13 if model
.all_units_idle():
14 logging
.debug('All units idle, disconnecting')
15 task
= model
.loop
.create_task(model
.disconnect())
16 task
.add_done_callback(lambda fut
: model
.loop
.stop())
21 await model
.connect_current()
23 await model
.reset(force
=True)
24 await model
.block_until(
25 lambda: len(model
.machines
) == 0
27 model
.add_observer(MyModelObserver())
31 service_name
='ubuntu',
42 await model
.add_relation(
48 logging
.basicConfig(level
=logging
.DEBUG
)
49 ws_logger
= logging
.getLogger('websockets.protocol')
50 ws_logger
.setLevel(logging
.INFO
)
51 loop
= asyncio
.get_event_loop()
52 loop
.create_task(run())