Search in sources :

Example 1 with Get

use of com.emc.storageos.hds.model.Get in project coprhd-controller by CoprHD.

the class HDSApiExportManager method getHostStorageDomain.

/**
 * Return the existing HSD's configured on the storage array.
 *
 * @param systemId
 * @param type
 * @return
 * @throws Exception
 */
public HostStorageDomain getHostStorageDomain(String systemId, String hsdId) throws Exception {
    InputStream responseStream = null;
    HostStorageDomain hsd = null;
    try {
        Map<String, Object> attributeMap = new HashMap<String, Object>();
        StorageArray array = new StorageArray(systemId);
        attributeMap.put(HDSConstants.STORAGEARRAY, array);
        Get getOp = new Get(HDSConstants.STORAGEARRAY);
        attributeMap.put(HDSConstants.GET, getOp);
        HostStorageDomain inputHsd = new HostStorageDomain(hsdId);
        attributeMap.put(HDSConstants.HOST_STORAGE_DOMAIN, inputHsd);
        String getHSDQuery = InputXMLGenerationClient.getInputXMLString(HDSConstants.GET_HSD_INFO_OP, attributeMap, HDSConstants.HITACHI_INPUT_XML_CONTEXT_FILE, HDSConstants.HITACHI_SMOOKS_CONFIG_FILE);
        log.info("Query to get HostStorageDomain: {}", getHSDQuery);
        URI endpointURI = hdsApiClient.getBaseURI();
        ClientResponse response = hdsApiClient.post(endpointURI, getHSDQuery);
        if (HttpStatus.SC_OK == response.getStatus()) {
            responseStream = response.getEntityInputStream();
            JavaResult javaResult = SmooksUtil.getParsedXMLJavaResult(responseStream, HDSConstants.SMOOKS_CONFIG_FILE);
            verifyErrorPayload(javaResult);
            hsd = javaResult.getBean(HostStorageDomain.class);
        } else {
            throw HDSException.exceptions.invalidResponseFromHDS(String.format("Not able to query HostStorageDomain due to invalid response %1$s from server", response.getStatus()));
        }
    } finally {
        if (null != responseStream) {
            try {
                responseStream.close();
            } catch (IOException e) {
                log.warn("IOException occurred while closing the response stream");
            }
        }
    }
    return hsd;
}
Also used : ClientResponse(com.sun.jersey.api.client.ClientResponse) HostStorageDomain(com.emc.storageos.hds.model.HostStorageDomain) HashMap(java.util.HashMap) InputStream(java.io.InputStream) Get(com.emc.storageos.hds.model.Get) IOException(java.io.IOException) URI(java.net.URI) JavaResult(org.milyn.payload.JavaResult) StorageArray(com.emc.storageos.hds.model.StorageArray)

Example 2 with Get

use of com.emc.storageos.hds.model.Get in project coprhd-controller by CoprHD.

the class HDSApiExportManager method getHostsRegisteredWithDM.

/**
 * Gets host registered with HiCommand Device Manager.
 *
 * @return
 * @throws Exception
 */
@SuppressWarnings("unchecked")
public List<HDSHost> getHostsRegisteredWithDM() throws Exception {
    InputStream responseStream = null;
    List<HDSHost> hostList = null;
    try {
        Map<String, Object> attributeMap = new HashMap<String, Object>();
        Get getOp = new Get("Host");
        attributeMap.put("Get", getOp);
        String getHostQuery = InputXMLGenerationClient.getInputXMLString("getHostsInfo", attributeMap, HDSConstants.HITACHI_INPUT_XML_CONTEXT_FILE, HDSConstants.HITACHI_SMOOKS_CONFIG_FILE);
        log.info("Query to Add host: {}", getHostQuery);
        URI endpointURI = hdsApiClient.getBaseURI();
        ClientResponse response = hdsApiClient.post(endpointURI, getHostQuery);
        if (HttpStatus.SC_OK == response.getStatus()) {
            responseStream = response.getEntityInputStream();
            JavaResult javaResult = SmooksUtil.getParsedXMLJavaResult(responseStream, HDSConstants.HOST_INFO_SMOOKS_CONFIG_FILE);
            verifyErrorPayload(javaResult);
            hostList = (List<HDSHost>) javaResult.getBean(HDSConstants.HOST_LIST_BEAN_NAME);
            if (null == hostList || hostList.isEmpty()) {
                throw HDSException.exceptions.notAbleToGetHostInfoForHSD();
            }
        } else {
            throw HDSException.exceptions.invalidResponseFromHDS(String.format("Not able to Get registered hosts from Device Manager failed due to invalid response %1$s from server", response.getStatus()));
        }
    } finally {
        if (null != responseStream) {
            try {
                responseStream.close();
            } catch (IOException e) {
                log.warn("IOException occurred while closing the response stream");
            }
        }
    }
    return hostList;
}
Also used : ClientResponse(com.sun.jersey.api.client.ClientResponse) HDSHost(com.emc.storageos.hds.model.HDSHost) HashMap(java.util.HashMap) InputStream(java.io.InputStream) Get(com.emc.storageos.hds.model.Get) IOException(java.io.IOException) URI(java.net.URI) JavaResult(org.milyn.payload.JavaResult)

