Extended OVF Support and Template Definition

Introduction to Extended OVF Support and Template Definition

The Abiquo template definition and OVF support include the optional parameters that are summarized in the following table.


Abiquo API Parameter
in Template Definition 
Section of .ovf fileOVF FormatDescriptionDefault
loginUserProduct sectionProperty with ovf:key="user"To access a deployed VM using SSH. null
loginPasswordProduct sectionProperty with ovf:key="password"To access a deployed VM using SSH. Remember to change the password immediately after your first login. null
osTypeOperatingSystemSection

OVF numeric code that represents the operating system type and number of bits. Used to set VMware virtual machine guest OS. ovf:id="<CIM_NO>"

The osType is required to deploy VMs. Abiquo uses it to:

  • create the Abiquo VM template osType value
  • set the VMware guest operating system type

You can also set it using the UI and API.
It also enables users to search for templates (e.g. Ubuntu 64-bit template).

UNRECOGNIZED
osVersionOperatingSystemSection

Free text field. Used to set VMware virtual machine guest OS. "ovf:version="<Version No or Text>"

You can use the osVersion field to:

  • add operating systems not included in the list of codes
  • provide details of operating systems
  • set the VMware guest operating system type

Abiquo uses the OVF value directly as the osVersion in the VM template.

null
ethernetDriverTypeRASD itemsRASD item code is 10 for ethernet driverAbiquo always supports E1000 drivers. On ESXi, Abiquo also supports PCNet32 and VMXNET3. On KVM, Abiquo also supports VIRTIO drivers. Abiquo creates an E1000
diskControllerTypeRASD items RASD ResourceType item code is 5 for IDE controller and 6 for SCSI controllerDepending on the hypervisor, Abiquo supports IDE and SCSI. On KVM Abiquo supports VIRTIO drivers.If the disk controller type is empty in the template, Abiquo will use the disk controller from the hypervisor, which is IDE on ESXi and KVM.
diskControllerRASD itemsRASD ResourceSubType free text field.

Abiquo uses it to set VMware SCSI disk controller type. Abiquo uses the OVF value to set the diskController in the VM template. 

On VMware Abiquo creates selected SCSI controller or default


Example OVF Parameters in Template Definition Format

These parameters are accessible through the Abiquo API and UI. If you create a template definition using the API or include these parameters in .ovf files, Abiquo will incorporate them into the VM template definition. This means that you can retrieve template definitions using the API and search for those of a particular type based on these fields. Note that the osType code in the .ovf file becomes the readable osType in the template definition.


 Click here to expand...

Template definition

{
   "links" : [
      {
         "title" : "Abiquo" ,
         "rel" : "enterprise" ,
         "type" : "application/vnd.abiquo.enterprise+json" ,
         "href" : "http://abiquo.example.com/api/admin/enterprises/1"
      } ,
      {
         "title" : "Others" ,
         "rel" : "category" ,
         "type" : "application/vnd.abiquo.category+json" ,
         "href" : "http://abiquo.example.com/api/config/categories/1"
      } ,
      {
         "title" : "RHEL6 Build Bot" ,
         "rel" : "edit" ,
         "type" : "application/vnd.abiquo.virtualmachinetemplate+json" ,
         "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17"
      } ,
      {
         "title" : "tasks" ,
         "rel" : "tasks" ,
         "type" : "application/vnd.abiquo.tasks+json" ,
         "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/tasks"
      } ,
      {
         "title" : "repository" ,
         "rel" : "datacenterrepository" ,
         "type" : "application/vnd.abiquo.datacenterrepository+json" ,
         "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2"
      } ,
      {
         "title" : "virtual machines" ,
         "rel" : "virtualmachines" ,
         "type" : "application/vnd.abiquo.virtualmachines+json" ,
         "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/action/virtualmachines"
      } ,
      {
         "title" : "disks" ,
         "rel" : "disks" ,
         "type" : "application/vnd.abiquo.disks+json" ,
         "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks"
      } ,
      {
         "rel" : "disk0" ,
         "type" : "application/vnd.abiquo.disk+json" ,
         "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks/23"
      } ,
      {
         "title" : "template definition" ,
         "rel" : "templatedefinition" ,
         "href" : "http://rs.abiquo.example.com:9000/ovf/73/desc.ovf"
      } ,
      {
         "title" : "template path" ,
         "rel" : "templatePath" ,
         "href" : "http://abiquo.example.com/am/erepos/1/templates/1/rs.abiquo.example.com/abiport9000/ovf/73/"
      }
   ] ,
   "chefEnabled" : false ,
   "cpuRequired" : 1 ,
   "creationDate" : "2015-03-20T09:20:07.000+0000" ,
   "creationUser" : "SYSTEM" ,
   "description" : "RHEL6 Build Bot" ,
   "ethernetDriverType" : "E1000" ,
   "iconUrl" : "http://rs.abiquo.example.com:9000/public/icons/q.png" ,
   "id" : "17" ,
   "loginPassword" : "password" ,
   "loginUser" : "user" ,
   "name" : "RHEL6 Build Bot" ,
   "osType" : "UNRECOGNIZED" ,
   "osVersion" : "" ,
   "ramRequired" : 1024 ,
   "shared" : false ,
   "state" : "DONE"
}

