projects
/
osm
/
N2VC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updated examples to use juju.loop
[osm/N2VC.git]
/
examples
/
relate.py
diff --git
a/examples/relate.py
b/examples/relate.py
index
fa32900
..
8f1e708
100644
(file)
--- a/
examples/relate.py
+++ b/
examples/relate.py
@@
-11,6
+11,7
@@
import asyncio
import logging
from juju.model import Model, ModelObserver
import logging
from juju.model import Model, ModelObserver
+from juju import loop
class MyRemoveObserver(ModelObserver):
class MyRemoveObserver(ModelObserver):
@@
-30,15
+31,14
@@
class MyModelObserver(ModelObserver):
_shutting_down = False
async def on_change(self, delta, old, new, model):
_shutting_down = False
async def on_change(self, delta, old, new, model):
- if model.all_units_idle() and not self._shutting_down:
+ if model.
units and model.
all_units_idle() and not self._shutting_down:
self._shutting_down = True
logging.debug('All units idle, disconnecting')
await model.reset(force=True)
await model.disconnect()
self._shutting_down = True
logging.debug('All units idle, disconnecting')
await model.reset(force=True)
await model.disconnect()
- model.loop.stop()
-async def
ru
n():
+async def
mai
n():
model = Model()
await model.connect_current()
model = Model()
await model.connect_current()
@@
-47,8
+47,8
@@
async def run():
model.add_observer(MyModelObserver())
ubuntu_app = await model.deploy(
model.add_observer(MyModelObserver())
ubuntu_app = await model.deploy(
- 'ubuntu
-0
',
-
service
_name='ubuntu',
+ 'ubuntu',
+
application
_name='ubuntu',
series='trusty',
channel='stable',
)
series='trusty',
channel='stable',
)
@@
-68,22
+68,31
@@
async def run():
lambda delta, old_unit, new_unit, model:
print('Unit removed: {}'.format(old_unit.entity_id))
))
lambda delta, old_unit, new_unit, model:
print('Unit removed: {}'.format(old_unit.entity_id))
))
+ unit_a, unit_b = await ubuntu_app.add_units(count=2)
+ unit_a.on_change(asyncio.coroutine(
+ lambda delta, old_unit, new_unit, model:
+ print('Unit changed: {}'.format(new_unit.entity_id))
+ ))
await model.deploy(
await model.deploy(
- 'nrpe
-11
',
-
service
_name='nrpe',
+ 'nrpe',
+
application
_name='nrpe',
series='trusty',
channel='stable',
series='trusty',
channel='stable',
+ # subordinates must be deployed without units
num_units=0,
)
num_units=0,
)
- await model.add_relation(
+
my_relation =
await model.add_relation(
'ubuntu',
'nrpe',
)
'ubuntu',
'nrpe',
)
+ my_relation.on_remove(asyncio.coroutine(
+ lambda delta, old_rel, new_rel, model:
+ print('Relation removed: {}'.format(old_rel.endpoints))
+ ))
+
-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())