Versions Compared

Key

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

PR

https://github.com/shapeblueapache/cloudstack/pull/453748

Introduction

There are a number of occasions when a cloud operator must register and make active a system VM template, including:

...

The system VM template APIs will do the work of getting the required template image into secondary storage in these cases.

Purpose

This is the functional specification of the system VM template API

...

VersionAuthor/ReviewerDate
1.0Darrin Hüsselmann

 

Feature Specifications

This feature adds an Application Programming Interface (API) and User Interface (UI) that will enable an administrator to:

...

These options are available from the add zone wizard and the template upload and register forms.

Architecture and Design description

An administrator will have the option to install a system VM template from the zone creation wizard, the "Register template" form, the "Upload from local" form and by calling the seedSystemVMTemplate API command. 

Multiple system VM templates can be uploaded to the management server, but only one can be active per hypervisor. Once a system VM template is activated, all other system VM templates for the specific hypervisor is deactivated. Deactivated system VM templates are not returned by the listTemplates command, unless the templateFilter parameter is set to "Inactive".

Web Services APIs

getSystemVMTemplateDefaultURL - Returns the URL where to download the official Cloudstack system VM template for a specific hypervisor. This API was used to populate the name and description fields when selecting a hypervisor in the web UI.

...

NameParametersRequiredUsage

Name 

Parameters 

Required 

Usage 

ActivateTemplate 

templateId 

Yes 

The id of the template to be set as the system VM template to use.

SeedSystemVMTemplate 

fileuuid 

No 

The uuid of the file that was uploaded to the management server for seeding the template. 

 

hypervisor 

Yes 

The target hypervisor 

 

id 

Yes 

Destination zone id 

 

url 

No 

URL where to download the system VM template from. 

 

localfile 

Yes 

Boolean indicating if a file was uploaded to the management server 

GetSystemVMTemplateDefaultUrl 

 

hypervisor 

Yes 

The target hypervisor. 

UI flow

The "Upload from local" and "Register template" forms have been extended to allow the installation of the system VM template:

...

The need for a new filter was identified to allow an admin to see deactivated templates. When activating a template for a specific hypervisor, all other templates for that hypervisor becomes inactive and removed from the list of templates. Using the inactive filter will then list those inactive templates.

IP Clearance

N/A

Usage Impact

N/A