harikrishna-patnala opened a new pull request #4871:
URL: https://github.com/apache/cloudstack/pull/4871


   
   
   ### Description
   
   Datastore cluster as a primary storage support is already there. But if any 
changes at vCenter to datastore cluster like addition/removal of datastore is 
not synchronised with CloudStack directly. It needs removal of primary storage 
from CloudStack and add it again to CloudStack.
   
   Here synchronisation of datastore cluster is fixed without need to remove or 
add the datastore cluster.
   1. A new API is introduced syncStoragePool which takes datastore cluster 
storage pool UUID as the parameter. This API checks if there any changes in the 
datastore cluster and updates management server accordingly.
   2. During synchronisation if a new child datastore is found in datastore 
cluster, then management server will create a new child storage pool in 
database under the datastore cluster. If the new child storage pool is already 
added as an individual storage pool then the existing storage pool entry will 
be converted to child storage pool (instead of creating a new storage pool 
entry)
   3. During synchronisaton if the existing child datastore in CloudStack is 
found to be removed on vCenter then management server removes that child 
datastore from datastore cluster and makes it an individual storage pool.
   The above behaviour is on par with the vCenter behaviour when adding and 
removing child datastore.<!--- Describe your changes in DETAIL - And how has 
behaviour functionally changed. -->
   
   <!-- For new features, provide link to FS, dev ML discussion etc. -->
   <!-- In case of bug fix, the expected and actual behaviours, steps to 
reproduce. -->
   
   <!-- When "Fixes: #<id>" is specified, the issue/PR will automatically be 
closed when this PR gets merged -->
   <!-- For addressing multiple issues/PRs, use multiple "Fixes: #<id>" -->
   <!-- Fixes: # -->
   
   <!--- 
*********************************************************************************
 -->
   <!--- 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)
   - [ ] 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
   
   
   ### Screenshots (if appropriate):
   
   
   ### How Has This Been Tested?
   <!-- Please describe in detail how you tested your changes. -->
   <!-- Include details of your testing environment, and the tests you ran to 
-->
   <!-- see how your change affects other areas of the code, etc. -->
   Added datastore cluster with two child datastores as a primary storage pool 
into CloudStack
   Case 1: Removal of child datastore from vCenter
   1. Take out one child datastore from datastore cluster on vCenter   
   2. Call syncStoragePool API on the datastore cluster
   3. child datastore from CloudStack is removed from datastore cluster and 
made it as an individual storage pool
   Case 2: Addition of new datastore into datastore cluster from vCenter
   1. Add a new storage pool to the datastore cluster on vCenter
   2. Call syncStoragePool API on the datastore cluster
   3. A new child datastore is created under datastore cluster in CloudStack
   
   <!-- Please read the 
[CONTRIBUTING](https://github.com/apache/cloudstack/blob/master/CONTRIBUTING.md)
 document -->
   


-- 
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