Abiquo Documentation Cookies Policy

Our Documentation website uses cookies to improve your experience. Please visit our Cookie Policy page for more information about cookies and how we use them.


Abiquo 4.6

Skip to end of metadata
Go to start of metadata


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 OVF support and the template definition are compatible with the jclouds Compute service. All of the jclouds providers use the operating system codes to enable users to search for a Windows template, or search for a Ubuntu 64 bit template, and so on.

Abiquo API Parameter
in Template Definition 
Section of .ovf fileOVF FormatDescriptionDefault
loginUserProduct sectionProperty with ovf:key="user"The user and password parameters enable you to access a deployed machine using ssh. This functionality is also available through jclouds. Abiquo recommends that you change the password immediately after your first login. null
loginPasswordProduct sectionProperty with ovf:key="password"The user and password parameters enable you to access a deployed machine using ssh. This functionality is also available through jclouds. Abiquo recommends that you 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 used, as shown in the table below, to:

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

The osType can be edited in the UI and through the API. It offers compatibility with the jclouds compute service implementation, to enable 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>"

The osVersion field can be used, as shown in the table below, to:

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

The OVF value is transferred directly to 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. From version 3.2.1 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. Used to set VMware SCSI disk controller type. Introduced to support Windows 8 disk controllersThe OVF value is transferred to the diskController according to the table below. 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 virtual machine 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://10.60.1.246:80/api/admin/enterprises/1"
      },
      {
         "title":"Others",
         "rel":"category",
         "type":"application/vnd.abiquo.category+json",
         "href":"http://10.60.1.246:80/api/config/categories/1"
      },
      {
         "title":"RHEL6 Build Bot",
         "rel":"edit",
         "type":"application/vnd.abiquo.virtualmachinetemplate+json",
         "href":"http://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17"
      },
      {
         "title":"tasks",
         "rel":"tasks",
         "type":"application/vnd.abiquo.tasks+json",
         "href":"http://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/tasks"
      },
      {
         "title":"repository",
         "rel":"datacenterrepository",
         "type":"application/vnd.abiquo.datacenterrepository+json",
         "href":"http://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2"
      },
      {
         "title":"virtual machines",
         "rel":"virtualmachines",
         "type":"application/vnd.abiquo.virtualmachines+json",
         "href":"http://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/action/virtualmachines"
      },
      {
         "title":"disks",
         "rel":"disks",
         "type":"application/vnd.abiquo.disks+json",
         "href":"http://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks"
      },
      {
         "rel":"disk0",
         "type":"application/vnd.abiquo.disk+json",
         "href":"http://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks/23"
      },
      {
         "title":"template definition",
         "rel":"templatedefinition",
         "href":"http://rs.bcn.abiquo.com:9000/ovf/73/desc.ovf"
      },
      {
         "title":"template path",
         "rel":"templatePath",
         "href":"http://10.60.1.246:80/am/erepos/1/templates/1/rs.bcn.abiquo.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.bcn.abiquo.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://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks/23"
            },
            {
               "title":"conversions",
               "rel":"conversions",
               "type":"application/vnd.abiquo.conversions+json",
               "href":"http://10.60.1.246:80/api/admin/enterprises/1/datacenterrepositories/2/virtualmachinetemplates/17/disks/23/conversions"
            },
            {
               "title":"build-bot-rhel6-disk1",
               "rel":"diskfile",
               "href":"http://10.60.1.246:80/am/files/1/rs.bcn.abiquo.com/abiport9000/ovf/73/build-bot-rhel6-disk1.vmdk"
            }
         ],
         "sequence":0,
         "path":"1/rs.bcn.abiquo.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

Abiquo enables you to enter a SCSI driver for hypervisors with support for guest SCSI driver selection (at the time of writing, only ESXi supports this). This enables better support for some operating systems, for example, Windows 2012 and 8.1 can support the LSI Logic SAS 1068 controller out of the box.

default diskController in abiquo.properties

You can set a default SCSI controller for all virtual machines in the abiquo.properties file. See Abiquo Configuration Properties#esxi. The default SCSI controller set in the abiquo.properties will be used if no SCSI controller is set in the virtual machine OVF, virtual machine template, or virtual machine configuration prior to first deploy. Users can change the SCSI controller in a virtual machine, even after deploy.

diskController in OVF

Abiquo will read a RASD section from the OVF. For example, the following section will support Windows 2012:

<rasd:ResourceType>6</rasd:ResourceType> 
<rasd:ResourceSubType>lsilogicsas</rasd:ResourceSubType>

In general, Abiquo will determine that the resource type is a SCSI controller and create the standard SCSI controller.
ResourceType = 6 = Parallel_SCSI_HBA (from CIMResourceTypeEnum) -> diskControllerType = SCSI
The default controller is a VirtualLsiLogicController.

Now Abiquo will also read the ResourceSubType (free text field) from the OVF and save the corresponding diskController in the TemplateDefinition data model. Then Abiquo will add this information to the diskController optional attribute in the virtual machine template.

ResourceSubType valuediskController saved in template and created on VMware
contains "paravirtual"ParaVirtualSCSIController
contains "bus"VirtualBusLogicController
contains "sas"VirtualLsiLogicSASController
other (default value)VirtualLsiLogicController

See https://www.vmware.com/support/developer/converter-sdk/conv51_apireference/vim.vm.device.VirtualSCSIController.html

diskController in API and UI

You can also change the diskControllerType and diskController using the API and the UI for the virtual machine template and virtual machine.

diskControllerType and diskController setting priorities


Abiquo can create more than one diskController, but only one diskController of each kind. You can change a controller in a virtual machine, even after deploy.

All SCSI disks are attached to the diskController selected at deploy time based on the following priority:
1. a single value set in the virtual machine template for any of the virtual machine disks
2. for SCSI diskControllerType, the default diskController set in abiquo.properties
3. for SCSI diskControllerType, the platform predefined default of lsilogic

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 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 template after you deploy a virtual machine, the changes will not be made to the virtual machine.

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 Guest operating system definition 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.