Search in sources :

Example 21 with MsoException

use of org.onap.so.openstack.exceptions.MsoException in project so by onap.

the class MsoCommonUtils method neutronExceptionToMsoException.

/*
     * Convert an Openstack Exception on a Neutron call to an MsoOpenstackException. This method supports both
     * OpenstackResponseException and OpenStackConnectException.
     */
protected MsoException neutronExceptionToMsoException(OpenStackBaseException e, String context) {
    MsoException me = null;
    if (e instanceof OpenStackResponseException) {
        OpenStackResponseException re = (OpenStackResponseException) e;
        try {
            // Failed Neutron calls return an NeutronError entity body
            NeutronError error = re.getResponse().getErrorEntity(NeutronError.class);
            logger.error("{} {} Openstack Neutron Error on {} {}", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), context, error);
            me = new MsoOpenstackException(re.getStatus(), error.getType(), error.getMessage());
        } catch (Exception e2) {
            // Couldn't parse body as a NeutronError. Report the HTTP error.
            logger.error("{} {} Openstack HTTP Error on {}: {}, {}", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), context, re.getStatus(), e.getMessage(), e2);
            me = new MsoOpenstackException(re.getStatus(), re.getMessage(), null);
        }
        // Add the context of the error
        me.addContext(context);
        // Generate an alarm for 5XX and higher errors.
        if (re.getStatus() >= 500) {
            logger.error("{} {} OpenStackBaseException with response code {} on {}: ", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), re.getStatus(), context, e);
        }
    } else if (e instanceof OpenStackConnectException) {
        OpenStackConnectException ce = (OpenStackConnectException) e;
        me = new MsoIOException(ce.getMessage());
        me.addContext(context);
        // Generate an alarm for all connection errors.
        logger.error("{} {} Openstack Neutron Connection error on {}: ", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), context, e);
    }
    return me;
}
Also used : MsoException(org.onap.so.openstack.exceptions.MsoException) NeutronError(com.woorea.openstack.quantum.model.NeutronError) OpenStackResponseException(com.woorea.openstack.base.client.OpenStackResponseException) MsoIOException(org.onap.so.openstack.exceptions.MsoIOException) OpenStackConnectException(com.woorea.openstack.base.client.OpenStackConnectException) MsoAdapterException(org.onap.so.openstack.exceptions.MsoAdapterException) ServiceEndpointNotFoundException(org.onap.so.cloud.authentication.ServiceEndpointNotFoundException) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException) IOException(java.io.IOException) OpenStackConnectException(com.woorea.openstack.base.client.OpenStackConnectException) MsoIOException(org.onap.so.openstack.exceptions.MsoIOException) OpenStackResponseException(com.woorea.openstack.base.client.OpenStackResponseException) MsoException(org.onap.so.openstack.exceptions.MsoException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException)

Example 22 with MsoException

use of org.onap.so.openstack.exceptions.MsoException in project so by onap.

the class MsoCommonUtils method heatExceptionToMsoException.

/*
     * Convert an Openstack Exception on a Heat call to an MsoOpenstackException. This method supports both
     * OpenstackResponseException and OpenStackConnectException.
     */
protected MsoException heatExceptionToMsoException(OpenStackBaseException e, String context) {
    MsoException me = null;
    if (e instanceof OpenStackResponseException) {
        OpenStackResponseException re = (OpenStackResponseException) e;
        try {
            // Failed Heat calls return an Explanation entity body.
            Explanation explanation = re.getResponse().getErrorEntity(Explanation.class);
            logger.error("Exception - Openstack Error on {} : {}", context, explanation);
            String fullError = explanation.getExplanation() + ", error.type=" + explanation.getError().getType() + ", error.message=" + explanation.getError().getMessage();
            logger.error(fullError);
            me = new MsoOpenstackException(explanation.getCode(), explanation.getTitle(), fullError);
        } catch (Exception e2) {
            // Couldn't parse the body as an "Explanation". Report the original HTTP error.
            logger.error("{} {} Exception - HTTP Error on {}: {}, ", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), context, re.getStatus(), e.getMessage(), e2);
            me = new MsoOpenstackException(re.getStatus(), re.getMessage(), re.getMessage());
        }
        // Add the context of the error
        me.addContext(context);
    } else if (e instanceof OpenStackConnectException) {
        OpenStackConnectException ce = (OpenStackConnectException) e;
        me = new MsoIOException(ce.getMessage());
        me.addContext(context);
        // Generate an alarm for all connection errors.
        logger.error("{} {} Openstack Heat connection error on {}: ", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), context, e);
    }
    return me;
}
Also used : MsoException(org.onap.so.openstack.exceptions.MsoException) OpenStackResponseException(com.woorea.openstack.base.client.OpenStackResponseException) Explanation(com.woorea.openstack.heat.model.Explanation) MsoIOException(org.onap.so.openstack.exceptions.MsoIOException) OpenStackConnectException(com.woorea.openstack.base.client.OpenStackConnectException) MsoAdapterException(org.onap.so.openstack.exceptions.MsoAdapterException) ServiceEndpointNotFoundException(org.onap.so.cloud.authentication.ServiceEndpointNotFoundException) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException) IOException(java.io.IOException) OpenStackConnectException(com.woorea.openstack.base.client.OpenStackConnectException) MsoIOException(org.onap.so.openstack.exceptions.MsoIOException) OpenStackResponseException(com.woorea.openstack.base.client.OpenStackResponseException) MsoException(org.onap.so.openstack.exceptions.MsoException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException)

