New N2VC interface + updated libjuju
[osm/N2VC.git] / modules / libjuju / 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 from juju import loop
14
15
16 async def main():
17 model = Model()
18 await model.connect()
19
20 # Deploy a local charm using a path to the charm directory
21 await model.deploy(
22 '/home/tvansteenburgh/src/charms/ubuntu',
23 application_name='ubuntu',
24 series='trusty',
25 )
26
27 await model.disconnect()
28
29
30 if __name__ == '__main__':
31 logging.basicConfig(level=logging.DEBUG)
32 ws_logger = logging.getLogger('websockets.protocol')
33 ws_logger.setLevel(logging.INFO)
34 loop.run(main())