...
- 'cloud'.'vmware_dc' table to track all DC specific information along with details of resources & vCenter.
- Columns in this table are id, vCenter host/ip, DC name, DC Mor, guid
- id is primary key field of this table
- Implement Dao & VO for this table.
- 'cloud'.'zone_dc_map' table will be added to persist the mapping of zone to DC.
- Columns in this table are id, vmware_dc_id, zone_id
- Foreign key id from vmware_dc table
- Foreign key id from data_center table
- Implement Dao & VO for this table.
- 'cloud'.'cluster_vsm_map' would be removed.
- 'cloud'.'zone_vsm_map' would be added. Also a zone can be associated with more than 1 VSM instances.
- Columns in this table are id, zone_id & vsm_id where id is Primary key of this table.
- Foreign key zone_id from data_center table.
- Foreign key vsm_id from virtual_supervisor_module table.
- Implement Dao & VO classes for this table.
Web Services APIs
- AddCluster addCluster will be modified
- Interface perspective - Make parameters vCenter host/ip, credentials and DC name optional based on zone id's presence in zone_dc_map.
- associateZoneWithDc -
- Maps a cloudstack zone with specified VMware DC.
- Throws RemoteException if vCenter is not reachable or any other server side Exception caught.
- Upon failure in successful parameter validation throw InvalidParameterValueException
- Parameters are,
- zoneId - required
- dcName - required
- vCenterHost - required
- vCenterUser - required
- vCenterPassword - required
- disAssocaiteZoneWithDc -
- Unmaps a cloudstack zone from a VMWare DC that is associated with it earlier.
- If no association exists already, then throw CloudRuntimeException.
- If no such zone exists, throw InvalidParameterValueException
- If zone is have one or more clusters / elements, then throw ResourceInUseException - Zone should be empty (no clusters or other elements like Nexus 1000v VSM instance)
- Parameter are,
- zoneId - required
- disassociateZoneWithDc
UI Flow
- Changes required in UI for live migrating a volume from one storage pool to another.
- Add Cluster form in zone wizard
- Add Cluster wizard
- Add NexusVSM instance to zone
- Add ASA instance to zone
...
{"serverDuration": 142, "requestCorrelationId": "be0222414405366b"}