use of com.emc.storageos.vplexcontroller.VPlexBackendManager in project coprhd-controller by CoprHD.
the class VPlexVmaxMaskingOrchestratorTest method makeExportMasks.
private static void makeExportMasks(URI arrayURI, VPlexVmaxMaskingOrchestrator orca, Set<Map<URI, List<List<StoragePort>>>> portGroups, Set<Map<String, Map<URI, Set<Initiator>>>> initiatorGroups, Map<URI, NetworkLite> networkMap) {
// Iterate through the PortGroups generating zoning info and an ExportMask
Iterator<Map<String, Map<URI, Set<Initiator>>>> igIterator = initiatorGroups.iterator();
for (Map<URI, List<List<StoragePort>>> portGroup : portGroups) {
String maskName = "testMask" + maskCounter.toString();
maskCounter++;
_log.info("Generating ExportMask: " + maskName);
if (!igIterator.hasNext()) {
igIterator = initiatorGroups.iterator();
}
Map<String, Map<URI, Set<Initiator>>> initiatorGroup = igIterator.next();
StoragePortsAssigner assigner = StoragePortsAssignerFactory.getAssignerForZones("vmax", null);
StringSetMap zoningMap = orca.configureZoning(portGroup, initiatorGroup, networkMap, assigner, null, null, null);
VPlexBackendManager mgr = new VPlexBackendManager(null, null, null, null, null, URI.create("project"), URI.create("tenant"), null, null);
mgr.generateExportMask(arrayURI, maskName, portGroup, initiatorGroup, zoningMap);
}
_log.info("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
use of com.emc.storageos.vplexcontroller.VPlexBackendManager in project coprhd-controller by CoprHD.
the class VPlexVmaxMaskingOrchestratorTest method main.
public static void main(String[] args) {
VdcUtil.setDbClient(new DummyDbClient());
PropertyConfigurator.configure("log4j.properties");
_log.info("Beginning logging");
PortAllocatorTestContext contextPrototype = new PortAllocatorTestContext();
StoragePortsAllocator.setContextPrototype(contextPrototype);
VPlexVmaxMaskingOrchestrator orca = new VPlexVmaxMaskingOrchestrator(null, null);
VPlexBackendManager bemgr = new VPlexBackendManager();
orca.setSimulation(true);
URI arrayURI = URI.create("vmaxArray");
Map<String, Set<String>> directorToInitiators = new HashMap<String, Set<String>>();
Map<String, URI> initiatorIdToNetwork = new HashMap<String, URI>();
Map<String, Initiator> initiatorMap = new HashMap<String, Initiator>();
PortAllocationContext context = null;
Map<URI, NetworkLite> networkMap = new HashMap<URI, NetworkLite>();
Map<URI, List<StoragePort>> allocatablePorts = new HashMap<URI, List<StoragePort>>();
URI varray1 = URI.create("varray1");
context = getNet1Ports(networkMap, allocatablePorts);
context = getNet2Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net1", "net2", null, null);
Set<Map<String, Map<URI, Set<Initiator>>>> initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
// orca.getInitiatorGroups(directorToInitiators, initiatorIdToNetwork, initiatorMap);
Set<Map<URI, List<List<StoragePort>>>> portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet1Ports(networkMap, allocatablePorts);
context = getNet0Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net1", "net0", null, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet3Ports(networkMap, allocatablePorts);
context = getNet4Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net3", "net4", null, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet3Ports(networkMap, allocatablePorts);
context = getNet4Ports(networkMap, allocatablePorts);
context = getNet4XPorts(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net3", "net4", "net4X", null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet5Ports(networkMap, allocatablePorts);
context = getNet6Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net5", "net6", null, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet7Ports(networkMap, allocatablePorts);
context = getNet8Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net7", "net8", null, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet573APorts(networkMap, allocatablePorts);
context = getNet573BPorts(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net573A", "net573B", null, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
// switch affinity tests
networkMap.clear();
allocatablePorts.clear();
Map<URI, Map<String, List<StoragePort>>> portSwitchMap = new HashMap<URI, Map<String, List<StoragePort>>>();
Map<URI, PortAllocationContext> contextMap = new HashMap<URI, PortAllocationContext>();
PortAllocationContext context1 = getNet1PortsSA(networkMap, allocatablePorts, portSwitchMap);
PortAllocationContext context2 = getNet2PortsSA(networkMap, allocatablePorts, portSwitchMap);
contextMap.put(context1._initiatorNetwork.getId(), context1);
contextMap.put(context2._initiatorNetwork.getId(), context2);
logNetworks(allocatablePorts);
Map<URI, String> initiatorSwitchMap = new HashMap<URI, String>();
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net11", "net12", null, initiatorSwitchMap);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), getSwitchToPortNumber(networkMap.keySet(), 2), contextMap, null);
makeExportMasksSA(arrayURI, orca, portGroups, initiatorGroups, networkMap, initiatorSwitchMap, portSwitchMap);
}
use of com.emc.storageos.vplexcontroller.VPlexBackendManager in project coprhd-controller by CoprHD.
the class VPlexVnxMaskingOrchestratorTest method main.
public static void main(String[] args) {
VdcUtil.setDbClient(new DummyDbClient());
PropertyConfigurator.configure("log4j.properties");
_log.info("Beginning logging");
PortAllocatorTestContext contextPrototype = new PortAllocatorTestContext();
StoragePortsAllocator.setContextPrototype(contextPrototype);
VPlexVnxMaskingOrchestrator orca = new VPlexVnxMaskingOrchestrator(null, null);
VPlexBackendManager bemgr = new VPlexBackendManager();
orca.setSimulation(true);
URI arrayURI = URI.create("vmaxArray");
Map<String, Set<String>> directorToInitiators = new HashMap<String, Set<String>>();
Map<String, URI> initiatorIdToNetwork = new HashMap<String, URI>();
Map<String, Initiator> initiatorMap = new HashMap<String, Initiator>();
PortAllocationContext context = null;
Map<URI, NetworkLite> networkMap = new HashMap<URI, NetworkLite>();
Map<URI, List<StoragePort>> allocatablePorts = new HashMap<URI, List<StoragePort>>();
URI varray1 = URI.create("varray1");
context = getNet1Ports(networkMap, allocatablePorts);
context = getNet2Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net1", "net2", null, false, null);
Set<Map<String, Map<URI, Set<Initiator>>>> initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, true, true);
Set<Map<URI, List<List<StoragePort>>>> portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet3Ports(networkMap, allocatablePorts);
context = getNet4Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net3", "net4", null, false, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, true, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context = getNet1Ports(networkMap, allocatablePorts);
context = getNet2Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net1", "net2", null, true, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, true, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
context.reinitialize();
networkMap.clear();
allocatablePorts.clear();
context = getNet3Ports(networkMap, allocatablePorts);
context = getNet4Ports(networkMap, allocatablePorts);
logNetworks(allocatablePorts);
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net3", "net4", null, true, null);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, true, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), null, null, null);
makeExportMasks(arrayURI, orca, portGroups, initiatorGroups, networkMap);
// switch affinity tests
networkMap.clear();
allocatablePorts.clear();
Map<URI, Map<String, List<StoragePort>>> portSwitchMap = new HashMap<URI, Map<String, List<StoragePort>>>();
Map<URI, PortAllocationContext> contextMap = new HashMap<URI, PortAllocationContext>();
PortAllocationContext context1 = getNet1PortsSA(networkMap, allocatablePorts, portSwitchMap);
PortAllocationContext context2 = getNet2PortsSA(networkMap, allocatablePorts, portSwitchMap);
contextMap.put(context1._initiatorNetwork.getId(), context1);
contextMap.put(context2._initiatorNetwork.getId(), context2);
logNetworks(allocatablePorts);
Map<URI, String> initiatorSwitchMap = new HashMap<URI, String>();
getInitiatorsVplex154Clus1(directorToInitiators, initiatorIdToNetwork, initiatorMap, "net11", "net12", null, true, initiatorSwitchMap);
initiatorGroups = bemgr.getInitiatorGroups("test", directorToInitiators, initiatorIdToNetwork, initiatorMap, false, true);
portGroups = orca.getPortGroups(allocatablePorts, networkMap, varray1, initiatorGroups.size(), getSwitchToPortNumber(networkMap.keySet(), 2), contextMap, null);
makeExportMasksSA(arrayURI, orca, portGroups, initiatorGroups, networkMap, initiatorSwitchMap, portSwitchMap);
}
use of com.emc.storageos.vplexcontroller.VPlexBackendManager in project coprhd-controller by CoprHD.
the class VPlexVnxMaskingOrchestratorTest method makeExportMasksSA.
private static void makeExportMasksSA(URI arrayURI, VPlexVnxMaskingOrchestrator orca, Set<Map<URI, List<List<StoragePort>>>> portGroups, Set<Map<String, Map<URI, Set<Initiator>>>> initiatorGroups, Map<URI, NetworkLite> networkMap, Map<URI, String> initiatorSwitchMap, Map<URI, Map<String, List<StoragePort>>> portSwitchMap) {
// Iterate through the PortGroups generating zoning info and an ExportMask
Iterator<Map<String, Map<URI, Set<Initiator>>>> igIterator = initiatorGroups.iterator();
for (Map<URI, List<List<StoragePort>>> portGroup : portGroups) {
String maskName = "testMask" + maskCounter.toString();
maskCounter++;
_log.info("Generating ExportMask: " + maskName);
if (!igIterator.hasNext()) {
igIterator = initiatorGroups.iterator();
}
Map<String, Map<URI, Set<Initiator>>> initiatorGroup = igIterator.next();
StoragePortsAssigner assigner = StoragePortsAssignerFactory.getAssignerForZones("vnxblock", null);
StringSetMap zoningMap = orca.configureZoning(portGroup, initiatorGroup, networkMap, assigner, initiatorSwitchMap, portSwitchMap, VPlexVmaxMaskingOrchestratorTest.getPortSwitchNameMap(portSwitchMap));
VPlexBackendManager mgr = new VPlexBackendManager(null, null, null, null, null, URI.create("project"), URI.create("tenant"), null, null);
ExportMask exportMask = mgr.generateExportMask(arrayURI, maskName, portGroup, initiatorGroup, zoningMap);
}
_log.info("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
use of com.emc.storageos.vplexcontroller.VPlexBackendManager in project coprhd-controller by CoprHD.
the class VPlexXtremIOMaskingOrchestratorTest method makeExportMasksSA.
/**
* Make export masks with switch affinity
*
* @param arrayURI
* @param orca
* @param portGroups
* @param initiatorGroups
* @param networkMap
*/
private static void makeExportMasksSA(URI arrayURI, VplexXtremIOMaskingOrchestrator orca, Set<Map<URI, List<List<StoragePort>>>> portGroups, Set<Map<String, Map<URI, Set<Initiator>>>> initiatorGroups, Map<URI, NetworkLite> networkMap, Map<URI, String> initiatorSwitchMap, Map<URI, Map<String, List<StoragePort>>> portSwitchMap) {
// Iterate through the PortGroups generating zoning info and an ExportMask
Iterator<Map<String, Map<URI, Set<Initiator>>>> igIterator = initiatorGroups.iterator();
for (Map<URI, List<List<StoragePort>>> portGroup : portGroups) {
String maskName = "testMask" + maskCounter.toString();
maskCounter++;
_log.info("Generating ExportMask: " + maskName);
if (!igIterator.hasNext()) {
igIterator = initiatorGroups.iterator();
}
Map<String, Map<URI, Set<Initiator>>> initiatorGroup = igIterator.next();
StoragePortsAssigner assigner = StoragePortsAssignerFactory.getAssignerForZones("vmax", null);
StringSetMap zoningMap = orca.configureZoning(portGroup, initiatorGroup, networkMap, assigner, initiatorSwitchMap, portSwitchMap, VPlexVmaxMaskingOrchestratorTest.getPortSwitchNameMap(portSwitchMap));
VPlexBackendManager mgr = new VPlexBackendManager(null, null, null, null, null, URI.create("project"), URI.create("tenant"), null, null);
ExportMask exportMask = mgr.generateExportMask(arrayURI, maskName, portGroup, initiatorGroup, zoningMap);
}
_log.info("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
}
Aggregations