Initial openvim v0.4.6 upload
[osm/openvim.git] / charm / openvim / layer-openvim / tests / 10-smoke
1 #!/usr/bin/python3
2
3 import amulet
4 import openvim
5
6 def deploy_openvim():
7     d = amulet.Deployment()
8     d.add("mysql", series="trusty")
9     d.add("openvim-controller", series="xenial")
10     d.add("openvim-compute", charm="local:xenial/openvim-compute", series="xenial")
11     d.relate("openvim-controller:db", "mysql:db")
12     d.relate("openvim-controller:compute", "openvim-compute:compute")
13     d.setup(timeout=900)
14     d.sentry.wait()
15     return d
16
17 def get_openvim_connection(deployment):
18     address = deployment.sentry["openvim-controller"][0].info["public-address"]
19     return openvim.connect(address)
20
21 def create_vm(deployment):
22     c = get_openvim_connection(deployment)
23     tenant = c.get_tenants()[0]
24     c.set_active_tenant(tenant)
25     networks = c.get_networks()
26     image = c.get_images()[0]
27     flavor = c.get_flavors()[0]
28
29     server = c.create_server(
30         name="vm",
31         description="test vm",
32         image=image,
33         flavor=flavor,
34         networks=networks
35     )
36
37     return server
38
39 def test_vm_creation():
40     d = deploy_openvim()
41     create_vm(d)
42
43 if __name__ == "__main__":
44     test_vm_creation()