Skip to content

Allow to upgrade service offerings from local <> shared storage pools#4915

Merged
yadvr merged 3 commits intoapache:4.15from
CLDIN:migrate-local-shared
Apr 30, 2021
Merged

Allow to upgrade service offerings from local <> shared storage pools#4915
yadvr merged 3 commits intoapache:4.15from
CLDIN:migrate-local-shared

Conversation

@GabrielBrascher
Copy link
Copy Markdown
Member

Description

This PR addresses the issue raised at #4545 (Fail to change Service offering from local <> shared storage).

When upgrading a VM service offering it is validated if the new offering has the same storage scope (local or shared) as the current offering. I think that the validation makes sense in a way of preventing running Root disks with an offering that does not match the current storage pool. However, the validation only compares both offerings and does not consider that it is possible to migrate Volumes between local <> shared storage pools.

The idea behind this implementation is that CloudStack should check the scope of the current storage pool which the ROOT volume is allocated; this, it is possible to migrate the volume between storage pools and list/upgrade according to the offerings that are supported for such pool.

This PR also fixes an issue where the API command that lists offerings for a VM should follow the same idea and list based on the storage pool that the volume is allocated and not the previous offering.

Fixes: #4545

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

How Has This Been Tested?

Prior the fix:

  1. Migrate volume from shared to local (works)
  2. update VM offering for local storage (fails)

With the fix:

  1. Migrate volume from shared to local (works)
  2. update VM offering for local storage (works if the offering was configured for local storage, if it was set for shared storage then it fails)

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fail to change Service offering from local <> shared storage

6 participants