Example 3 with Get

use of com.emc.storageos.hds.model.Get in project coprhd-controller by CoprHD.

the class HDSApiExportManager method getFreeLUNInfo.

/**
 * Return the Free Lun's available for a Given HSD in a System.
 *
 * @throws Exception
 */
public List<FreeLun> getFreeLUNInfo(String systemId, String hsdId) throws Exception {
    InputStream responseStream = null;
    HostStorageDomain hostStorageDomain = null;
    List<FreeLun> freeLunList = null;
    try {
        Map<String, Object> attributeMap = new HashMap<String, Object>();
        StorageArray array = new StorageArray(systemId);
        Get getOp = new Get(HDSConstants.STORAGEARRAY);
        attributeMap.put(HDSConstants.STORAGEARRAY, array);
        HostStorageDomain hsd = new HostStorageDomain(hsdId);
        FreeLun freeLun = new FreeLun();
        attributeMap.put(HDSConstants.GET, getOp);
        attributeMap.put(HDSConstants.HOST_STORAGE_DOMAIN, hsd);
        attributeMap.put(HDSConstants.FREELUN, freeLun);
        String getFreeLunQueryInputXML = InputXMLGenerationClient.getInputXMLString(HDSConstants.GET_FREE_LUN_INFO_OP, attributeMap, HDSConstants.HITACHI_INPUT_XML_CONTEXT_FILE, HDSConstants.HITACHI_SMOOKS_CONFIG_FILE);
        log.info("Query to get FreeLUN's of a HostStorageDomain: {}", getFreeLunQueryInputXML);
        URI endpointURI = hdsApiClient.getBaseURI();
        ClientResponse response = hdsApiClient.post(endpointURI, getFreeLunQueryInputXML);
        if (HttpStatus.SC_OK == response.getStatus()) {
            responseStream = response.getEntityInputStream();
            JavaResult javaResult = SmooksUtil.getParsedXMLJavaResult(responseStream, HDSConstants.SMOOKS_CONFIG_FILE);
            verifyErrorPayload(javaResult);
            hostStorageDomain = javaResult.getBean(HostStorageDomain.class);
            if (null != hostStorageDomain && null != hostStorageDomain.getFreeLunList()) {
                freeLunList = hostStorageDomain.getFreeLunList();
            } else {
                throw HDSException.exceptions.notAbleToGetFreeLunInfoForHSD(hsdId, systemId);
            }
        } else {
            throw HDSException.exceptions.invalidResponseFromHDS(String.format("Not able to get FreeLun info for HostStorageDomain due to invalid response %1$s from server", response.getStatus()));
        }
    } finally {
        if (null != responseStream) {
            try {
                responseStream.close();
            } catch (IOException e) {
                log.warn("IOException occurred while closing the response stream");
            }
        }
    }
    return freeLunList;
}
Also used : ClientResponse(com.sun.jersey.api.client.ClientResponse) FreeLun(com.emc.storageos.hds.model.FreeLun) HashMap(java.util.HashMap) InputStream(java.io.InputStream) IOException(java.io.IOException) URI(java.net.URI) HostStorageDomain(com.emc.storageos.hds.model.HostStorageDomain) Get(com.emc.storageos.hds.model.Get) JavaResult(org.milyn.payload.JavaResult) StorageArray(com.emc.storageos.hds.model.StorageArray)

Example 4 with Get

use of com.emc.storageos.hds.model.Get in project coprhd-controller by CoprHD.

the class HDSApiProtectionManager method getHDSHostList.

/**
 * Returns Host List collected from Device Manager.
 *
 * @return
 * @throws Exception
 */
