9abfe419761ffa78fa4e0c266cc5d378ff67a04d
[osm/N2VC.git] / examples / localcharm.py
1 """
2 This example shows how to deploy a local charm. It:
3
4 1. Connects to current model.
5 2. Uploads a local charm (directory on filesystem) to the model.
6 3. Deploys the uploaded charm.
7
8 """
9 import asyncio
10 import logging
11
12 from juju.model import Model
13
14
15 async def run():
16 model = Model()
17 await model.connect_current()
18
19 # Deploy a local charm using a path to the charm directory
20 await model.deploy(
21 '/home/tvansteenburgh/src/charms/ubuntu',
22 application_name='ubuntu',
23 series='trusty',
24 )
25
26 await model.disconnect()
27 model.loop.stop()
28
29
30 logging.basicConfig(level=logging.DEBUG)
31 ws_logger = logging.getLogger('websockets.protocol')
32 ws_logger.setLevel(logging.INFO)
33 loop = asyncio.get_event_loop()
34 loop.set_debug(False)
35 loop.create_task(run())
36 loop.run_forever()