#!/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()