f335af93a595eb2ddea363e40990338ec1f1016d
3 from juju
.controller
import Controller
6 async def main(cloud_name
, credential_name
):
7 controller
= Controller()
9 print('Connecting to controller')
10 await controller
.connect_current()
13 model
= await controller
.add_model(
15 cloud_name
=cloud_name
,
16 credential_name
=credential_name
)
19 print("Verify model's credential: {}".format(
20 model
.info
.cloud_credential_tag
))
22 # verify we can deploy
23 print('Deploying ubuntu')
24 app
= await model
.deploy('ubuntu-10')
26 print('Waiting for active')
27 await model
.block_until(
28 lambda: app
.units
and all(unit
.workload_status
== 'active'
29 for unit
in app
.units
))
31 print('Removing ubuntu')
36 print('Removing model')
37 model_uuid
= model
.info
.uuid
38 await model
.disconnect()
39 await controller
.destroy_model(model_uuid
)
40 print('Disconnecting')
41 await controller
.disconnect()
44 if __name__
== '__main__':
45 assert len(sys
.argv
) > 2, 'Please provide a cloud and credential name'
46 loop
.run(main(sys
.argv
[1], sys
.argv
[2]))