Bug Reference

CLOUDSTACK-4757

Branch

Work is in progress in ova-multiple-disks branch

Introduction

OVA is an archive or an envelope specification that can contain a complete VM including multiple disks and other files such as ISOs. And CloudStack templates in case of VMware are in OVA format.

Today in CloudStack, we only support template creation based on OVA files that contain a single disk. If an Admin/User registers a template using OVA that contains more than 1 disk and launches an instance using this template, only the first disk is attached to the new instance and the rest of the disks are ignored. 

Purpose

Purpose of this document is to present functional specifications for improvements that are required to extent the current OVA support to include multiple disks.

Glossary

VM template – Represents a ROOT disk contained in an OVA along with other VM related information like Guest OS.

Datadisk Template - An abstraction for a DATA volume contained in an OVA

Goals

The current CloudStack behavior needs to be improved to support OVA files with multiple disks.

In case of an instance launched from a template that is an OVA containing more than 1 disk 

Scope

Scope of this proposal is limited to adding support for additional disks present in an OVA that is registered in CloudStack. It is not in the scope to fully support an OVA and hence CloudStack will ignore any other information that is encapsulated in the OVA which may include information about networks, multiple Virtual machines or ISO s present.

Feature specifications

Currently in CloudStack, template abstraction is that of a VM template that contains a single disk. To represent the additional disks present in an OVA we will introduce the concept of Datadisk templates.

Datadisk templates will be

Datadisk templates will provide flexibility to orchestrate, deploy and manage additional disks present in an OVA like any other Datadisk in CloudStack.

Architecture

Work flow changes

Template registration

Listing templates

Virtual Machine deployment

Template deletion

Template copy

Template update

Update template permissions

Identifying ROOT disk in an OVA 

Change in the existing behavior

Web Service API

DeployVirtualMachine API

New parameter – datadisktemplatetodiskofferinglist

UI Flow

Deploy VM wizard

DB Schema changes

Upgrade scenario

Limitations