Example 23 with MsoException

use of org.onap.so.openstack.exceptions.MsoException in project so by onap.

the class MsoCommonUtils method keystoneErrorToMsoException.

/*
     * Convert an Openstack Exception on a Keystone call to an MsoException. This method supports both
     * OpenstackResponseException and OpenStackConnectException.
     */
public MsoException keystoneErrorToMsoException(OpenStackBaseException e, String context) {
    MsoException me = null;
    if (e instanceof OpenStackResponseException) {
        OpenStackResponseException re = (OpenStackResponseException) e;
        try {
            // Failed Keystone calls return an Error entity body.
            Error error = re.getResponse().getErrorEntity(Error.class);
            logger.error("{} {} Openstack Keystone Error on {}: {}", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), context, error);
            me = new MsoOpenstackException(error.getCode(), error.getTitle(), error.getMessage());
        } catch (Exception e2) {
            // Can't parse the body as an "Error". Report the HTTP error
            logger.error("{} {} HTTP Error on {}: {}, {}", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), context, re.getStatus(), re.getMessage(), e2);
            me = new MsoOpenstackException(re.getStatus(), re.getMessage(), "");
        }
        // Add the context of the error
        me.addContext(context);
        // Generate an alarm for 5XX and higher errors.
        if (re.getStatus() >= 500) {
            logger.error("{} {} OpenStackResponseException with response code {} on {}: ", MessageEnum.RA_CONNECTION_EXCEPTION, ErrorCode.DataError.getValue(), re.getStatus(), context, e);
        }
    } else if (e instanceof OpenStackConnectException) {
        OpenStackConnectException ce = (OpenStackConnectException) e;
        me = new MsoIOException(ce.getMessage());
        me.addContext(context);
        // Generate an alarm for all connection errors.
        logger.error("{} {} Openstack Keystone connection error on {}: ", MessageEnum.RA_GENERAL_EXCEPTION_ARG, ErrorCode.DataError.getValue(), context, e);
    }
    return me;
}
Also used : MsoException(org.onap.so.openstack.exceptions.MsoException) OpenStackResponseException(com.woorea.openstack.base.client.OpenStackResponseException) NeutronError(com.woorea.openstack.quantum.model.NeutronError) Error(com.woorea.openstack.keystone.model.Error) MsoIOException(org.onap.so.openstack.exceptions.MsoIOException) OpenStackConnectException(com.woorea.openstack.base.client.OpenStackConnectException) MsoAdapterException(org.onap.so.openstack.exceptions.MsoAdapterException) ServiceEndpointNotFoundException(org.onap.so.cloud.authentication.ServiceEndpointNotFoundException) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException) IOException(java.io.IOException) OpenStackConnectException(com.woorea.openstack.base.client.OpenStackConnectException) MsoIOException(org.onap.so.openstack.exceptions.MsoIOException) OpenStackResponseException(com.woorea.openstack.base.client.OpenStackResponseException) MsoException(org.onap.so.openstack.exceptions.MsoException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException)

Example 24 with MsoException

use of org.onap.so.openstack.exceptions.MsoException in project so by onap.

the class MsoMulticloudUtils method getStackStatus.

