private void addVolumesToParkingStorageGroup(StorageSystem storage,String policyName,Set<String> volumeDeviceIds) throws Exception {
  String[] tokens=policyName.split(Constants.SMIS_PLUS_REGEX);
  CIMObjectPath groupPath=_helper.getVolumeGroupBasedOnSLO(storage,storage,tokens[0],tokens[1],tokens[2]);
  if (groupPath == null) {
    groupPath=_helper.createVolumeGroupBasedOnSLO(storage,storage,tokens[0],tokens[1],tokens[2]);
  }
  CIMArgument[] inArgs=_helper.getAddVolumesToMaskingGroupInputArguments(storage,groupPath,volumeDeviceIds);
  CIMArgument[] outArgs=new CIMArgument[5];
  SmisJob addVolumesToSGJob=new SmisSynchSubTaskJob(null,storage.getId(),SmisConstants.ADD_MEMBERS);
  _helper.invokeMethodSynchronously(storage,_cimPath.getControllerConfigSvcPath(storage),"AddMembers",inArgs,outArgs,addVolumesToSGJob);
}

private void addVolumesToParkingStorageGroup ( StorageSystem storage , String policyName , Set < String > volumeDeviceIds ) throws Exception { String [ ] tokens = policyName . split ( Constants . SMIS_PLUS_REGEX ) ; CIMObjectPath groupPath = _helper . getVolumeGroupBasedOnSLO ( storage , storage , tokens [ 0 ] , tokens [ 1 ] , tokens [ 2 ] ) ; if ( groupPath == null ) { groupPath = _helper . createVolumeGroupBasedOnSLO ( storage , storage , tokens [ 0 ] , tokens [ 1 ] , tokens [ 2 ] ) ; } CIMArgument [ ] inArgs = _helper . getAddVolumesToMaskingGroupInputArguments ( storage , groupPath , volumeDeviceIds ) ; CIMArgument [ ] outArgs = new CIMArgument [ 5 ] ; SmisJob addVolumesToSGJob = new SmisSynchSubTaskJob ( null , storage . getId ( ) , SmisConstants . ADD_MEMBERS ) ; _helper . invokeMethodSynchronously ( storage , _cimPath . getControllerConfigSvcPath ( storage ) , "AddMembers" , inArgs , outArgs , addVolumesToSGJob ) ; }
this method is used for vmax3 to add volumes to parking storage group once volumes are unexported .
