Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-9539

Support changing Service offering for instance with VM Snapshots

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 4.10.0.0
    • None
    • Security Level: Public (Anyone can view this level - this is the default.)
    • None

    Description

      Actual behaviour

      CloudStack doesn't support changing service offering for vm instances which have vm snapshots, they should be removed before changing service offering.

      Goal

      Extend actual behaviour by supporting changing service offering for vms which have vm snapshots. In that case, previously taken snapshots (if reverted) should use previous service offering, future snapshots should use the newest.

      Proposed solution:

      1. Adding service_offering_id column on vm_snapshots table: This way snapshot can be reverted to original state even though service offering can be changed for vm instance.
      NOTE: Existing vm snapshots are populated on update script by UPDATE vm_snapshots s JOIN vm_instance v ON v.id = s.vm_id SET s.service_offering_id = v.service_offering_id;

      2. New vm snapshots will use instance vm service offering id as service_offering_id

      3. Revert to vm snapshots should use vm snapshot's service_offering_id value.

      Example use case:

      • Deploy vm using service offering A
      • Take vm snapshot -> snap1 (service offering A)
      • Stop vm
      • Change vm service offering to B
      • Revert to VM snapshot snap 1
      • Start vm

      It is expected that vm has service offering A after last step

      Attachments

        Issue Links

          Activity

            People

              nicolas.vazquez Nicolas Vazquez
              nicolas.vazquez Nicolas Vazquez
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: