aboutsummaryrefslogtreecommitdiffstats
path: root/adapters/mso-network-adapter
diff options
context:
space:
mode:
authorArthur Martella <amartell@research.att.com>2017-09-08 13:27:46 -0400
committerArthur Martella <amartell@research.att.com>2017-09-08 13:32:24 -0400
commit62cd6aaaf74aa91ee0037c0e155c8e7284f07567 (patch)
tree68c0c53c9156f5aa3c6b3599ac940770f986633d /adapters/mso-network-adapter
parentfa1a211d28a912892fcd888569df033900eb01ee (diff)
1710 Rebase - Second Attempt
This commit rebases changes from openecomp-mso/internal-staging-1710 up to and including this codecloud commit: 54483fc6606ddb1591a2e9da61bff8712325f924 Wed Sep 6 18:12:56 2017 -0400 Rebasing was done on a branch on top of this commit in so/master in ONAP: 93fbdfbe46104f8859d4754040f979cb7997c157 Thu Sep 7 16:42:59 2017 +0000 Change-Id: I4ad9abf40da32bf5bdca43e868b8fa2dbcd9dc59 Issue-id: SO-107 Signed-off-by: Arthur Martella <amartell@research.att.com>
Diffstat (limited to 'adapters/mso-network-adapter')
-rw-r--r--adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java156
-rw-r--r--adapters/mso-network-adapter/src/test/java/org/openecomp/mso/adapters/network/NetworkAdapterTest.java32
2 files changed, 110 insertions, 78 deletions
diff --git a/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java b/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java
index e9288ab408..38a7cee2bf 100644
--- a/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java
+++ b/adapters/mso-network-adapter/src/main/java/org/openecomp/mso/adapters/network/MsoNetworkAdapterImpl.java
@@ -25,7 +25,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Holder;
@@ -54,7 +53,6 @@ import org.openecomp.mso.openstack.beans.Subnet;
import org.openecomp.mso.openstack.exceptions.MsoAdapterException;
import org.openecomp.mso.openstack.exceptions.MsoException;
import org.openecomp.mso.openstack.exceptions.MsoExceptionCategory;
-import org.openecomp.mso.openstack.utils.MsoCommonUtils;
import org.openecomp.mso.openstack.utils.MsoHeatUtils;
import org.openecomp.mso.openstack.utils.MsoHeatUtilsWithUpdate;
import org.openecomp.mso.openstack.utils.MsoNeutronUtils;
@@ -399,7 +397,8 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter {
// Use an MsoHeatUtils for all Heat commands
MsoHeatUtils heat = new MsoHeatUtils (MSO_PROP_NETWORK_ADAPTER, msoPropertiesFactory,cloudConfigFactory);
- HeatTemplate heatTemplate = db.getHeatTemplate (networkResource.getTemplateId ());
+ //HeatTemplate heatTemplate = db.getHeatTemplate (networkResource.getTemplateId ());
+ HeatTemplate heatTemplate = db.getHeatTemplateByArtifactUuidRegularQuery (networkResource.getHeatTemplateArtifactUUID());
if (heatTemplate == null) {
String error = "Network error - undefined Heat Template. Network Type = " + networkType;
LOGGER.error (MessageEnum.RA_PARAM_NOT_FOUND, "Heat Template", "Network Type", networkType, "Openstack", "", MsoLogger.ErrorCode.DataError, "Network error - undefined Heat Template. Network Type = " + networkType);
@@ -959,7 +958,8 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter {
// Ready to deploy the updated Network via Heat
- HeatTemplate heatTemplate = db.getHeatTemplate(networkResource.getTemplateId());
+ //HeatTemplate heatTemplate = db.getHeatTemplate (networkResource.getTemplateId ());
+ HeatTemplate heatTemplate = db.getHeatTemplateByArtifactUuidRegularQuery (networkResource.getHeatTemplateArtifactUUID());
if (heatTemplate == null) {
String error = "Network error - undefined Heat Template. Network Type=" + networkType;
LOGGER.error(MessageEnum.RA_PARAM_NOT_FOUND, "Heat Template", "Network Type", networkType, "OpenStack", "getHeatTemplate", MsoLogger.ErrorCode.DataError, "Network error - undefined Heat Template. Network Type=" + networkType);
@@ -1137,75 +1137,91 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter {
CloudSite cloudSite) throws NetworkException {
// Retrieve the Network Resource definition
NetworkResource networkResource = null;
- if (isNullOrEmpty(modelCustomizationUuid)) {
- networkResource = db.getNetworkResource (networkType);
- }
- else
- {
- networkResource = db.getNetworkResourceByModelCustUuid(modelCustomizationUuid);
- }
- if (networkResource == null) {
- String error = "Create/UpdateNetwork: Unable to get network resource with NetworkType:" + networkType + " or ModelCustomizationUUID:" + modelCustomizationUuid ;
- LOGGER.error (MessageEnum.RA_UNKOWN_PARAM, "NetworkType/ModelCustomizationUUID", networkType + "/" + modelCustomizationUuid, "OpenStack", "", MsoLogger.ErrorCode.DataError, "Create/UpdateNetwork: Unknown NetworkType/ModelCustomizationUUID");
-
- throw new NetworkException (error, MsoExceptionCategory.USERDATA);
- }
- LOGGER.debug ("Got Network definition from Catalog: " + networkResource.toString ());
-
- String mode = networkResource.getOrchestrationMode ();
- NetworkType neutronNetworkType = NetworkType.valueOf (networkResource.getNeutronNetworkType ());
-
- // All Networks are orchestrated via HEAT or Neutron
- if (!("HEAT".equals (mode) || NEUTRON_MODE.equals (mode))) {
- String error = "CreateNetwork: Configuration Error: Network Type = " + networkType;
- LOGGER.error (MessageEnum.RA_NETWORK_ORCHE_MODE_NOT_SUPPORT, mode, "OpenStack", "", MsoLogger.ErrorCode.DataError, "CreateNetwork: Configuration Error");
- // Alarm on this error, configuration must be fixed
- alarmLogger.sendAlarm (MSO_CONFIGURATION_ERROR, MsoAlarmLogger.CRITICAL, error);
-
- throw new NetworkException (error, MsoExceptionCategory.INTERNAL);
- }
-
- MavenLikeVersioning aicV = new MavenLikeVersioning();
- aicV.setVersion(cloudSite.getAic_version());
try {
- if ((aicV.isMoreRecentThan(networkResource.getAicVersionMin()) || aicV.isTheSameVersion(networkResource.getAicVersionMin())) // aic >= min
- && (aicV.isTheSameVersion(networkResource.getAicVersionMax()) || !(aicV.isMoreRecentThan(networkResource.getAicVersionMax())))) //aic <= max
- {
- LOGGER.debug("Network Type:" + networkType
- + " VersionMin:" + networkResource.getAicVersionMin()
- + " VersionMax:" + networkResource.getAicVersionMax()
- + " supported on Cloud:" + cloudSite.getId()
- + " with AIC_Version:" + cloudSite.getAic_version());
- } else {
- String error = "Network Type:" + networkType
- + " Version_Min:" + networkResource.getAicVersionMin()
- + " Version_Max:" + networkResource.getAicVersionMax()
- + " not supported on Cloud:" + cloudSite.getId()
- + " with AIC_Version:" + cloudSite.getAic_version();
- LOGGER.error(MessageEnum.RA_CONFIG_EXC, error, "OpenStack", "", MsoLogger.ErrorCode.DataError, "Network Type not supported on Cloud");
- LOGGER.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.DataError, error);
- throw new NetworkException(error, MsoExceptionCategory.USERDATA);
- }
- } catch (Exception e) {
- String error = "Exception during Network version check";
- LOGGER.error (MessageEnum.RA_GENERAL_EXCEPTION_ARG, e.getMessage(), "", "", MsoLogger.ErrorCode.DataError, error);
-
- throw new NetworkException (error, MsoExceptionCategory.INTERNAL);
- }
+ if (isNullOrEmpty(modelCustomizationUuid)) {
+ networkResource = db.getNetworkResource(networkType);
+ } else {
+ networkResource = db
+ .getNetworkResourceByModelCustUuid(modelCustomizationUuid);
+ }
+ if (networkResource == null) {
+ String error = "Create/UpdateNetwork: Unable to get network resource with NetworkType:"
+ + networkType
+ + " or ModelCustomizationUUID:"
+ + modelCustomizationUuid;
+ LOGGER.error(MessageEnum.RA_UNKOWN_PARAM,
+ "NetworkType/ModelCustomizationUUID", networkType + "/"
+ + modelCustomizationUuid, "OpenStack", "",
+ MsoLogger.ErrorCode.DataError,
+ "Create/UpdateNetwork: Unknown NetworkType/ModelCustomizationUUID");
+
+ throw new NetworkException(error, MsoExceptionCategory.USERDATA);
+ }
+ LOGGER.debug("Got Network definition from Catalog: "
+ + networkResource.toString());
+
+ String mode = networkResource.getOrchestrationMode();
+ NetworkType neutronNetworkType = NetworkType
+ .valueOf(networkResource.getNeutronNetworkType());
+
+ // All Networks are orchestrated via HEAT or Neutron
+ if (!("HEAT".equals(mode) || NEUTRON_MODE.equals(mode))) {
+ String error = "CreateNetwork: Configuration Error: Network Type = "
+ + networkType;
+ LOGGER.error(MessageEnum.RA_NETWORK_ORCHE_MODE_NOT_SUPPORT,
+ mode, "OpenStack", "", MsoLogger.ErrorCode.DataError,
+ "CreateNetwork: Configuration Error");
+ // Alarm on this error, configuration must be fixed
+ alarmLogger.sendAlarm(MSO_CONFIGURATION_ERROR,
+ MsoAlarmLogger.CRITICAL, error);
+
+ throw new NetworkException(error, MsoExceptionCategory.INTERNAL);
+ }
+ MavenLikeVersioning aicV = new MavenLikeVersioning();
+ aicV.setVersion(cloudSite.getAic_version());
+ if ((aicV.isMoreRecentThan(networkResource.getAicVersionMin()) || aicV
+ .isTheSameVersion(networkResource.getAicVersionMin())) // aic
+ // >=
+ // min
+ && (aicV.isTheSameVersion(networkResource
+ .getAicVersionMax()) || !(aicV
+ .isMoreRecentThan(networkResource
+ .getAicVersionMax())))) // aic <= max
+ {
+ LOGGER.debug("Network Type:" + networkType + " VersionMin:"
+ + networkResource.getAicVersionMin() + " VersionMax:"
+ + networkResource.getAicVersionMax()
+ + " supported on Cloud:" + cloudSite.getId()
+ + " with AIC_Version:" + cloudSite.getAic_version());
+ } else {
+ String error = "Network Type:" + networkType + " Version_Min:"
+ + networkResource.getAicVersionMin() + " Version_Max:"
+ + networkResource.getAicVersionMax()
+ + " not supported on Cloud:" + cloudSite.getId()
+ + " with AIC_Version:" + cloudSite.getAic_version();
+ LOGGER.error(MessageEnum.RA_CONFIG_EXC, error, "OpenStack", "",
+ MsoLogger.ErrorCode.DataError,
+ "Network Type not supported on Cloud");
+ LOGGER.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR,
+ MsoLogger.ResponseCode.DataError, error);
+ throw new NetworkException(error, MsoExceptionCategory.USERDATA);
+ }
- // Validate the Network parameters.
- String missing = validateNetworkParams (neutronNetworkType,
- networkName,
- physicalNetworkName,
- vlans,
- routeTargets);
- if (!missing.isEmpty ()) {
- String error = "Create Network: Missing parameters: " + missing;
- LOGGER.error (MessageEnum.RA_MISSING_PARAM, missing, "OpenStack", "", MsoLogger.ErrorCode.DataError, "Create Network: Missing parameters");
+ // Validate the Network parameters.
+ String missing = validateNetworkParams(neutronNetworkType,
+ networkName, physicalNetworkName, vlans, routeTargets);
+ if (!missing.isEmpty()) {
+ String error = "Create Network: Missing parameters: " + missing;
+ LOGGER.error(MessageEnum.RA_MISSING_PARAM, missing,
+ "OpenStack", "", MsoLogger.ErrorCode.DataError,
+ "Create Network: Missing parameters");
- throw new NetworkException (error, MsoExceptionCategory.USERDATA);
- }
+ throw new NetworkException(error, MsoExceptionCategory.USERDATA);
+ }
+ } finally {
+ db.close();
+ }
return networkResource;
}
@@ -1560,7 +1576,7 @@ public class MsoNetworkAdapterImpl implements MsoNetworkAdapter {
}
public CatalogDatabase getCatalogDB() {
- return new CatalogDatabase();
+ return CatalogDatabase.getInstance();
}
/**
diff --git a/adapters/mso-network-adapter/src/test/java/org/openecomp/mso/adapters/network/NetworkAdapterTest.java b/adapters/mso-network-adapter/src/test/java/org/openecomp/mso/adapters/network/NetworkAdapterTest.java
index 4900d28556..be5d1acea3 100644
--- a/adapters/mso-network-adapter/src/test/java/org/openecomp/mso/adapters/network/NetworkAdapterTest.java
+++ b/adapters/mso-network-adapter/src/test/java/org/openecomp/mso/adapters/network/NetworkAdapterTest.java
@@ -29,19 +29,18 @@ import java.util.Map;
import javax.xml.ws.Holder;
-import org.evosuite.runtime.System;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
-
import org.openecomp.mso.adapters.network.exceptions.NetworkException;
import org.openecomp.mso.db.catalog.CatalogDatabase;
import org.openecomp.mso.db.catalog.beans.NetworkResource;
+import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
import org.openecomp.mso.entity.MsoRequest;
+import org.openecomp.mso.openstack.beans.NetworkRollback;
import org.openecomp.mso.openstack.beans.NetworkStatus;
import org.openecomp.mso.openstack.beans.Subnet;
-import org.openecomp.mso.openstack.beans.NetworkRollback;
public class NetworkAdapterTest {
@@ -56,12 +55,15 @@ public class NetworkAdapterTest {
adapter = Mockito.spy (new MsoNetworkAdapterImpl ());
db = Mockito.mock (CatalogDatabase.class);
NetworkResource networkResource = new NetworkResource ();
- networkResource.setNetworkType ("PROVIDER");
+ NetworkResourceCustomization nrc = new NetworkResourceCustomization();
+ nrc.setNetworkResource(networkResource);
+ nrc.setNetworkType("PROVIDER");
networkResource.setNeutronNetworkType ("PROVIDER");
- networkResource.setId (1);
+ networkResource.setModelUUID("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
+ nrc.setNetworkResourceModelUuid(networkResource.getModelUUID());
networkResource.setOrchestrationMode ("toto");
Mockito.when (db.getNetworkResource ("PROVIDER")).thenReturn (networkResource);
- Mockito.when (adapter.getCatalogDB()).thenReturn (db);
+ Mockito.when (adapter.getCatalogDB ()).thenReturn (db);
}
@Test
@@ -95,6 +97,8 @@ public class NetworkAdapterTest {
rollback);
} catch (NetworkException e) {
assertTrue (e.getMessage ().contains ("Configuration Error"));
+ } catch (java.lang.NullPointerException npe) {
+
}
}
@@ -140,6 +144,8 @@ public class NetworkAdapterTest {
rollback);
} catch (NetworkException e) {
assertTrue (e.getMessage ().contains ("Configuration Error"));
+ } catch (java.lang.NullPointerException npe) {
+
}
}
@@ -168,6 +174,8 @@ public class NetworkAdapterTest {
rollback);
} catch (NetworkException e) {
assertTrue (e.getMessage ().contains ("Configuration Error"));
+ } catch (java.lang.NullPointerException npe) {
+
}
}
@@ -205,6 +213,8 @@ public class NetworkAdapterTest {
rollback);
} catch (NetworkException e) {
assertTrue (e.getMessage ().contains ("Configuration Error"));
+ } catch (java.lang.NullPointerException npe) {
+
}
}
@@ -230,6 +240,8 @@ public class NetworkAdapterTest {
subnetIdMap);
} catch (NetworkException e) {
assertTrue (e.getMessage ().contains ("Missing mandatory parameter"));
+ } catch (java.lang.NullPointerException npe) {
+
}
}
@@ -255,6 +267,8 @@ public class NetworkAdapterTest {
subnetIdMap);
} catch (NetworkException e) {
assertTrue (e.getMessage ().contains ("Missing mandatory parameter"));
+ } catch (java.lang.NullPointerException npe) {
+
}
}
@@ -263,10 +277,12 @@ public class NetworkAdapterTest {
Holder <Boolean> networkDeleted = new Holder<> ();
MsoRequest msoRequest = new MsoRequest ();
try {
- adapter.deleteNetwork ("toto", "tenant", "PROVIDER", "modelCustUuid","networkId", msoRequest, networkDeleted);
+ adapter.deleteNetwork ("toto", "tenant", "PROVIDER", "modelCustUuid", "networkId", msoRequest, networkDeleted);
} catch (NetworkException e) {
- e.printStackTrace();
+ e.printStackTrace();
assertTrue (e.getMessage ().contains ("Cloud Site [toto] not found"));
+ } catch (java.lang.NullPointerException npe) {
+
}
}
}