Search in sources :

Example 1 with SessionContext

use of com.emc.storageos.vasa.util.SessionContext in project coprhd-controller by CoprHD.

the class ContextManagerImpl method getUsageContext.

/**
 * called by vasaService APIs to verify the connection and get the
 * UsageContext.
 */
public UsageContext getUsageContext() throws InvalidSession, StorageFault {
    final String methodName = "getUsageContext(): ";
    log.debug(methodName + "Entry");
    try {
        // verify valid SSL and VASA Sessions.
        String sessionId = _sslUtil.getCookie(SSLUtil.VASA_SESSIONID_STR);
        if (sessionId == null) {
            // throw an exception
            throw FaultUtil.StorageFault("getUsageContext internal error.");
        }
        log.trace(methodName + "Looking for sessin context by session id...");
        SessionContext sc = SessionContext.lookupSessionContextBySessionId(sessionId);
        if (sc == null) {
            // throw an exception
            throw FaultUtil.StorageFault("getUsageContext internal error.");
        }
        _sslUtil.setHttpResponse(sc);
        UsageContext uc = sc.getUsageContext();
        if (uc == null) {
            throw FaultUtil.StorageFault("UsageContext is not set");
        }
        // validateUsageContext(uc);
        return uc;
    } catch (StorageFault sf) {
        // thrown by this function
        log.error(methodName + "storage fault occured", sf);
        throw sf;
    } catch (InvalidSession is) {
        log.error(methodName + "invalid session", is);
        throw is;
    } catch (Exception e) {
        log.error(methodName + "unexpected error", e);
        throw FaultUtil.InvalidSession("runtime", e);
    }
}
Also used : UsageContext(com.vmware.vim.vasa._1_0.data.xsd.UsageContext) StorageFault(com.vmware.vim.vasa._1_0.StorageFault) SessionContext(com.emc.storageos.vasa.util.SessionContext) InvalidSession(com.vmware.vim.vasa._1_0.InvalidSession) CertificateNotYetValidException(java.security.cert.CertificateNotYetValidException) CertificateExpiredException(java.security.cert.CertificateExpiredException)

Example 2 with SessionContext

use of com.emc.storageos.vasa.util.SessionContext in project coprhd-controller by CoprHD.

the class ContextManagerImpl method getSOSManager.

public SOSManager getSOSManager() throws StorageFault, InvalidSession {
    final String methodName = "getSOSManager(): ";
    log.debug(methodName + "Entry");
    try {
        // verify valid SSL and VASA Sessions.
        String sessionId = _sslUtil.getCookie(SSLUtil.VASA_SESSIONID_STR);
        if (sessionId == null) {
            // throw an exception
            throw FaultUtil.StorageFault(methodName + "internal error");
        }
        log.trace(methodName + "Looking for session context by session id...");
        SessionContext sc = SessionContext.lookupSessionContextBySessionId(sessionId);
        if (sc == null) {
            // throw an exception
            throw FaultUtil.StorageFault("getUsageContext internal error.");
        }
        _sslUtil.setHttpResponse(sc);
        SOSManager sosManager = sc.getSosManager();
        if (sosManager == null) {
            throw FaultUtil.StorageFault("SOSManager is not set");
        }
        // validateUsageContext(uc);
        return sosManager;
    } catch (StorageFault sf) {
        // thrown by this function
        log.error(methodName + "storage fault occured", sf);
        throw sf;
    } catch (InvalidSession is) {
        log.error(methodName + "invalid session", is);
        throw is;
    } catch (Exception e) {
        log.error(methodName + "unexpected error", e);
        throw FaultUtil.InvalidSession("runtime", e);
    }
}
Also used : StorageFault(com.vmware.vim.vasa._1_0.StorageFault) SessionContext(com.emc.storageos.vasa.util.SessionContext) InvalidSession(com.vmware.vim.vasa._1_0.InvalidSession) CertificateNotYetValidException(java.security.cert.CertificateNotYetValidException) CertificateExpiredException(java.security.cert.CertificateExpiredException)

Example 3 with SessionContext

use of com.emc.storageos.vasa.util.SessionContext in project coprhd-controller by CoprHD.

