Versions Compared

Key

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

...

  1. Existing API deployVirtualMachine will be updated
    1. Adding 1 new optional parameter – vmsnapshotid
      1. vmsnapshotid - UUID of the VM snapshot that the VM has to be deployed from.
      2. This parameter would be mutually exclusive with the existing parameter ‘templateid’, which represents a template or iso
      3. Usage - &vmsnapshotid=<vmsnapshot-uuid>
    2. Modifying the existing parameter templateid from required to optional

  2. seedTemplateFromVmSnapshot– New API introduced
    1. Parameters –
      1. zoneid - UUID of zone
        1. Required
      2. vmsnapshotid - UUID of the VM snapshot from which the template would be created from.
        1. Required
      3. storageid - UUID of primary storage pool where the template need to be seeded onto.
        1. Required
      4. Usage - &vmsnapshotid=<vmsnapshot-uuid>&zoneid=<zone-uuid>&storageid=<primary-storage-uuid>

  3. createVolumeFromVmSnapshot -  New API will be introduced
    1. Parameters – vmsnapshotid, volumeId.
      1. vmsnapshotid
        1. UUID of the VM snapshot from which the volume should be extracted and created from.
        2. Required parameter
        3. Usage - &vmsnapshotid=<vmsnapshot-uuid>
      2. volumeId
        1. UUID of the volume from which (content of) new volume would be created so that content of volume would be identical to that of the volume from snapshot specified by vmsnapshotid.
        2. Required parameter
        3. Usage - &volumeId=<volume-uuid>
    2. Size of new volume would be same as that of the volume specified by <volumeid>

DB Changes

vmsnapshotvm_snapshot_spool_ref (id, pool_id, vm_snapshot_id, created, install_path, state) -  This table will contain the mapping between a VM snapshot and the primary storage it is on.

...

 

...

Type

...

NULL

...

Key

...

Default

...

id

...

bigint(20) unsigned

...

NO

...

PRI

...

NULL

...

vm_snapshot_id

...

bigint(20) unsigned

...

NO

...

 

...

NULL

...

pool_id

...

bigint(20) unsigned

...

NO

...

 

...

NULL

...

No Format
+----------------+---------------------+------+-----+---------+----------------+
| Field          | Type                | Null | Key | Default | Extra          |
+----------------+---------------------+------+-----+---------+----------------+
| id             | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| uuid           | varchar(40)         | YES  |     | NULL    |                |
| pool_id        | bigint(20) unsigned | NO   | MUL | NULL    |                |
| vm_snapshot_id | bigint(20) unsigned | NO   | MUL | NULL    |                |
| created        | datetime            | NO   |     | NULL    |                |
| job_id         | varchar(255)        | YES  |     | NULL    |                |
| state          | varchar(255)        | YES  |     | NULL    |                |
| status         | varchar(255)        | YES  |     | NULL    |                |
| install_path   | varchar(255)        | YES  |     | NULL    |                |
| template_size  | bigint(20) unsigned | NO   |     | NULL    |                |
| marked_for_gc  | tinyint(1) unsigned | NO   |     | 0       |                |
+----------------+---------------------+------+-----+---------+----------------+

Hypervisors supported

VMware ESXi 5.0 and above.

UI Flow

  • Add a new option ‘Deploy VM from VM snapshot’ to the existing operations supported on VM snapshots.
    • Include it under, Instances --> Details --> View Snapshots --> VM Snapshot
    • When a user selects this option, the existing VM deployment workflow should be provided to the user. The same VM deployment widget without the first screen where a user needs to provides the zone and template.

Upgrade

  • Deployment of VM from VM snapshots will be available with a fresh deployment as well as an upgraded deployment.
  • In an upgraded deployment, VM deployment will be supported for VM snapshots created both before and after upgrade.

Open Items/Questions

  1. NA

Hypervisors supported

VMware ESXi 5.0 and above.

UI Flow

  • Add a new option ‘Deploy VM from VM snapshot’ to the existing operations supported on VM snapshots.
    • Include it under, Instances --> Details --> View Snapshots --> VM Snapshot
    • When a user selects this option, the existing VM deployment workflow should be provided to the user. The same VM deployment widget without the first screen where a user needs to provides the zone and template.

Upgrade

  • Deployment of VM from VM snapshots will be available with a fresh deployment as well as an upgraded deployment.
  • In an upgraded deployment, VM deployment will be supported for VM snapshots created both before and after upgrade.

Open Items/Questions

...

+----------------+---------------------+------+-----+---------+----------------+
| Field          | Type                | Null | Key | Default | Extra          |
+----------------+---------------------+------+-----+---------+----------------+
| id             | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| uuid           | varchar(40)         | YES  |     | NULL    |                |
| pool_id        | bigint(20) unsigned | NO   | MUL | NULL    |                |
| vm_snapshot_id | bigint(20) unsigned | NO   | MUL | NULL    |                |
| created        | datetime            | NO   |     | NULL    |                |
| job_id         | varchar(255)        | YES  |     | NULL    |                |
| state          | varchar(255)        | YES  |     | NULL    |                |
| status         | varchar(255)        | YES  |     | NULL    |                |
| install_path   | varchar(255)        | YES  |     | NULL    |                |
| template_size  | bigint(20) unsigned | NO   |     | NULL    |                |
| marked_for_gc  | tinyint(1) unsigned | NO   |     | 0       |                |
+----------------+---------------------+------+-----+---------+----------------+