blob: b14e4ca896d877114cad894f955e482cf7cdca78 [file] [log] [blame]
"""
This example:
1. Connects to the current model
2. Deploy a charm and waits until it reports itself active
3. Destroys the unit and application
"""
from juju import loop
from juju.model import Model
async def main():
model = Model()
print('Connecting to model')
await model.connect()
try:
print('Deploying ubuntu')
application = await model.deploy(
'ubuntu-10',
application_name='ubuntu',
series='trusty',
channel='stable',
)
print('Waiting for active')
await model.block_until(
lambda: all(unit.workload_status == 'active'
for unit in application.units))
print('Removing ubuntu')
await application.remove()
finally:
print('Disconnecting from model')
await model.disconnect()
if __name__ == '__main__':
loop.run(main())