aboutsummaryrefslogtreecommitdiffstats
path: root/adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java
diff options
context:
space:
mode:
authorSmokowski, Steven <steve.smokowski@att.com>2020-11-03 12:29:22 -0500
committerBenjamin, Max (mb388a) <mb388a@att.com>2020-11-03 13:25:31 -0500
commit6dc5d95ce5fda8a5990f0e150b7b40be98172a08 (patch)
treef0030df74c3158c62e004330a796113623fbc7d9 /adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java
parent83ff479029986df8326e3119d3ee31f77209c455 (diff)
put back logic to create VNFC edges
put back logic to create VNFC edges Consolidated similiar sim scenrios into 1 and updated robots properties Support macro scerios for vnfc to vfmodule relationship. Issue-ID: SO-3361 Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com> Change-Id: Idcb9bb179b4dc3c16bc97939c8260462dd27ca4e
Diffstat (limited to 'adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java')
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java31
1 files changed, 26 insertions, 5 deletions
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java
index 1264727f35..8ee87b50c3 100644
--- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java
+++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/heatbridge/HeatBridgeImpl.java
@@ -317,8 +317,8 @@ public class HeatBridgeImpl implements HeatBridgeApi {
@Override
public void buildAddVserversToAaiAction(final String genericVnfId, final String vfModuleId,
- final List<Server> servers) {
- servers.forEach(server -> {
+ final List<Server> servers) throws HeatBridgeException {
+ for (Server server : servers) {
Vserver vserver = aaiHelper.buildVserver(server.getId(), server);
// Build vserver relationships to: image, flavor, pserver, vf-module
@@ -326,11 +326,28 @@ public class HeatBridgeImpl implements HeatBridgeApi {
aaiHelper.getVserverRelationshipList(cloudOwner, cloudRegionId, genericVnfId, vfModuleId, server));
AAIResourceUri vserverUri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure()
.cloudRegion(cloudOwner, cloudRegionId).tenant(tenantId).vserver(vserver.getVserverId()));
+
if (resourcesClient.exists(vserverUri)) {
AAIResultWrapper existingVserver = resourcesClient.get(vserverUri);
+ AAIResourceUri vfModuleUri = AAIUriFactory.createResourceUri(
+ AAIFluentTypeBuilder.network().genericVnf(genericVnfId).vfModule(vfModuleId));
+ if (!existingVserver.hasRelationshipsTo(Types.VNFC)) {
+ AAIResultWrapper vfModule = resourcesClient.get(vfModuleUri);
+ if (vfModule.hasRelationshipsTo(Types.VNFC)) {
+ List<AAIResourceUri> vnfcUris = vfModule.getRelationships().get().getRelatedUris(Types.VNFC);
+ Optional<AAIResourceUri> foundVnfcURI = vnfcUris.stream().filter(resourceUri -> resourceUri
+ .getURIKeys().get("vnfc-name").startsWith(vserver.getVserverName())).findFirst();
+ if (foundVnfcURI.isEmpty()) {
+ throw new HeatBridgeException("Cannot Find VNFC to create edge to VServer");
+ }
+ transaction.connect(vserverUri, foundVnfcURI.get());
+ } else {
+ throw new HeatBridgeException(
+ "VF Module contains no relationships to VNFCS, cannot build edge to VServer");
+ }
+ }
+
if (!existingVserver.hasRelationshipsTo(Types.VF_MODULE)) {
- AAIResourceUri vfModuleUri = AAIUriFactory.createResourceUri(
- AAIFluentTypeBuilder.network().genericVnf(genericVnfId).vfModule(vfModuleId));
transaction.connect(vserverUri, vfModuleUri);
}
if (!existingVserver.hasRelationshipsTo(Types.PSERVER)) {
@@ -341,7 +358,7 @@ public class HeatBridgeImpl implements HeatBridgeApi {
} else {
transaction.create(vserverUri, vserver);
}
- });
+ }
}
@Override
@@ -833,6 +850,10 @@ public class HeatBridgeImpl implements HeatBridgeApi {
}
}
+ protected void setAAIHelper(AaiHelper aaiHelper) {
+ this.aaiHelper = aaiHelper;
+ }
+
protected AAIDSLQueryClient getAAIDSLClient() {
if (aaiDSLClient == null) {
aaiDSLClient = new AAIDSLQueryClient();