private List<HDSHost> getHDSHostList() throws Exception {
    List<HDSHost> hostList = null;
    InputStream responseStream = null;
    try {
        Map<String, Object> attributeMap = new HashMap<String, Object>();
        Get getOp = new Get(HDSConstants.HOST);
        attributeMap.put(HDSConstants.GET, getOp);
        HDSHost host = new HDSHost();
        host.setName("*");
        attributeMap.put(HDSConstants.HOST, host);
        String getAllHSDQuery = InputXMLGenerationClient.getInputXMLString(HDSConstants.GET_ALL_HOST_INFO_OP, attributeMap, HDSConstants.HITACHI_INPUT_XML_CONTEXT_FILE, HDSConstants.HITACHI_SMOOKS_CONFIG_FILE);
        log.info("Query to get All Host: {}", getAllHSDQuery);
        URI endpointURI = hdsApiClient.getBaseURI();
        ClientResponse response = hdsApiClient.post(endpointURI, getAllHSDQuery);
        if (HttpStatus.SC_OK == response.getStatus()) {
            responseStream = response.getEntityInputStream();
            JavaResult javaResult = SmooksUtil.getParsedXMLJavaResult(responseStream, HDSConstants.HOST_INFO_SMOOKS_CONFIG_FILE);
            hdsApiClient.verifyErrorPayload(javaResult);
            hostList = (List<HDSHost>) javaResult.getBean(HDSConstants.HOST_LIST_BEAN_NAME);
        } else {
            throw HDSException.exceptions.invalidResponseFromHDS(String.format("Not able to query HostStorageDomain's due to invalid response %1$s from server", response.getStatus()));
        }
    } finally {
        if (null != responseStream) {
            try {
                responseStream.close();
            } catch (IOException e) {
                log.warn("IOException occurred while closing the response stream");
            }
        }
    }
    return hostList;
}
Also used : ClientResponse(com.sun.jersey.api.client.ClientResponse) HDSHost(com.emc.storageos.hds.model.HDSHost) HashMap(java.util.HashMap) InputStream(java.io.InputStream) Get(com.emc.storageos.hds.model.Get) IOException(java.io.IOException) URI(java.net.URI) JavaResult(org.milyn.payload.JavaResult)

Example 5 with Get

use of com.emc.storageos.hds.model.Get in project coprhd-controller by CoprHD.

the class HDSApiDiscoveryManager method getStorageSystemsInfo.

/**
 * Returns all storage system information.
 *
 * @return
 * @throws Exception
 */
public List<StorageArray> getStorageSystemsInfo() throws Exception {
    InputStream responseStream = null;
    List<StorageArray> arrayList = null;
    try {
        URI endpointURI = hdsApiClient.getBaseURI();
        Map<String, Object> attributeMap = new HashMap<String, Object>();
        StorageArray storageArray = new StorageArray(HDSConstants.STAR);
        Get getOp = new Get(HDSConstants.STORAGEARRAY);
        attributeMap.put(HDSConstants.STORAGEARRAY, storageArray);
        attributeMap.put(HDSConstants.GET, getOp);
        String getSystemsInputXML = InputXMLGenerationClient.getInputXMLString(HDSConstants.GET_SYSTEMS_INFO_OP, attributeMap, HDSConstants.HITACHI_INPUT_XML_CONTEXT_FILE, HDSConstants.HITACHI_SMOOKS_CONFIG_FILE);
        log.info("Get all systems query payload :{}", getSystemsInputXML);
        ClientResponse response = hdsApiClient.post(endpointURI, getSystemsInputXML);
        if (HttpStatus.SC_OK == response.getStatus()) {
            responseStream = response.getEntityInputStream();
            JavaResult result = SmooksUtil.getParsedXMLJavaResult(responseStream, HDSConstants.SMOOKS_CONFIG_FILE);
            verifyErrorPayload(result);
            arrayList = (List<StorageArray>) result.getBean(HDSConstants.SYSTEMLIST_BEAN_ID);
        } else {
            log.error("Get all systems query failed with invalid response code {}", response.getStatus());
            throw HDSException.exceptions.invalidResponseFromHDS(String.format("Not able to query all systems due to invalid response %1$s from server", response.getStatus()));
        }
    } finally {
        if (null != responseStream) {
            try {
                responseStream.close();
            } catch (IOException e) {
                log.warn("IOException occurred while closing the response stream");
            }
        }
    }
    return arrayList;
}
Also used : ClientResponse(com.sun.jersey.api.client.ClientResponse) HashMap(java.util.HashMap) InputStream(java.io.InputStream) Get(com.emc.storageos.hds.model.Get) IOException(java.io.IOException) URI(java.net.URI) JavaResult(org.milyn.payload.JavaResult) StorageArray(com.emc.storageos.hds.model.StorageArray)

Aggregations

Get (com.emc.storageos.hds.model.Get)16 ClientResponse (com.sun.jersey.api.client.ClientResponse)16 InputStream (java.io.InputStream)16 URI (java.net.URI)16 HashMap (java.util.HashMap)16 JavaResult (org.milyn.payload.JavaResult)16 StorageArray (com.emc.storageos.hds.model.StorageArray)12 IOException (java.io.IOException)8 HDSHost (com.emc.storageos.hds.model.HDSHost)3 HostStorageDomain (com.emc.storageos.hds.model.HostStorageDomain)3 Pool (com.emc.storageos.hds.model.Pool)3 LogicalUnit (com.emc.storageos.hds.model.LogicalUnit)2 Condition (com.emc.storageos.hds.model.Condition)1 FreeLun (com.emc.storageos.hds.model.FreeLun)1 SnapshotGroup (com.emc.storageos.hds.model.SnapshotGroup)1 List (java.util.List)1