--- /dev/null
+#!/usr/bin/python3
+
+import amulet
+import openvim
+
+def deploy_openvim():
+ d = amulet.Deployment()
+ d.add("mysql", series="trusty")
+ d.add("openvim-controller", series="xenial")
+ d.add("openvim-compute", charm="local:xenial/openvim-compute", series="xenial")
+ d.relate("openvim-controller:db", "mysql:db")
+ d.relate("openvim-controller:compute", "openvim-compute:compute")
+ d.setup(timeout=900)
+ d.sentry.wait()
+ return d
+
+def get_openvim_connection(deployment):
+ address = deployment.sentry["openvim-controller"][0].info["public-address"]
+ return openvim.connect(address)
+
+def create_vm(deployment):
+ c = get_openvim_connection(deployment)
+ tenant = c.get_tenants()[0]
+ c.set_active_tenant(tenant)
+ networks = c.get_networks()
+ image = c.get_images()[0]
+ flavor = c.get_flavors()[0]
+
+ server = c.create_server(
+ name="vm",
+ description="test vm",
+ image=image,
+ flavor=flavor,
+ networks=networks
+ )
+
+ return server
+
+def test_vm_creation():
+ d = deploy_openvim()
+ create_vm(d)
+
+if __name__ == "__main__":
+ test_vm_creation()