the class ContextManagerImpl method setContext.

/**
 * vasaService interface
 */
@Override
public VasaProviderInfo setContext(UsageContext uc) throws InvalidArgument, InvalidSession, StorageFault {
    final String methodName = "setContext(): ";
    log.debug(methodName + "Entry");
    if (log.isDebugEnabled()) {
        HostInitiatorInfo[] hostInitiators = uc.getHostInitiator();
        if (hostInitiators != null && hostInitiators.length > 0) {
            log.debug(methodName + "list of host initiators (HBA):");
            for (HostInitiatorInfo initiator : hostInitiators) {
                log.debug(methodName + "id[" + initiator.getUniqueIdentifier() + "] iSCSIId[" + initiator.getIscsiIdentifier() + "] nodeWWN[" + initiator.getNodeWwn() + "] portWWN[" + initiator.getPortWwn() + "]");
            }
        }
        String[] iscsiIpAddresseses = uc.getIscsiInitiatorIpAddress();
        if (iscsiIpAddresseses != null) {
            log.debug(methodName + "list of iSCSI initiator IP addresses:");
            log.debug(methodName + Arrays.asList(iscsiIpAddresseses));
        }
        MountInfo[] mountPoints = uc.getMountPoint();
        if (mountPoints != null && mountPoints.length > 0) {
            log.debug(methodName + "List of file share mount paths:");
            for (MountInfo mountPoint : mountPoints) {
                log.debug(methodName + "filePath[" + mountPoint.getFilePath() + "] serverName[" + mountPoint.getServerName() + "]");
            }
        }
        log.debug(methodName + "vSphere service instance Id[" + uc.getVcGuid() + "]");
    }
    String clientAddress = "unknown";
    try {
        // _sslUtil.checkForUniqueVASASessionId();
        SessionContext sc = null;
        clientAddress = _sslUtil.checkHttpRequest(true, false);
        // Tear down any existing session
        log.debug(methodName + "Tear down any existing session");
        invalidateSession();
        // Create new session.
        sc = SessionContext.createSession(uc, clientAddress);
        log.trace(methodName + "Created a new session: " + sc.getSessionId());
        sc.setSosManager(_sosManager);
        log.trace(methodName + "SOS manager is set in session context: " + sc.getSessionId());
        _vpInfo.setSessionId(sc.getSessionId());
        _sslUtil.setHttpResponse(sc);
        log.debug(methodName + "Exit returning VasaProviderInfo with new session Id[" + _vpInfo.getSessionId() + "]");
        return _vpInfo;
    } catch (StorageFault sf) {
        log.error(methodName + " unknown exception occured", sf);
        throw sf;
    } catch (InvalidSession is) {
        log.error(methodName + "Invalid session exception", is);
        throw is;
    } catch (Exception e) {
        log.error("unknown exception occured", e);
        throw FaultUtil.StorageFault("runtime ", e);
    }
}
Also used : HostInitiatorInfo(com.vmware.vim.vasa._1_0.data.xsd.HostInitiatorInfo) StorageFault(com.vmware.vim.vasa._1_0.StorageFault) SessionContext(com.emc.storageos.vasa.util.SessionContext) MountInfo(com.vmware.vim.vasa._1_0.data.xsd.MountInfo) InvalidSession(com.vmware.vim.vasa._1_0.InvalidSession) CertificateNotYetValidException(java.security.cert.CertificateNotYetValidException) CertificateExpiredException(java.security.cert.CertificateExpiredException)

Aggregations

SessionContext (com.emc.storageos.vasa.util.SessionContext)3 InvalidSession (com.vmware.vim.vasa._1_0.InvalidSession)3 StorageFault (com.vmware.vim.vasa._1_0.StorageFault)3 CertificateExpiredException (java.security.cert.CertificateExpiredException)3 CertificateNotYetValidException (java.security.cert.CertificateNotYetValidException)3 HostInitiatorInfo (com.vmware.vim.vasa._1_0.data.xsd.HostInitiatorInfo)1 MountInfo (com.vmware.vim.vasa._1_0.data.xsd.MountInfo)1 UsageContext (com.vmware.vim.vasa._1_0.data.xsd.UsageContext)1