use of com.emc.storageos.model.dr.SiteAddParam in project coprhd-controller by CoprHD.
the class DisasterRecovery method save.
@FlashException(keep = true, referrer = { "create", "edit" })
@Restrictions({ @Restrict("SECURITY_ADMIN"), @Restrict("RESTRICTED_SECURITY_ADMIN") })
public static void save(DisasterRecoveryForm disasterRecovery) {
if (disasterRecovery != null) {
disasterRecovery.validate("disasterRecovery");
if (Validation.hasErrors()) {
Common.handleError();
}
if (disasterRecovery.isNew()) {
SiteAddParam standbySite = new SiteAddParam();
standbySite.setName(disasterRecovery.name);
standbySite.setVip(disasterRecovery.VirtualIP);
standbySite.setUsername(disasterRecovery.userName);
standbySite.setPassword(disasterRecovery.userPassword);
standbySite.setDescription(disasterRecovery.description);
SiteRestRep result = DisasterRecoveryUtils.addStandby(standbySite);
flash.success(MessagesUtils.get(SAVED_SUCCESS, result.getName()));
list();
} else {
SiteUpdateParam siteUpdateParam = new SiteUpdateParam();
siteUpdateParam.setName(disasterRecovery.name);
siteUpdateParam.setDescription(disasterRecovery.description);
DisasterRecoveryUtils.updateSite(disasterRecovery.id, siteUpdateParam);
flash.success(MessagesUtils.get(UPDATE_SUCCESS, disasterRecovery.name));
list();
}
}
}
use of com.emc.storageos.model.dr.SiteAddParam in project coprhd-controller by CoprHD.
the class DisasterRecoveryServiceTest method testAddStandby.
@Test
public void testAddStandby() {
// prepare parameters for adding standby
String name = "new-added-standby";
String desc = "standby-site-1-description";
String vip = "10.247.101.112";
String username = "root";
String password = "password";
String uuid = "new-added-standby-site-1";
String version = "vipr-2.4.0.0.100";
HashMap<String, String> hostIPv4AddressMap = new HashMap<String, String>();
hostIPv4AddressMap.put("vipr1", "10.247.101.111");
SiteConfigRestRep config = new SiteConfigRestRep();
config.setUuid(uuid);
config.setVip(vip);
config.setHostIPv4AddressMap(hostIPv4AddressMap);
config.setHostIPv6AddressMap(new HashMap<String, String>());
com.emc.vipr.client.core.Site site = mock(com.emc.vipr.client.core.Site.class);
doReturn(config).when(site).getStandbyConfig();
// mock a ViPRCoreClient with specific UUID
ViPRCoreClient mockViPRCoreClient = mock(ViPRCoreClient.class);
doReturn(mockViPRCoreClient).when(drService).createViPRCoreClient(vip, username, password);
doReturn(site).when(mockViPRCoreClient).site();
// mock a ViPRSystemClient with specific UUID
doReturn(mockViPRSystemClient(version)).when(drService).createViPRSystemClient(vip, username, password);
// mock a local VDC
List<Configuration> allConfigs = new ArrayList<>();
allConfigs.add(standbySite1.toConfiguration());
allConfigs.add(standbySite2.toConfiguration());
allConfigs.add(primarySite.toConfiguration());
doReturn(allConfigs).when(coordinator).queryAllConfiguration(String.format("%s/vdc1", Site.CONFIG_KIND));
doReturn(standbySite1.toConfiguration()).when(coordinator).queryConfiguration(String.format("%s/vdc1", Site.CONFIG_KIND), standbySite1.getUuid());
doReturn(standbySite2.toConfiguration()).when(coordinator).queryConfiguration(String.format("%s/vdc1", Site.CONFIG_KIND), standbySite2.getUuid());
// mock new added site
Site newAdded = new Site();
newAdded.setUuid(uuid);
newAdded.setVip(vip);
newAdded.getHostIPv4AddressMap().put("vipr1", "1.1.1.1");
newAdded.setState(SiteState.ACTIVE);
doReturn(newAdded.toConfiguration()).when(coordinator).queryConfiguration(String.format("%s/vdc1", Site.CONFIG_KIND), newAdded.getUuid());
doReturn(new PropertyInfoExt()).when(coordinator).getTargetInfo(PropertyInfoExt.class);
// mock checking and validating methods
doNothing().when(drService).precheckForSiteNumber();
doNothing().when(drService).precheckForStandbyAdd(any(SiteConfigRestRep.class), any(ViPRCoreClient.class));
doNothing().when(drService).validateAddParam(any(SiteAddParam.class), any(List.class));
doReturn(standbySite1).when(drUtil).getActiveSite();
doReturn(secretKey).when(apiSignatureGeneratorMock).getSignatureKey(SignatureKeyType.INTERVDC_API);
// assemble parameters, add standby
SiteAddParam params = new SiteAddParam();
params.setName(name);
params.setDescription(desc);
params.setVip(vip);
params.setUsername(username);
params.setPassword(password);
SiteRestRep rep = drService.addStandby(params);
// verify the REST response
assertEquals(name, rep.getName());
assertEquals(desc, rep.getDescription());
assertEquals(vip, rep.getVipEndpoint());
}
Aggregations