private StackInfo getStackStatus(String cloudSiteId, String cloudOwner, String tenantId, String instanceId, boolean pollForCompletion, int timeoutMinutes, boolean backout) throws MsoException {
    StackInfo stackInfo;
    // If client has requested a final response, poll for stack completion
    if (pollForCompletion) {
        // Set a time limit on overall polling.
        // Use the resource (template) timeout for Openstack (expressed in minutes)
        // and add one poll interval to give Openstack a chance to fail on its own.s
        int createPollInterval = Integer.parseInt(this.environment.getProperty(createPollIntervalProp, CREATE_POLL_INTERVAL_DEFAULT));
        int pollTimeout = (timeoutMinutes * 60) + createPollInterval;
        // New 1610 - poll on delete if we rollback - use same values for now
        int deletePollInterval = createPollInterval;
        int deletePollTimeout = pollTimeout;
        boolean createTimedOut = false;
        StringBuilder stackErrorStatusReason = new StringBuilder("");
        logger.debug("createPollInterval={}, pollTimeout={} ", createPollInterval, pollTimeout);
        while (true) {
            try {
                stackInfo = queryStack(cloudSiteId, cloudOwner, tenantId, instanceId);
                logger.debug("{} ({})", stackInfo.getStatus(), instanceId);
                if (HeatStatus.BUILDING.equals(stackInfo.getStatus())) {
                    // Sleep and try again unless timeout has been reached
                    if (pollTimeout <= 0) {
                        // Note that this should not occur, since there is a timeout specified
                        // in the Openstack (multicloud?) call.
                        logger.error(String.format("%s %s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudOwner, cloudSiteId, tenantId, instanceId, stackInfo.getStatus(), "", "", ErrorCode.AvailabilityError.getValue(), "Create stack timeout"));
                        createTimedOut = true;
                        break;
                    }
                    sleep(createPollInterval * 1000L);
                    pollTimeout -= createPollInterval;
                    logger.debug("pollTimeout remaining: {}", pollTimeout);
                } else {
                    // save off the status & reason msg before we attempt delete
                    stackErrorStatusReason.append("Stack error (" + stackInfo.getStatus() + "): " + stackInfo.getStatusMessage());
                    break;
                }
            } catch (MsoException me) {
                // Try to roll back the stack
                if (!backout) {
                    logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack error, stack deletion suppressed", "", "", ErrorCode.BusinessProcessError.getValue(), "Exception in Create Stack, stack deletion suppressed"));
                } else {
                    try {
                        logger.debug("Create Stack error - unable to query for stack status - attempting to delete stack: " + instanceId + " - This will likely fail and/or we won't be able to query to see if delete worked");
                        StackInfo deleteInfo = deleteStack(cloudSiteId, cloudOwner, tenantId, instanceId);
                        // this may be a waste of time - if we just got an exception trying to query the stack -
                        // we'll just
                        // get another one, n'est-ce pas?
                        boolean deleted = false;
                        while (!deleted) {
                            try {
                                StackInfo queryInfo = queryStack(cloudSiteId, cloudOwner, tenantId, instanceId);
                                logger.debug("Deleting {}, status: {}", instanceId, queryInfo.getStatus());
                                if (HeatStatus.DELETING.equals(queryInfo.getStatus())) {
                                    if (deletePollTimeout <= 0) {
                                        logger.error(String.format("%s %s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudOwner, cloudSiteId, tenantId, instanceId, queryInfo.getStatus(), "", "", ErrorCode.AvailabilityError.getValue(), "Rollback: DELETE stack timeout"));
                                        break;
                                    } else {
                                        sleep(deletePollInterval * 1000L);
                                        deletePollTimeout -= deletePollInterval;
                                    }
                                } else if (HeatStatus.NOTFOUND.equals(queryInfo.getStatus())) {
                                    logger.debug("DELETE_COMPLETE for {}", instanceId);
                                    deleted = true;
                                    continue;
                                } else {
                                    // evaluate
                                    break;
                                }
                            } catch (Exception e3) {
                                // Just log this one. We will report the original exception.
                                logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e3, "", "", ErrorCode.BusinessProcessError.getValue(), "Create Stack: Nested exception rolling back stack on error on query"));
                            }
                        }
                    } catch (Exception e2) {
                        // Just log this one. We will report the original exception.
                        logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e2, "", "", ErrorCode.BusinessProcessError.getValue(), "Create Stack: Nested exception rolling back stack"));
                    }
                }
                // Propagate the original exception from Stack Query.
                me.addContext(CREATE_STACK);
                throw me;
            }
        }
        if (!HeatStatus.CREATED.equals(stackInfo.getStatus())) {
            logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack error:  Polling complete with non-success status: " + stackInfo.getStatus() + ", " + stackInfo.getStatusMessage(), "", "", ErrorCode.BusinessProcessError.getValue(), "Create Stack error"));
            // Rollback the stack creation, since it is in an indeterminate state.
            if (!backout) {
                logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, stack deletion suppressed", "", "", ErrorCode.BusinessProcessError.getValue(), "Create Stack error, stack deletion suppressed"));
            } else {
                try {
                    logger.debug("Create Stack errored - attempting to DELETE stack: " + instanceId);
                    logger.debug("deletePollInterval=" + deletePollInterval + ", deletePollTimeout=" + deletePollTimeout);
                    StackInfo deleteInfo = deleteStack(cloudSiteId, cloudOwner, tenantId, instanceId);
                    boolean deleted = false;
                    while (!deleted) {
                        try {
                            StackInfo queryInfo = queryStack(cloudSiteId, cloudOwner, tenantId, instanceId);
                            logger.debug("Deleting {}, status: {}", instanceId, queryInfo.getStatus());
                            if (HeatStatus.DELETING.equals(queryInfo.getStatus())) {
                                if (deletePollTimeout <= 0) {
                                    logger.error(String.format("%s %s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudOwner, cloudSiteId, tenantId, instanceId, queryInfo.getStatus(), "", "", ErrorCode.AvailabilityError.getValue(), "Rollback: DELETE stack timeout"));
                                    break;
                                } else {
                                    sleep(deletePollInterval * 1000L);
                                    deletePollTimeout -= deletePollInterval;
                                }
                            } else if (HeatStatus.NOTFOUND.equals(queryInfo.getStatus())) {
                                logger.debug("DELETE_COMPLETE for {}", instanceId);
                                deleted = true;
                                continue;
                            } else {
                                // got a status other than DELETE_IN_PROGRESS or DELETE_COMPLETE - so break and
                                // evaluate
                                logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, stack deletion FAILED", "", "", ErrorCode.BusinessProcessError.getValue(), "Create Stack error, stack deletion FAILED"));
                                logger.debug("Stack deletion FAILED on a rollback of a create - " + instanceId + ", status=" + queryInfo.getStatus() + ", reason=" + queryInfo.getStatusMessage());
                                break;
                            }
                        } catch (MsoException me2) {
                            // Just log this one. We will report the original exception.
                            logger.debug("Exception thrown trying to delete " + instanceId + " on a create->rollback: " + me2.getContextMessage(), me2);
                            logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, then stack deletion FAILED - exception thrown", "", "", ErrorCode.BusinessProcessError.getValue(), me2.getContextMessage()));
                        }
                    }
                    StringBuilder errorContextMessage;
                    if (createTimedOut) {
                        errorContextMessage = new StringBuilder("Stack Creation Timeout");
                    } else {
                        errorContextMessage = stackErrorStatusReason;
                    }
                    if (deleted) {
                        errorContextMessage.append(" - stack successfully deleted");
                    } else {
                        errorContextMessage.append(" - encountered an error trying to delete the stack");
                    }
                } catch (MsoException e2) {
                    // shouldn't happen - but handle
                    logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e2, "", "", ErrorCode.BusinessProcessError.getValue(), "Exception in Create Stack: rolling back stack"));
                }
            }
            MsoOpenstackException me = new MsoOpenstackException(0, "", stackErrorStatusReason.toString());
            me.addContext(CREATE_STACK);
            throw me;
        }
    } else {
        // Get initial status, since it will have been null after the create.
        stackInfo = queryStack(cloudSiteId, cloudOwner, tenantId, instanceId);
        logger.debug("Multicloud stack query status is: {}", stackInfo.getStatus());
    }
    return stackInfo;
}
Also used : MsoException(org.onap.so.openstack.exceptions.MsoException) StackInfo(org.onap.so.openstack.beans.StackInfo) MsoAdapterException(org.onap.so.openstack.exceptions.MsoAdapterException) VduException(org.onap.so.adapters.vdu.VduException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException) MalformedURLException(java.net.MalformedURLException) UriBuilderException(javax.ws.rs.core.UriBuilderException) MsoException(org.onap.so.openstack.exceptions.MsoException) MsoOpenstackException(org.onap.so.openstack.exceptions.MsoOpenstackException)