Template Disks

Disks
{
   "links" : [

   ] ,
   "collection" : [
      {
         "links" : [
            {
               "title" : "disk" ,
               "rel" : "edit" ,
               "type" : "application/vnd.abiquo.disk+json" ,
               "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks/23"
            } ,
            {
               "title" : "conversions" ,
               "rel" : "conversions" ,
               "type" : "application/vnd.abiquo.conversions+json" ,
               "href" : "http://abiquo.example.com/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks/23/conversions"
            } ,
            {
               "title" : "build-bot-rhel6-disk1" ,
               "rel" : "diskfile" ,
               "href" : "http://abiquo.example.com/am/files/1/rs.abiquo.example.com/abiport9000/ovf/73/build-bot-rhel6-disk1.vmdk"
            }
         ] ,
         "sequence" : 0 ,
         "path" : "1/rs.abiquo.example.com/abiport9000/ovf/73/build-bot-rhel6-disk1.vmdk" ,
         "diskFormatType" : "VMDK_STREAM_OPTIMIZED" ,
         "diskFileSize" : 351064576 ,
         "hdRequired" : 4294967296 ,
         "state" : "DONE" ,
         "diskControllerType" : "SCSI" ,
         "diskController" : "lsilogic" ,
         "creationDate" : "2015-03-20T09:20:07.000+0000"
      }
   ]
}

Disk controller

In Abiquo on VMware, the platform default SCSI controller for guest systems is VirtualLsiLogicController.

To change the system default SCSI controller:

  1. Set the following property in the abiquo.properties file on the Remote Services server 

    abiquo.esxi.scsicontroller

    For more details, see Abiquo Configuration Properties#esxi.


To set a disk controller for a VM template in the OVF file and override the defaults:

  1. Create a RASD section in your OVF file for a SCSI controller with ResourceType with a value of 6.

    <rasd:ResourceType>6</rasd:ResourceType> 

    This will use the default VirtualLsiLogicController

  2. Add a ResourceSubType free text field to specify the controller type.
    For example, for a VirtualLsiLogicSASController as found in Windows 2012:

    <rasd:ResourceSubType>lsilogicsas</rasd:ResourceSubType>

    You can use the following values:

    SCSI disk controller type field text
    (ResourceSubType value)

    diskController saved in template and created on VMware

    contains "paravirtual"ParaVirtualSCSIController
    contains "bus"VirtualBusLogicController
    contains "sas"VirtualLsiLogicSASController
    other (default value)VirtualLsiLogicController

To set a disk controller for a VM template, see Modify a VM Template.

To set a disk controller for a VM, see Modify VM hard disks and Modify VM volumes

Guest Operating System Definition

Abiquo reads the CIM OperatingSystem code in OVF files to create the template definition according to the conversion table.

For VMware ESXi,  Abiquo also converts the Abiquo osType and osVersion to the vSphere GuestOSIdentifier. 

This information is stored in the Abiquo VM template only, not the VM. Abiquo reads the template to create the VM but does not store the information in the VM definition itself. Therefore, if you change a VM template after you deploy a VM, the changes will not be made to the VM.

In general, if you do not supply an osVersion, Abiquo will use the latest version of the VMware guest operating system.

See Modify a VM Template and Set the guest operating system for VMware

What if my operating system is not supported?

For example, for new versions of Windows, Abiquo supports a generic WINDOWS type. If you wish to use this type, complete the osVersion field with a full description.

if your template contains the standard DMTF description for the template, this will be stored in the osVersion field in the template definition.

If you select a generic template, Abiquo will use the latest type of the generic template.

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