GabrielBrascher opened a new pull request #4915:
URL: https://github.com/apache/cloudstack/pull/4915


   ### 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
   <!--- 
*********************************************************************************
 -->
   <!--- NOTE: AUTOMATATION USES THE DESCRIPTIONS TO SET LABELS AND PRODUCE 
DOCUMENTATION. -->
   <!--- PLEASE PUT AN 'X' in only **ONE** box -->
   <!--- 
*********************************************************************************
 -->
   
   ### Types of changes
   
   - [ ] Breaking change (fix or feature that would cause existing 
functionality to change)
   - [ ] New feature (non-breaking change which adds functionality)
   - [X] Bug fix (non-breaking change which fixes an issue)
   - [X] 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
   
   - [X] Major
   - [ ] Minor
   
   #### Bug Severity
   
   - [ ] BLOCKER
   - [ ] Critical
   - [X] 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)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to