Example 25 with MsoException

use of org.onap.so.openstack.exceptions.MsoException in project so by onap.

the class MsoMulticloudUtils method multicloudAaiUpdate.

private void multicloudAaiUpdate(String cloudSiteId, String cloudOwner, String tenantId, String genericVnfId, String vfModuleId, String workloadId, boolean pollForCompletion, int timeoutMinutes) {
    String stackId = null;
    int offset = workloadId.indexOf('/');
    if (offset > 0 && offset < (workloadId.length() - 1)) {
        stackId = workloadId.substring(offset + 1);
    } else {
        stackId = workloadId;
    }
    MulticloudRequest multicloudRequest = new MulticloudRequest();
    multicloudRequest.setGenericVnfId(genericVnfId);
    multicloudRequest.setVfModuleId(vfModuleId);
    String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, cloudOwner, stackId, false);
    RestClient multicloudClient = getMulticloudClient(multicloudEndpoint, tenantId);
    if (multicloudClient == null) {
        if (logger.isDebugEnabled())
            logger.debug("Multicloud client could not be initialized");
        return;
    }
    Response response = multicloudClient.post(multicloudRequest);
    if (response.getStatus() != Response.Status.ACCEPTED.getStatusCode()) {
        if (logger.isDebugEnabled())
            logger.debug("Multicloud AAI update request failed: {} {}", response.getStatus(), response.getStatusInfo());
        return;
    }
    if (!pollForCompletion) {
        return;
    }
    int updatePollInterval = Integer.parseInt(this.environment.getProperty(createPollIntervalProp, CREATE_POLL_INTERVAL_DEFAULT));
    int pollTimeout = (timeoutMinutes * 60) + updatePollInterval;
    boolean updateTimedOut = false;
    logger.debug("updatePollInterval={}, pollTimeout={}", updatePollInterval, pollTimeout);
    StackInfo stackInfo = null;
    while (true) {
        try {
            stackInfo = queryStack(cloudSiteId, cloudOwner, tenantId, workloadId);
            if (logger.isDebugEnabled())
                logger.debug("{} ({})", stackInfo.getStatus(), workloadId);
            if (HeatStatus.UPDATING.equals(stackInfo.getStatus())) {
                if (pollTimeout <= 0) {
                    // in the Openstack (multicloud?) call.
                    if (logger.isDebugEnabled())
                        logger.debug("Multicloud AAI update timeout failure: {} {} {} {}", cloudOwner, cloudSiteId, tenantId, workloadId);
                    updateTimedOut = true;
                    break;
                }
                sleep(updatePollInterval * 1000L);
                pollTimeout -= updatePollInterval;
                if (logger.isDebugEnabled())
                    logger.debug("pollTimeout remaining: {}", pollTimeout);
            } else {
                break;
            }
        } catch (MsoException me) {
            if (logger.isDebugEnabled())
                logger.debug("Multicloud AAI update exception: {} {} {} {}", cloudOwner, cloudSiteId, tenantId, workloadId, me);
            return;
        }
    }
    if (updateTimedOut) {
        if (logger.isDebugEnabled())
            logger.debug("Multicloud AAI update request failed: {} {}", response.getStatus(), response.getStatusInfo());
    } else if (!HeatStatus.UPDATED.equals(stackInfo.getStatus())) {
        if (logger.isDebugEnabled())
            logger.debug("Multicloud AAI update request failed: {} {}", response.getStatus(), response.getStatusInfo());
    } else {
        if (logger.isDebugEnabled())
            logger.debug("Multicloud AAI update successful: {} {}", response.getStatus(), response.getStatusInfo());
    }
}
Also used : Response(javax.ws.rs.core.Response) MsoException(org.onap.so.openstack.exceptions.MsoException) RestClient(org.onap.so.client.RestClient) StackInfo(org.onap.so.openstack.beans.StackInfo)

