X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=examples%2Fcredential.py;fp=examples%2Fcredential.py;h=f335af93a595eb2ddea363e40990338ec1f1016d;hb=1a15d1c84fc826fa7996c1c9d221a324edd33432;hp=0000000000000000000000000000000000000000;hpb=fd577a36aaf408c845f3bb8b3f28ecbbf3332107;p=osm%2FN2VC.git diff --git a/examples/credential.py b/examples/credential.py new file mode 100644 index 0000000..f335af9 --- /dev/null +++ b/examples/credential.py @@ -0,0 +1,46 @@ +import sys +from juju import loop +from juju.controller import Controller + + +async def main(cloud_name, credential_name): + controller = Controller() + model = None + print('Connecting to controller') + await controller.connect_current() + try: + print('Adding model') + model = await controller.add_model( + 'test', + cloud_name=cloud_name, + credential_name=credential_name) + + # verify credential + print("Verify model's credential: {}".format( + model.info.cloud_credential_tag)) + + # verify we can deploy + print('Deploying ubuntu') + app = await model.deploy('ubuntu-10') + + print('Waiting for active') + await model.block_until( + lambda: app.units and all(unit.workload_status == 'active' + for unit in app.units)) + + print('Removing ubuntu') + await app.remove() + finally: + print('Cleaning up') + if model: + print('Removing model') + model_uuid = model.info.uuid + await model.disconnect() + await controller.destroy_model(model_uuid) + print('Disconnecting') + await controller.disconnect() + + +if __name__ == '__main__': + assert len(sys.argv) > 2, 'Please provide a cloud and credential name' + loop.run(main(sys.argv[1], sys.argv[2]))