use of com.emc.storageos.db.client.model.ProtectionSystem in project coprhd-controller by CoprHD.
the class RecoverPointSchedulerTest method fireProtectionPlacementRulesCLRValidTest.
@Test
public void fireProtectionPlacementRulesCLRValidTest() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, ClassNotFoundException, SecurityException, NoSuchMethodException {
ProtectionSystem ps = buildProtectionSystemWithCapacity();
RPProtectionRecommendation ppm1 = new RPProtectionRecommendation();
fillRecommendationObject(ppm1, ps, "1", "2", nh1, nh2, pool1, poolA, 1);
RPProtectionRecommendation ppm2 = new RPProtectionRecommendation();
fillRecommendationObject(ppm2, ps, "1", "2", nh1, nh2, pool1, poolB, 1);
RPProtectionRecommendation ppm3 = new RPProtectionRecommendation();
fillRecommendationObject(ppm3, ps, "1", "2", nh1, nh2, pool2, poolA, 1);
RPProtectionRecommendation ppm4 = new RPProtectionRecommendation();
fillRecommendationObject(ppm4, ps, "1", "2", nh1, nh2, pool3, poolB, 1);
assertTrue(invokeFireProtectionPlacementRules(ps, ppm1, 1));
assertTrue(invokeFireProtectionPlacementRules(ps, ppm2, 1));
assertTrue(invokeFireProtectionPlacementRules(ps, ppm3, 1));
assertTrue(invokeFireProtectionPlacementRules(ps, ppm4, 1));
}
use of com.emc.storageos.db.client.model.ProtectionSystem in project coprhd-controller by CoprHD.
the class RecoverPointSchedulerTest method buildProtectionSystemWithCapacity.
private ProtectionSystem buildProtectionSystemWithCapacity() {
ProtectionSystem ps = new ProtectionSystem();
ps.setId(URI.create("PSURI_CAPACITY"));
// set the stats
ps.setCgCapacity(312L);
ps.setCgCount(12L);
ps.setLabel("rp_protection_system_capacity");
Map<String, String> siteVolCapacity = new HashMap<String, String>();
siteVolCapacity.put("1", "512");
siteVolCapacity.put("2", "512");
Map<String, String> siteVolCount = new HashMap<String, String>();
siteVolCount.put("1", "100");
siteVolCount.put("2", "100");
ps.setSiteVolumeCapacity(new StringMap(siteVolCapacity));
ps.setSiteVolumeCount(new StringMap(siteVolCount));
return ps;
}
use of com.emc.storageos.db.client.model.ProtectionSystem in project coprhd-controller by CoprHD.
the class RecoverPointSchedulerTest method fireProtectionPlacementRulesCRRSite1NoCapacityTest.
@Test
public void fireProtectionPlacementRulesCRRSite1NoCapacityTest() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, ClassNotFoundException, SecurityException, NoSuchMethodException {
ProtectionSystem ps = buildProtectionSystemWithCapacity();
// set the remote site vol capacity to 1 less than full.
ps.getSiteVolumeCount().remove("1");
ps.getSiteVolumeCount().put("1", "512");
RPProtectionRecommendation ppm1 = new RPProtectionRecommendation();
fillRecommendationObject(ppm1, ps, "1", "2", nh1, nh2, pool1, poolA, 1);
RPProtectionRecommendation ppm2 = new RPProtectionRecommendation();
fillRecommendationObject(ppm2, ps, "1", "2", nh1, nh2, pool1, poolB, 1);
RPProtectionRecommendation ppm3 = new RPProtectionRecommendation();
fillRecommendationObject(ppm3, ps, "1", "2", nh1, nh2, pool2, poolA, 1);
RPProtectionRecommendation ppm4 = new RPProtectionRecommendation();
fillRecommendationObject(ppm4, ps, "1", "2", nh1, nh2, pool3, poolB, 1);
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm1, 1));
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm2, 1));
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm3, 1));
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm4, 1));
}
use of com.emc.storageos.db.client.model.ProtectionSystem in project coprhd-controller by CoprHD.
the class RecoverPointSchedulerTest method fireProtectionPlacementRulesCRRSite2NoCapacityTest.
@Test
public void fireProtectionPlacementRulesCRRSite2NoCapacityTest() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, ClassNotFoundException, SecurityException, NoSuchMethodException {
ProtectionSystem ps = buildProtectionSystemWithCapacity();
// set the remote site vol capacity to 1 less than full.
ps.getSiteVolumeCount().remove("2");
ps.getSiteVolumeCount().put("2", "511");
RPProtectionRecommendation ppm1 = new RPProtectionRecommendation();
fillRecommendationObject(ppm1, ps, "1", "2", nh1, nh2, pool1, poolA, 1);
RPProtectionRecommendation ppm2 = new RPProtectionRecommendation();
fillRecommendationObject(ppm2, ps, "1", "2", nh1, nh2, pool1, poolB, 1);
RPProtectionRecommendation ppm3 = new RPProtectionRecommendation();
fillRecommendationObject(ppm3, ps, "1", "2", nh1, nh2, pool2, poolA, 1);
RPProtectionRecommendation ppm4 = new RPProtectionRecommendation();
fillRecommendationObject(ppm4, ps, "1", "2", nh1, nh2, pool3, poolB, 1);
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm1, 1));
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm2, 1));
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm3, 1));
assertTrue(!invokeFireProtectionPlacementRules(ps, ppm4, 1));
}
use of com.emc.storageos.db.client.model.ProtectionSystem in project coprhd-controller by CoprHD.
the class RecoverPointSchedulerTest method fireProtectionPlacementRulesCRRValidCapacityTest.
@Test
public void fireProtectionPlacementRulesCRRValidCapacityTest() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, ClassNotFoundException, SecurityException, NoSuchMethodException {
ProtectionSystem ps = buildProtectionSystemWithCapacity();
RPProtectionRecommendation ppm1 = new RPProtectionRecommendation();
fillRecommendationObject(ppm1, ps, "1", "2", nh1, nh2, pool1, poolA, 1);
RPProtectionRecommendation ppm2 = new RPProtectionRecommendation();
fillRecommendationObject(ppm2, ps, "1", "2", nh1, nh2, pool1, poolB, 1);
RPProtectionRecommendation ppm3 = new RPProtectionRecommendation();
fillRecommendationObject(ppm3, ps, "1", "2", nh1, nh2, pool2, poolA, 1);
RPProtectionRecommendation ppm4 = new RPProtectionRecommendation();
fillRecommendationObject(ppm4, ps, "1", "2", nh1, nh2, pool3, poolB, 1);
assertTrue(invokeFireProtectionPlacementRules(ps, ppm1, 1));
assertTrue(invokeFireProtectionPlacementRules(ps, ppm2, 1));
assertTrue(invokeFireProtectionPlacementRules(ps, ppm3, 1));
assertTrue(invokeFireProtectionPlacementRules(ps, ppm4, 1));
}
Aggregations