Aggregations

MsoException (org.onap.so.openstack.exceptions.MsoException)53 OpenStackBaseException (com.woorea.openstack.base.client.OpenStackBaseException)12 CloudSite (org.onap.so.db.catalog.beans.CloudSite)12 MsoAdapterException (org.onap.so.openstack.exceptions.MsoAdapterException)12 Nova (com.woorea.openstack.nova.Nova)10 StackInfo (org.onap.so.openstack.beans.StackInfo)10 Quantum (com.woorea.openstack.quantum.Quantum)9 MsoOpenstackException (org.onap.so.openstack.exceptions.MsoOpenstackException)9 OpenStackConnectException (com.woorea.openstack.base.client.OpenStackConnectException)8 OpenStackResponseException (com.woorea.openstack.base.client.OpenStackResponseException)8 ArrayList (java.util.ArrayList)8 Test (org.junit.Test)8 BaseTest (org.onap.so.BaseTest)7 MsoIOException (org.onap.so.openstack.exceptions.MsoIOException)7 HashMap (java.util.HashMap)6 VnfException (org.onap.so.adapters.vnf.exceptions.VnfException)6 MsoCloudSiteNotFound (org.onap.so.openstack.exceptions.MsoCloudSiteNotFound)6 IOException (java.io.IOException)5 NetworkException (org.onap.so.adapters.network.exceptions.NetworkException)5 HeatTemplate (org.onap.so.db.catalog.beans.HeatTemplate)5