Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • No change in user experience during template registration
  • Once template is downloaded and installed in the secondary storage it will be post processed
    • OVA template custom property "cloud.ova.bootdisk" will be used to determine the ROOT disk. If it is not set the first disk will be identified as the ROOT disk
    • For each of the data disks
      • An OVF descriptor will be created 
      • Datadisk template will be created by packaging the disk and OVF into an OVA
      • Datadisk, OVF and OVA will be present in a separate folder inside the parent template folder. e.g. -
        • Say VM template id is 206, then the 1st data disk of a template will be present in folder  - template/tmpl/2/206/1 
        • Sample contents of the Datadisk template folder will be
          • MultipleVolumes.ova MultipleVolumes.ovf MultipleVolumes-disk1.vmdk
    • Template post processing will return information about each of the additional data disks present (if any).
    • Information about the data disks will include physical and virtual size of the data disk and path where the template has been installed
    • For each of the additional disks a Datadisk template will be created
      • Entries will be made in vm_templates and vm_template_store_ref table
      • Datadisk Template will be referenced to the corresponding VM template by populating vmwith DB column parent_template_details for VM template with key value pair - childid where parent_template_id,  <datadisk_template_id>id points to the VM template

Listing templates

  • All template i.e. both VM templates and Datadisk templates will be listed.
  • Datadisk template can be differentiated from VM templates by the property templatetype
    • Datadisk templates will have templatetype set to 'Datadisk'
    • VM templates will continue to have templatetype set to 'User'
  • Following attributes will also be different for the two type of templates – bootable(set to false for Datadisk template), guestos(unset for Datadisk template)

...

  • While listing all templates list only VM templates i.e. non Datadisk templates (VM templates will have bootable property set to true)
  • Once the user has selected the VM template allow user to pick between disk offering or Datadisk template with the help of radio buttons (user can choose to select neither)
  • If user chooses disk offering then rest of the work flow will remain the same as today
  • If user chooses Datadisk template then list all the Datadisk templates that belong to the VM template chosen in the first step (templates that have parentTemplateId parameter set to that of VM template)
DB Schema changes

...

  • Add new column parent_template_id to vm_templates table

    • default value is null

    • for Datadisk templates, value will be Id of the VM template that the Datadisk template belongs to

    • for VM templates, value will always be null

Upgrade scenario

  • In a setup that has been upgraded to 4.4, templates with multiple volumes
    • That were registered prior to upgrade will continue to operate as before. Any VM launched from these templates will only have the ROOT disk
    • That will be registered after upgrade will follow the new behavior. Any VM launched from these templates will have additional data disks attached to them along with the ROOT disk (i.e. if user chooses to)

...