Update changelog for 0.4.0
[osm/N2VC.git] / examples / config.py
index 616c780..bacc840 100644 (file)
@@ -10,32 +10,46 @@ import asyncio
 import logging
 
 from juju.model import Model
+from juju import loop
 
+log = logging.getLogger(__name__)
 
-async def run():
+MB = 1
+
+
+async def main():
     model = Model()
     await model.connect_current()
     await model.reset(force=True)
 
     ubuntu_app = await model.deploy(
         'mysql',
-        service_name='mysql',
+        application_name='mysql',
         series='trusty',
         channel='stable',
+        config={
+            'tuning-level': 'safest',
+        },
         constraints={
-            'mem': 512 * 1024 * 1024
+            'mem': 256 * MB,
         },
     )
-    print(await ubuntu_app.get_config())
-    print(await ubuntu_app.get_constraints())
+
+    # update and check app config
+    await ubuntu_app.set_config({'tuning-level': 'fast'})
+    config = await ubuntu_app.get_config()
+    assert(config['tuning-level']['value'] == 'fast')
+
+    # update and check app constraints
+    await ubuntu_app.set_constraints({'mem': 512 * MB})
+    constraints = await ubuntu_app.get_constraints()
+    assert(constraints['mem'] == 512 * MB)
 
     await model.disconnect()
-    model.loop.stop()
-
-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())