The OpenNebula context package configures a node’s network, hostname, credentials, and SSH keys the first time it boots. A custom image needs this package installed and enabled before you take it; without it, a node launched from the image boots but you cannot reach it. See Import a custom image for the rest of what an import needs.
Install the context package on the source machine
Section titled “Install the context package on the source machine”Run the command for your OS before you save or export the image.
Debian or Ubuntu
Section titled “Debian or Ubuntu”wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context_6.6.0-1.debsudo apt updatesudo apt --fix-broken install -ysudo dpkg -i one-context_6.6.0-1.debsudo systemctl enable one-contextCentOS, Fedora, or RHEL 7
Section titled “CentOS, Fedora, or RHEL 7”wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.el7.noarch.rpmsudo yum install -y epel-releasesudo yum install -y one-context-6.6.0-1.el7.noarch.rpmsudo systemctl enable one-contextRocky Linux, AlmaLinux, or CentOS 8 and later
Section titled “Rocky Linux, AlmaLinux, or CentOS 8 and later”wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.el8.noarch.rpmsudo dnf install -y one-context-6.6.0-1.el8.noarch.rpmsudo systemctl enable one-contextFedora
Section titled “Fedora”wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.fc38.noarch.rpmsudo dnf install -y one-context-6.6.0-1.fc38.noarch.rpmsudo systemctl enable one-contextopenSUSE 42 or 15
Section titled “openSUSE 42 or 15”wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.suse.noarch.rpmsudo zypper --no-gpg-check install -y one-context-6.6.0-1.suse.noarch.rpmsudo systemctl enable one-contextAlpine Linux
Section titled “Alpine Linux”wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-r1.apkapk add --allow-untrusted one-context-6.6.0-r1.apkFreeBSD 11 or 12
Section titled “FreeBSD 11 or 12”wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0_1.txzpkg install -y curl bash sudo base64 ruby open-vm-tools-nox11pkg install -y one-context-6.6.0_1.txzWindows
Section titled “Windows”Download and run the installer:
https://github.com/OpenNebula/addon-context-windows/releases/download/v5.8.0/one-context-5.8.0.msiOr fetch it from PowerShell first:
(New-Object Net.WebClient).DownloadFile("https://github.com/OpenNebula/addon-context-windows/releases/download/v5.8.0/one-context-5.8.0.msi", "C:\one-context-5.8.0.msi")Then double-click the downloaded file to install it.
Turn off cloud-init if the machine has it
Section titled “Turn off cloud-init if the machine has it”If cloud-init is installed on the source machine, disable its service before you take the
image; it conflicts with the context package and breaks the node’s first boot. Installing
one-context on Debian or Ubuntu removes cloud-init for you.
Confirm the machine is ready to import
Section titled “Confirm the machine is ready to import”The one-context service sits inactive after install; E2E starts it during the node’s first
boot after import. Save or export the image once it is installed, enabled, and, where it
applies, cloud-init is off.
The source machine is now ready to become an image that boots and connects on E2E. Make the image, upload it to a bucket, and follow Import a custom image. If a node launched from it still cannot be reached, see Troubleshooting image import and export.