Search in sources :

Example 1 with VPlexPerpetualCSVFileCollector

use of com.emc.storageos.volumecontroller.impl.plugins.metering.vplex.VPlexPerpetualCSVFileCollector in project coprhd-controller by CoprHD.

the class VPlexMeteringTest method testVPlexPerpetualCSVFileCollector.

@Test
public void testVPlexPerpetualCSVFileCollector() throws InstantiationException, IllegalAccessException {
    MockDbClient mockDbClient = new MockDbClient();
    mockStorageDriverManager();
    StorageSystem storageSystem = mockStorageSystem("vplex-1", "000123ABC000XYZ");
    mockDbClient.MOCK_DB.put(storageSystem.getId(), storageSystem);
    int directorIndex = 1;
    String[] directors = DIRECTORS.split(",");
    for (String directorName : directors) {
        int adapterIndex = (directorIndex % 2);
        String aOrB = directorName.substring(directorName.length() - 1);
        String adapterSerial = String.format("CF23K00000%d%d", directorIndex, adapterIndex);
        StorageHADomain director = mockVPlexAdapter(storageSystem, directorName, adapterSerial);
        mockDbClient.MOCK_DB.put(director.getId(), director);
        for (int cpuIndex = 0; cpuIndex < 2; cpuIndex++) {
            for (int portIndex = 0; portIndex < PORT_PER_DIRECTOR; portIndex++) {
                String portName = String.format("%s%d-FC%02d", aOrB, cpuIndex, portIndex);
                String wwn = String.format("5C:CC:DD:EE:FF:00:%02d:%02d", directorIndex, portIndex);
                StoragePort port = mockStoragePort(director, portName, wwn, adapterSerial);
                mockDbClient.MOCK_DB.put(port.getId(), port);
            }
        }
        directorIndex++;
    }
    AccessProfile accessProfile = new AccessProfile();
    accessProfile.setIpAddress(HOST);
    accessProfile.setUserName(USERNAME);
    accessProfile.setPassword(PASSWORD);
    accessProfile.setSystemId(storageSystem.getId());
    Map<String, Object> context = new HashMap<>();
    context.put(Constants.dbClient, mockDbClient);
    context.put(Constants._Stats, new LinkedList<Stat>());
    context.put(Constants._TimeCollected, System.currentTimeMillis());
    VPlexPerpetualCSVFileCollector collector = new VPlexPerpetualCSVFileCollector();
    PortMetricsProcessor portMetricsProcessor = mockPortMetricsProcessor(mockDbClient);
    collector.setPortMetricsProcessor(portMetricsProcessor);
    collector.collect(accessProfile, context);
}
Also used : HashMap(java.util.HashMap) StoragePort(com.emc.storageos.db.client.model.StoragePort) AccessProfile(com.emc.storageos.plugins.AccessProfile) Constraint(com.emc.storageos.db.client.constraint.Constraint) Stat(com.emc.storageos.db.client.model.Stat) PortMetricsProcessor(com.emc.storageos.volumecontroller.impl.plugins.metering.smis.processor.PortMetricsProcessor) DataObject(com.emc.storageos.db.client.model.DataObject) DiscoveredDataObject(com.emc.storageos.db.client.model.DiscoveredDataObject) StorageHADomain(com.emc.storageos.db.client.model.StorageHADomain) VPlexPerpetualCSVFileCollector(com.emc.storageos.volumecontroller.impl.plugins.metering.vplex.VPlexPerpetualCSVFileCollector) StorageSystem(com.emc.storageos.db.client.model.StorageSystem) Test(org.junit.Test)

Aggregations

Constraint (com.emc.storageos.db.client.constraint.Constraint)1 DataObject (com.emc.storageos.db.client.model.DataObject)1 DiscoveredDataObject (com.emc.storageos.db.client.model.DiscoveredDataObject)1 Stat (com.emc.storageos.db.client.model.Stat)1 StorageHADomain (com.emc.storageos.db.client.model.StorageHADomain)1 StoragePort (com.emc.storageos.db.client.model.StoragePort)1 StorageSystem (com.emc.storageos.db.client.model.StorageSystem)1 AccessProfile (com.emc.storageos.plugins.AccessProfile)1 PortMetricsProcessor (com.emc.storageos.volumecontroller.impl.plugins.metering.smis.processor.PortMetricsProcessor)1 VPlexPerpetualCSVFileCollector (com.emc.storageos.volumecontroller.impl.plugins.metering.vplex.VPlexPerpetualCSVFileCollector)1 HashMap (java.util.HashMap)1 Test (org.junit.Test)1