If you ever thought of uploading your local VMs to OpenStack, perhaps you have come across OpenStack’s support for importing single virtual disk images. However, this cannot be used to deploy complicated VM setups, including network configurations and multiple VMs connected to each other.
We at ICCLab have therefore decided to develop a tool that will allow anyone to upload their VM setups from their local environments directly to OpenStack. We call it OpenStack VM onboarding tool and it’s available as open source.
VM onboarding tool features:
- Easy to run – the tool comprises of simple frontend, backend and Openstack client libraries to access Openstack APIs. All these components can be easily run with one command.
- Easy to Import – to import an OVA file the user needs to provide only the basic Openstack credentials (username, password, tenant, region, keystone URL) and an OVA file.
- Full infrastructure import – the tool imports virtual machines, external networks, internal network connections and security groups.
You can check out a quick demo of VM onboarding functionality, workflow and interface.
The tool comprises of simple frontend, backend and Openstack client libraries to access Openstack APIs. The figure below shows a high level architecture of this tool.
Once a user tries to “Log in”, a new session is created through “keystoneauth” library. This session is needed to access all openstack client services.
Import OVA file to Openstack consists of different actions:
- Chosen the OVA file uploaded to the backend server
- OVA file transforms into the simple .tar archive. The images (vmdk) and the OVF file are extracted from this archive disk.
- The OVF file parser extracts valid information.
- The images are uploaded to the glance endpoint.
- All information then transforms to the heat template and is uploaded to the heat client.
In future VM onboarding tool will be integrated with the Openstack Horizon dashboard for seamless user experience.