Import your own custom Image
Introduction
Prerequisites
VM initialization method
There are different methods to pass information to a newly created Virtual Machine. This information can be the network configuration of the VM, user credentials, init scripts and free form data.
In our cloud platform we use OpenNebula context package for virtual machine initialization, which configures the network, sets the user credentials, sets hostname, add provided SSH keys etc.
Download and Installation of Contextualization Packages and Dependencies to your VM
CentOS/RHEL 6.x
# wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context-5.8.0-1.el6.noarch.rpm
# yum install -y epel-release
# yum install -y one-context-[0-9]*el6*rpm
CentOS/Fedora/RHEL 7.x
# wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context-5.8.0-1.el7.noarch.rpm
# yum install -y epel-release
# yum install -y one-context-[0-9]*el7*rpm
Debian/Ubuntu
# wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context_5.8.0-1.deb
# apt-get purge -y cloud-init
# dpkg -i one-context_*deb || apt-get install -fy
OpenSUSE 42,15
# wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context-5.8.0-1.suse.noarch.rpm
# zypper --no-gpg-check install -y one-context-[0-9]*suse*rpm
Alpine Linux
# wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context-5.8.0-r1.apk
# apk add --allow-untrusted one-context-[0-9]*apk
FreeBSD 11,12
# wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context-5.8.0_1.txz
# pkg install -y curl bash sudo base64 ruby open-vm-tools-nox11
# pkg install -y one-context-[0-9]*.txz
Windows
As of now Windows based images are not supported due to the license restrictions.
Note
If you have cloud-init present in your virtual machine for initialization, please make sure that the respective cloud-init service is disabled on boot before taking the image. The cloud-init will conflict with the OpenNebula context package which may result in failure of virtual machine initialization process.
Supported image formats
E2E cloud-platform supports images in qcow2, qed, raw, vdi, vhd, and vmdk formats for import.
Disk requirements
The image should contain single disk partition. The primary partition on the disk can be in any format that you like as long as it boots properly from the MBR bootloader. The disk should not be larger than 2048 GB (2 TB).
Operating System requirements
CentOS/RHEL >= 6
Debian >= 8
Ubuntu >= 14.04
Note
Other operating systems can also be imported but they might require additional configuration steps that are not covered in this guide.