Search in sources :

Example 1 with SiteAddParam

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();
        }
    }
}
Also used : SiteAddParam(com.emc.storageos.model.dr.SiteAddParam) SiteRestRep(com.emc.storageos.model.dr.SiteRestRep) SiteUpdateParam(com.emc.storageos.model.dr.SiteUpdateParam) FlashException(controllers.util.FlashException) Restrictions(controllers.deadbolt.Restrictions)

Example 2 with SiteAddParam

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());
}
Also used : Site(com.emc.storageos.coordinator.client.model.Site) ViPRCoreClient(com.emc.vipr.client.ViPRCoreClient) SiteRestRep(com.emc.storageos.model.dr.SiteRestRep) Configuration(com.emc.storageos.coordinator.common.Configuration) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Matchers.anyString(org.mockito.Matchers.anyString) SiteAddParam(com.emc.storageos.model.dr.SiteAddParam) PropertyInfoExt(com.emc.storageos.coordinator.client.model.PropertyInfoExt) SiteConfigRestRep(com.emc.storageos.model.dr.SiteConfigRestRep) SiteList(com.emc.storageos.model.dr.SiteList) List(java.util.List) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) Test(org.junit.Test)

Aggregations

SiteAddParam (com.emc.storageos.model.dr.SiteAddParam)2 SiteRestRep (com.emc.storageos.model.dr.SiteRestRep)2 PropertyInfoExt (com.emc.storageos.coordinator.client.model.PropertyInfoExt)1 Site (com.emc.storageos.coordinator.client.model.Site)1 Configuration (com.emc.storageos.coordinator.common.Configuration)1 SiteConfigRestRep (com.emc.storageos.model.dr.SiteConfigRestRep)1 SiteList (com.emc.storageos.model.dr.SiteList)1 SiteUpdateParam (com.emc.storageos.model.dr.SiteUpdateParam)1 ViPRCoreClient (com.emc.vipr.client.ViPRCoreClient)1 Restrictions (controllers.deadbolt.Restrictions)1 FlashException (controllers.util.FlashException)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 Test (org.junit.Test)1 Matchers.anyString (org.mockito.Matchers.anyString)1