Versions Compared

Key

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

...

This is functional specification for the feature "Base image update facility", the purpose is that we need to be able to update existing VMs VM with new base image.

Feature Specifications

  • When base image update has been performed (e.g. Windows patches applied to the golden master image) then on vm restart there is a need of pointing the VM at the new golden master.
  • We need to be able to update existing VMs with a new base image to support the pooled desktop.
  • Since the template should be immutable, if the new version of template is created, then it is another template. So vm should boot up using the new template.
  • In case of pooled desktops if a VM is already restarted and got pointed to the new updated base image, then when the restart of other VMs it should check for the new updated base image (already downloaded previuosly) and point to that.

...

Architecture and Design description

  • The orchestration being requested is : disconnect the root disk >> destroy root disk >> create a new disk from (possibly new) template >> attach new disk as root disk to the vm
  • Some changes to the RestoreVM api can achieve this as this api persists the netowrk identity.
  • Adding the same what we do for the upgrade of system vm template.
  • The api should just take a reference to the new template.

web services APIs

restoreVirtualMachine: This api is to reset the virtual machine with new volume (used when existing volume got corrupted) .

This needs to be modified by which it checks for the updated image before creating the new volume. If the image got updated then this api has to create the volume from the newly updated image.This internally uses the logic similar to the system vm template upgradeproviding the new template id to the api from which it creates the new volume using the new template id.

UI flow

  • need to be updated

Test cases

...