Using VirtualBox to generate a compatible VM template

Introduction

VirtualBox is a hypervisor developed by Sun Microsystems (now Oracle) that is designed for desktop virtualization. VirtualBox is a desktop solution for building new VM templates for use in Abiquo. This document describes how to create a new OVF virtual appliance with VirtualBox.

This tutorial will show how to install an OS distributed as an ISO image. In this example we will use a very simple Linux distribution, ArchLinux. This distribution is perfect for cloud environments because of its minimalist approach. You can download the ISO image from the download page.

Create a new virtual machine

This VM will mount the ISO or other install disk. To guarantee compatibility across different hypervisors, configure it with the specified virtual devices. 

To create a new VM:

  1. Click the New button on the main screen.
    The Create New Virtual Machine Wizard will open.

  2. Enter a Name for the virtual machine, archlinux, for example. 
    Select Linux as the Operating System
    Select Arch Linux as the Version. 
    Click Next to continue.

  3. Select the amount of memory needed by the operating system. 512 MB should be enough. Click Next to continue.

  4. Select Create a virtual hard drive now and click Create

  5. Select a hard disk format that is compatible with your hypervisors. See Template compatibility table.
    For example, for KVM hypervisors, you could select QCOW; for VMware hypervisors, you could select VMDK; and for Hyper-V, you could select VHD. 

  6. If required, select dynamic or fixed disk.

    1. Fixed Size will convert to other hypervisor formats more quickly than dynamically allocated.

    2. Dynamically allocated will produce a smaller disk file when the disk is not very full.

  7. Click Next to continue.

  8. Enter the Name of the virtual disk, archlinux would be a good name (VirtualBox will add an extension). You can also change the default path by clicking on the icon to the right of the text box.
    This disk will be the disk the Operating System will use. 

  9. We will now create a Virtual Disk of 2 GB; this is enough for basic tasks in an operating system. If you need to perform more complex tasks, do not hesitate to create bigger disks. Remember that disks of more than 2 GB will be broken into multiple parts by the browser upload in the UI. If you use manual upload for a larger disk, then you will need to create an OVF file for your disk.
    Enter 2.00 GB. Click Create to continue.
    A VM summary may display. 

  10. If required, click Create to continue.

Modify the VM for maximum hypervisor compatibility

You must now modify the VM so that it will work for several hypervisors. To modify the VM, follow these steps:

  1. Select the archlinux virtual machine from the list in the left pane and click Settings.

  2. Set the Boot Order 

    1. In the left pane click System

    2. In Boot Order, disable Floppy and Network.

  3. Enable the SCSI Controller

    1. In the left pane click Hard Disks

    2. Check Enable Additional Controller and select SCSI (LsiLogic).

  4. Mount the ISO

    1. Below Hard Disks in the left pane click on CD/DVD ROM

    2. Select the Mount CD/DVD Drive checkbox and select ISO Image File

    3. Select the ISO image downloaded at the beginning of the process in the combo box.

  5. Optionally Disable Audio

    1. If you do not require audio, click Audio

    2. Unselect Enable Audio

  6. Add Bridged Adapter

    1. Click Network and then on the Adapter 1 tab:

      1. Select Enable Network Adapter,

      2. Select the Adapter Type from the combo: choose *Intel PRO/1000 MT Server (82545EM)

        • Abiquo also supports more network adapters, such as VIRTIO on KVM

      3. Change Attached to from its current value to Bridged Adapter

      4. Verify that Name points to an existing and valid Network Adapter Type in this host.

    2. Now go to Adapter 2 tab and REPEAT the same steps. You can choose the same Name for the Network Adapter Type.

  7. Optionally disable USB

    1. Optionally go to USB and deselect Enable USB Controller. For valid settings choose a non-USB pointing device on the System tab.

  8. Click OK to finish.

Install the operating system

Now install the operating system. To ensure the best performance in Abiquo:

  • Configure the network to get all the configuration from DHCP. Remember to remove the MAC address from network scripts.

  • Install openssh daemons. Users will probably not have console access to the OS.

  • Do not install XWindows. Install the OS to run in text mode.

Template upload methods

You can upload your template to the cloud platform:

  • Using the UI:

    • select a VM disk, and completing the template details, such as CPU, RAM and disk capacity

    • select an OVA file

    • select an ISO file and reinstalling your VM with the operating system from the ISO

  • Manually, as a VM disk with an OVF file containing the template details required by Abiquo

Export an OVA file

To export an OVA file:

  1. In the main menu go to File > Export Appliance and select your appliance (In this example, archlinux). 

  2. Click Next to continue.

  3. Enter the name of the File and path where VirtualBox will store the OVA

  4. Click Next

  5. Click Export

Export an OVF file

For manual upload to Abiquo, we will use a separate OVF descriptor.

To export an OVF file and compressed virtual disk:

  1. In the main menu go to File > Export Appliance and select your appliance (In this example, archlinux). 

  2. Click Next to continue.

  3. Enter the name of the File and path where VirtualBox will store the OVF

  4. Change the file extension from .ova to .ovf. 

  5. Do not select the options to Write Legacy OVF 0.9 or Write manifest file

  6. Click Next to continue.

  7. Enter the virtual machine details

    1. If you are using manual template upload, then you should complete at least the Description

    2. If possible, you should complete the other Product details too.

    VirtualBox will add these details to the OVF descriptor. Abiquo will read these details and display them to users for self-service access to templates.

  8. Click Export to start the conversion. The process can take several minutes, so please be patient.

Edit the OVF File

Edit the OVF file to ensure that it contains useful information to display your template.

For details of Abiquo OVF support, see OVF reference. Abiquo supports OVF files with multiple virtual machine disks

To prepare the OVF file for use by the Abiquo platform:

  1. Edit the .ovf file created by VirtualBox in the previous step

  2. Search for the ProductSection

    1. For Abiquo, the ProductSection holds the information about the template for display in the Apps library. It must contain:

      • Info

      • Product

      • Icon

  • ovf:fileRef: URL of the icon file

  • ovf:mimeType: jpeg, png or gif

  • ovf:width: pixels

  • ovf:height: pixels

The ProductSection should be similar to the following example. Check the details of your VM template and add the Icon details in the product section. The Icon URL must include a publicly visible IP address or domain name (not 127.0.0.1 or localhost).

VirtualSystem
<ProductSection> <Info>Abiquo - server machine</Info> <Product>Abiquo - server machine</Product> <Icon ovf:fileRef="https://rs.bcn.abiquo.com:443/public/icons/q.png" ovf:mimeType="image/jpeg" ovf:width="32" ovf:height="32" /> </ProductSection>

Add the VM template to the catalog

You can now add the VM template to the catalog of the multi-cloud platform. See Adding VM Templates to the Appliance Library
Or you can add the VM template to a Template Repository, to enable users to download it to the catalog. See Template-repository documentation

Copyright © 2006-2024, Abiquo Holdings SL. All rights reserved