From 7aa6d16dff7103b7b83fbd3261c2caa374b7810e Mon Sep 17 00:00:00 2001 From: "Tait,Trevor(rt0435)" Date: Thu, 31 Jan 2019 08:44:51 -0500 Subject: SDNC Context Builder : L2 Fabric Retrieval - pnf Code to retrieve pnf data from SDNC. Includes new URI to GET port-mirror-configurations. Issue-ID: LOG-778 Change-Id: I0264e544d1f08f660ee783b626438a1259617a69 Signed-off-by: Tait,Trevor(rt0435) --- config/application.properties | 1 + config/portMirrorConfigurations.spec | 32 ++ config/providedConfigurations.spec | 25 + .../contextbuilder/sdnc/SdncConfiguration.java | 8 + .../sdnc/handlers/GenericResourceApiHandler.java | 7 +- .../pomba/contextbuilder/sdnc/util/RestUtil.java | 36 +- .../unittest/service/SdncContextBuilderTest.java | 3 + .../junit/portMirrorConfigurationsResponse.json | 23 + src/test/resources/junit/sdncGenericResponse.json | 503 +++++++++++++-------- 9 files changed, 450 insertions(+), 188 deletions(-) create mode 100644 config/portMirrorConfigurations.spec create mode 100644 config/providedConfigurations.spec create mode 100644 src/test/resources/junit/portMirrorConfigurationsResponse.json diff --git a/config/application.properties b/config/application.properties index c454c01..87eca62 100644 --- a/config/application.properties +++ b/config/application.properties @@ -27,6 +27,7 @@ sdnc.password=OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1m sdnc.connectionTimeout=5000 sdnc.readTimeout=1000 sdnc.genericResourcePath=/restconf/config/GENERIC-RESOURCE-API:services/service/{0} +sdnc.portMirrorResourcePath=/restconf/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{0}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input sdnc.vnfPath=/restconf/config/VNF-API:vnfs/vnf-list/{0} #Servlet context parameters diff --git a/config/portMirrorConfigurations.spec b/config/portMirrorConfigurations.spec new file mode 100644 index 0000000..c570c59 --- /dev/null +++ b/config/portMirrorConfigurations.spec @@ -0,0 +1,32 @@ +[ + // Use https://jolt-demo.appspot.com/#inception to develop/test + // any changes to this file + + { + // This section extracts pnf-information from the GENERIC-RESOURCES-API + // response from sdnc + "operation": "shift", + "spec": { + "port-mirror-configuration-request-input": { + "source-port": { + "*": { + "pnf-information": { + "pnf-name": "pnfList[0].name", + "#nfType": "pnfList[0].attributeList[0].name", + "pnf-type": "pnfList[0].attributeList[0].value" + } + } + }, + "dest-port": { + "*": { + "pnf-information": { + "pnf-name": "pnfList[1].name", + "#nfType": "pnfList[1].attributeList[0].name", + "pnf-type": "pnfList[1].attributeList[0].value" + } + } + } + } + } + } + ] diff --git a/config/providedConfigurations.spec b/config/providedConfigurations.spec new file mode 100644 index 0000000..6af573f --- /dev/null +++ b/config/providedConfigurations.spec @@ -0,0 +1,25 @@ +[ + // Use https://jolt-demo.appspot.com/#inception to develop/test + // any changes to this file + + { + // This section extracts configuration-id from the GENERIC-RESOURCES-API + // response from sdnc + "operation": "shift", + "spec": { + "service": { + "*": { + "service-data": { + "provided-configurations": { + "provided-configuration": { + "*": { + "configuration-id": "configuration-id[&1]" + } + } + } + } + } + } + } + } + ] \ No newline at end of file diff --git a/src/main/java/org/onap/pomba/contextbuilder/sdnc/SdncConfiguration.java b/src/main/java/org/onap/pomba/contextbuilder/sdnc/SdncConfiguration.java index 35fe248..ebf308c 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/sdnc/SdncConfiguration.java +++ b/src/main/java/org/onap/pomba/contextbuilder/sdnc/SdncConfiguration.java @@ -55,6 +55,9 @@ public class SdncConfiguration { @Value("${sdnc.genericResourcePath}") private String genericResourcePath; + @Value("${sdnc.portMirrorResourcePath}") + private String portMirrorResourcePath; + @Value("${sdnc.vnfPath}") private String vnfPath; @@ -118,6 +121,11 @@ public class SdncConfiguration { return genericResourcePath; } + @Bean(name="sdncPortMirrorResourcePath") + public String getPortMirrorResourcePath() { + return portMirrorResourcePath; + } + @Bean(name="sdncVnfPath") public String getVnfPath() { return vnfPath; diff --git a/src/main/java/org/onap/pomba/contextbuilder/sdnc/handlers/GenericResourceApiHandler.java b/src/main/java/org/onap/pomba/contextbuilder/sdnc/handlers/GenericResourceApiHandler.java index f9655b0..8261e59 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/sdnc/handlers/GenericResourceApiHandler.java +++ b/src/main/java/org/onap/pomba/contextbuilder/sdnc/handlers/GenericResourceApiHandler.java @@ -42,8 +42,8 @@ public class GenericResourceApiHandler { private String sdncBasicAuthorization; @Autowired private String sdncGenericResourcePath; - - private String specPath = "config/sdncgenericresource.spec"; + @Autowired + private String sdncPortMirrorResourcePath; public ModelContext process(Exchange exchange) throws AuditException { @@ -55,7 +55,8 @@ public class GenericResourceApiHandler { try { String sdncResponse = RestUtil.getSdncGenericResource(jerseyClient, sdncBaseUrl, sdncBasicAuthorization, sdncGenericResourcePath, serviceInstanceId); - context = RestUtil.transformGenericResource(sdncResponse, specPath); + context = RestUtil.transformGenericResource(sdncResponse); + context.setPnfs(RestUtil.getPnfFromSdncResonse(jerseyClient, sdncBaseUrl, sdncBasicAuthorization, sdncPortMirrorResourcePath, sdncResponse)); } catch (AuditException ae) { throw ae; } catch (Exception e) { diff --git a/src/main/java/org/onap/pomba/contextbuilder/sdnc/util/RestUtil.java b/src/main/java/org/onap/pomba/contextbuilder/sdnc/util/RestUtil.java index ec1d0c9..ab48ac5 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/sdnc/util/RestUtil.java +++ b/src/main/java/org/onap/pomba/contextbuilder/sdnc/util/RestUtil.java @@ -21,6 +21,9 @@ package org.onap.pomba.contextbuilder.sdnc.util; import com.bazaarvoice.jolt.Chainr; import com.bazaarvoice.jolt.JsonUtils; import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import com.sun.jersey.core.util.MultivaluedMapImpl; import java.text.MessageFormat; import java.util.ArrayList; @@ -47,6 +50,7 @@ import org.onap.pomba.common.datatypes.Attribute; import org.onap.pomba.common.datatypes.Attribute.Name; import org.onap.pomba.common.datatypes.ModelContext; import org.onap.pomba.common.datatypes.Network; +import org.onap.pomba.common.datatypes.PNF; import org.onap.pomba.common.datatypes.Service; import org.onap.pomba.common.datatypes.VFModule; import org.onap.pomba.common.datatypes.VNF; @@ -91,7 +95,10 @@ public class RestUtil { private static final String FORWARD_SLASH = "/"; // SDNC vnf Json Path - private static final String SPEC_PATH = "config/vnflist.spec"; + private static final String VNF_SPEC_PATH = "config/vnflist.spec"; + private static final String GENERIC_API_SPEC_PATH = "config/sdncgenericresource.spec"; + private static final String PROVIDED_CONFIGURATIONS_SPEC_PATH = "config/providedConfigurations.spec"; + private static final String PORT_MIRROR_CONFIGURATIONS_SPEC_PATH = "config/portMirrorConfigurations.spec"; // Parameters for Query SDNC Model Data REST API URL private static final String SERVICE_INSTANCE_ID = "serviceInstanceId"; @@ -207,8 +214,8 @@ public class RestUtil { } - public static ModelContext transformGenericResource(String sdncResponse, String SPEC_PATH) { - List jsonSpec = JsonUtils.filepathToList(SPEC_PATH); + public static ModelContext transformGenericResource(String sdncResponse) { + List jsonSpec = JsonUtils.filepathToList(GENERIC_API_SPEC_PATH); Object jsonInput = JsonUtils.jsonToObject(sdncResponse); Chainr chainr = Chainr.fromSpec(jsonSpec); Object transObject = chainr.transform(jsonInput); @@ -217,6 +224,27 @@ public class RestUtil { } + public static List getPnfFromSdncResonse(Client sdncClient, String sdncBaseUrl, String authorization, String sdncPortMirrorResourcePath, String sdncResponse) throws AuditException { + List providedConfigurationsSpec = JsonUtils.filepathToList(PROVIDED_CONFIGURATIONS_SPEC_PATH); + Object providedConfigurationsInput = JsonUtils.jsonToObject(sdncResponse); + Chainr providedConfigurations = Chainr.fromSpec(providedConfigurationsSpec); + Object providedConfigurationsObject = providedConfigurations.transform(providedConfigurationsInput); + Gson gson = new Gson(); + JsonElement jsonElement = gson.toJsonTree(providedConfigurationsObject); + JsonObject jsonObject = (JsonObject) jsonElement; + JsonArray jsonArray = jsonObject.getAsJsonArray("configuration-id"); + for (JsonElement configurationId : jsonArray) { + String pnfId = configurationId.getAsString(); + String portMirrorResponse = getSdncGenericResource(sdncClient, sdncBaseUrl, authorization, sdncPortMirrorResourcePath, pnfId); + List portMirrorSpec = JsonUtils.filepathToList(PORT_MIRROR_CONFIGURATIONS_SPEC_PATH); + Object portMirrorInput = JsonUtils.jsonToObject(portMirrorResponse); + Chainr portMirror = Chainr.fromSpec(portMirrorSpec); + Object portMirrorObject = portMirror.transform(portMirrorInput); + return gson.fromJson(JsonUtils.toPrettyJsonString(portMirrorObject), ModelContext.class).getPnfs(); + } + return new ArrayList<>(); + } + /** * Transform the AAI and SDNC models to the audit common model * @param aaiVnfLst @@ -526,7 +554,7 @@ public class RestUtil { * Extract the vnf-list from the Json payload. */ private static List extractVnfList(String payload) throws AuditException { - List jsonSpec = JsonUtils.filepathToList(SPEC_PATH); + List jsonSpec = JsonUtils.filepathToList(VNF_SPEC_PATH); Object jsonInput = JsonUtils.jsonToObject(payload); Chainr chainr = Chainr.fromSpec(jsonSpec); Object transObject = chainr.transform(jsonInput); diff --git a/src/test/java/org/onap/pomba/contextbuilder/sdnc/unittest/service/SdncContextBuilderTest.java b/src/test/java/org/onap/pomba/contextbuilder/sdnc/unittest/service/SdncContextBuilderTest.java index 46c4eb5..d5bdc51 100644 --- a/src/test/java/org/onap/pomba/contextbuilder/sdnc/unittest/service/SdncContextBuilderTest.java +++ b/src/test/java/org/onap/pomba/contextbuilder/sdnc/unittest/service/SdncContextBuilderTest.java @@ -73,6 +73,7 @@ public class SdncContextBuilderTest { private String servicePath = "/service-subscriptions/service-subscription/vFW/service-instances/service-instance/"; private String genericVnfPath = "/aai/v11/network/generic-vnfs/generic-vnf/"; private String genericResourcePath = "/restconf/config/GENERIC-RESOURCE-API:services/service/"; + private String portMirrorConfigurationsResourcePath = "/restconf/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/3c368d8d-efda-49d4-bbb5-a6465330a230/configuration-data/configuration-operation-information/port-mirror-configuration-request-input"; private String vnfPath = "/restconf/config/VNF-API:vnfs/vnf-list/"; private String serviceInstanceIdVfw = "7d518257-49bd-40ac-8d17-017a726ec12a"; // customerData.json private String serviceInstanceIdVcpe = "68352304-7bba-4609-8551-0d0b819376c3"; // queryNodeDataVcpe.json @@ -198,6 +199,8 @@ public class SdncContextBuilderTest { String urlStr = genericResourcePath + serviceInstanceIdVcpe; addResponse(urlStr, "junit/sdncGenericResponse.json", sdncRule); + addResponse(portMirrorConfigurationsResourcePath, "junit/portMirrorConfigurationsResponse.json", sdncRule); + response = this.service.getContext(httpServletRequest, mockHttpHeaders, serviceInstanceIdVcpe); assertEquals(Status.OK.getStatusCode(), response.getStatus()); diff --git a/src/test/resources/junit/portMirrorConfigurationsResponse.json b/src/test/resources/junit/portMirrorConfigurationsResponse.json new file mode 100644 index 0000000..1c9b430 --- /dev/null +++ b/src/test/resources/junit/portMirrorConfigurationsResponse.json @@ -0,0 +1,23 @@ +{ + "port-mirror-configuration-request-input": { + "source-port": [ + { + "vnf-information": { + "vnf-id": "09a8c1d8-0981-4e3d-a4c0-6007d6f57e1b" + }, + "pnf-information": { + "pnf-name": "onapTest1", + "pnf-type": "onapSrc" + } + } + ], + "dest-port": [ + { + "pnf-information": { + "pnf-name": "onapTest2", + "pnf-type": "onapDest" + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/junit/sdncGenericResponse.json b/src/test/resources/junit/sdncGenericResponse.json index b51d3aa..096c71e 100644 --- a/src/test/resources/junit/sdncGenericResponse.json +++ b/src/test/resources/junit/sdncGenericResponse.json @@ -1,240 +1,381 @@ { "service": [ { - "service-instance-id": "b06270ab-99e6-4a58-9bc0-db2df5c36f4d", + "service-instance-id": "PombaDemoCust_001-SerivceInst-001", + "service-status": { + "final-indicator": "Y", + "rpc-action": "assign", + "rpc-name": "vf-module-topology-operation", + "response-code": "200", + "response-timestamp": "2018-08-27T01:58:25.652Z", + "action": "CreateVfModuleInstance", + "response-message": "", + "request-status": "synccomplete" + }, "service-data": { - "service-information": { - "service-instance-id": "b06270ab-99e6-4a58-9bc0-db2df5c36f4d", - "global-customer-id": "notsurewecare", - "subscription-service-type": "null", - "service-id": "null" + "provided-configurations": { + "provided-configuration": [ + { + "configuration-id": "3c368d8d-efda-49d4-bbb5-a6465330a230" + } + ] }, - "service-level-oper-status": { - "order-status": "Created" + "service-request-input": { + "service-instance-name": "vfw_svc_vfwsvc_rescust_0822a_201808262153", + "service-input-parameters": { + "param": [ + { + "name": "BRG_WAN_MAC_Address", + "value": "fa:16:3e:79:24:0e" + }, + { + "name": "customerLongitude", + "value": "-97.040443" + }, + { + "name": "customerLatitude", + "value": "32.897480" + }, + { + "name": "Homing_Solution", + "value": "sniro" + }, + { + "name": "customerName", + "value": "some_company" + } + ] + } + }, + "service-information": { + "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "onap-model-information": { + "model-invariant-uuid": "3a4e6986-5c5e-434e-b0be-8d718107fa83", + "model-name": "vfwsvc_rescust_0822a", + "model-version": "1.0", + "model-uuid": "209efacc-54d4-4f12-9064-099d47c36a29" + }, + "service-instance-id": "7d518257-49bd-40ac-8d17-017a726ec12a", + "global-customer-id": "SDN-ETHERNET-INTERNET", + "subscription-service-type": "vFW" }, "service-topology": { "service-topology-identifier": { - "service-instance-id": "b06270ab-99e6-4a58-9bc0-db2df5c36f4d", - "global-customer-id": "notsurewecare", - "service-type": "null", - "service-id": "null" + "service-instance-id": "7d518257-49bd-40ac-8d17-017a726ec12a", + "service-instance-name": "vfw_svc_vfwsvc_rescust_0822a_201808262153", + "global-customer-id": "SDN-ETHERNET-INTERNET", + "service-type": "vFW" + }, + "onap-model-information": { + "model-invariant-uuid": "3a4e6986-5c5e-434e-b0be-8d718107fa83", + "model-name": "vfwsvc_rescust_0822a", + "model-version": "1.0", + "model-uuid": "209efacc-54d4-4f12-9064-099d47c36a29" } }, + "sdnc-request-header": { + "svc-action": "assign", + "svc-request-id": "dd3dffc8-6a15-4f7f-9787-d835ee247283", + "svc-notification-url": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/adapters/rest/SDNCNotify" + }, + "request-information": { + "request-id": "2a950a5c-21bf-4496-a592-b51f45719603", + "request-action": "CreateServiceInstance", + "source": "MSO" + }, + "networks": { + "network": [ + { + "network-id": "8e32ec2c-47a1-4514-b21a-2806e23f0437", + "network-data": { + "network-topology": { + "network-topology-identifier-structure": { + "network-technology": "contrail", + "network-type": "CONTRAIL30_BASIC", + "network-name": "ONAP-TEST", + "network-id": "8e32ec2c-47a1-4514-b21a-2806e23f0437", + "network-role": "trusted" + }, + "onap-model-information": { + "model-invariant-uuid": "testNetworkNameInvariantUUID" + } + } + } + } + ] + }, "vnfs": { "vnf": [ { - "vnf-id": "1239053c-1322-42f2-a425-5fd34536dd98", + "vnf-id": "bf2a200d-744f-4900-afc4-d5ef44638467", "vnf-data": { - "vnf-level-oper-status": { - "order-status": "Created" - }, - "service-information": { - "service-instance-id": "b06270ab-99e6-4a58-9bc0-db2df5c36f4d", - "global-customer-id": "notsurewecare", - "subscription-service-type": "null", - "service-id": "null" - }, - "vnf-topology": { - "tenant": "d0a030fc9fd942c88d8bbb3165c96456", - "vnf-topology-identifier-structure": { - "vnf-id": "1239053c-1322-42f2-a425-5fd34536dd98", - "vnf-type": "mDNS_Preload_1802_0108/mDNS_Preload_1802_0108 0", - "vnf-name": "mDNS_Preload_1802_0108_rk_01" - }, - "vnf-resource-assignments": { - "vnf-networks": [ - { - "network-role": "signaling", - "network-name": "vnfTest1", - "ipv6-subnet-id": "936e0970-7403-48ef-9cf3-6374b42c5497", - "neutron-id": "5755dd95-b8f4-469a-931f-200727ed1933", - "network-id": "vnfTest1-c41f-43e4-a5be-9a39b21949c8", - "contrail-network-fqdn": "default-domain:APP-C-24595-T-IST-05A:vshaken_signal", - "ipv6-subnet-name": "vshaken_signal_v6_s1" - }, - { - "network-role": "management", - "subnet-name": "vshaken_mgmt_v4_s1", - "network-name": "vnfTest2", - "subnet-id": "1bf746bc-aace-4575-b8e6-4c8f9ccddd42", - "neutron-id": "96f4178f-ef7a-4754-acd0-269e9c5f0fc4", - "network-id": "vnfTest2-3359-4a47-a868-458c13545624", - "contrail-network-fqdn": "default-domain:APP-C-24595-T-IST-05A:vshaken_mgmt" - } - ] - }, - "aic-cloud-region": "mtn23a" - }, - "vnf-information": { - "vnf-id": "1239053c-1322-42f2-a425-5fd34536dd98", - "vnf-type": "mDNS_Preload_1802_0108/mDNS_Preload_1802_0108 0", - "vnf-name": "mDNS_Preload_1802_0108_rk_01" - }, - "vnf-request-input": { - "tenant": "d0a030fc9fd942c88d8bbb3165c96456", - "aic-cloud-region": "mtn23a", - "vnf-name": "mDNS_Preload_1802_0108_rk_01" - }, "vf-modules": { "vf-module": [ { - "vf-module-id": "c3cae358-5479-4fdf-b3fb-7f51e87b40ca", + "vf-module-id": "815e8636-5c2a-41ad-b24d-17c824106bd2", "vf-module-data": { "service-information": { - "service-instance-id": "b06270ab-99e6-4a58-9bc0-db2df5c36f4d", - "global-customer-id": "notsurewecare", - "subscription-service-type": "null", - "service-id": "null" - }, - "vf-module-level-oper-status": { - "order-status": "Created" + "service-id": "null", + "onap-model-information": { + "model-invariant-uuid": "3a4e6986-5c5e-434e-b0be-8d718107fa83", + "model-name": "vfwsvc_rescust_0822a", + "model-version": "1.0", + "model-uuid": "209efacc-54d4-4f12-9064-099d47c36a29" + }, + "service-instance-id": "7d518257-49bd-40ac-8d17-017a726ec12a", + "global-customer-id": "SDN-ETHERNET-INTERNET", + "subscription-service-type": "null" }, "vf-module-topology": { - "tenant": "d0a030fc9fd942c88d8bbb3165c96456", - "aic-cloud-region": "mtn23a", + "onap-model-information": { + "model-invariant-uuid": "7e91451d-e320-4755-a1a8-fcf140b86779", + "model-name": "VfwvspVgw0822a..base_vfw_vgw..module-0", + "model-version": "1", + "model-customization-uuid": "7fbb59b7-a7ac-4fa6-b0bc-42f47339010a", + "model-uuid": "1908874e-cfae-4ee1-93b9-f4ba46b460ff" + }, + "vf-module-parameters": { + "param": [ + { + "name": "mux_ip_addr", + "value": "10.5.0.21" + }, + { + "name": "mux_gw_private_net_id", + "value": "vfw_net_mux_gw_201808231522" + }, + { + "name": "vg_vgmux_tunnel_vni", + "value": "107" + }, + { + "name": "repo_url_artifacts", + "value": "https://nexus.onap.org/content/groups/staging" + }, + { + "name": "cpe_public_net_id", + "value": "vfw_net_cpe_public_201808231522" + }, + { + "name": "key_name", + "value": "vgw_key" + }, + { + "name": "onap_private_subnet_id", + "value": "oam_onap_1MdY" + }, + { + "name": "cpe_public_net_cidr", + "value": "10.2.0.0/24" + }, + { + "name": "mux_gw_private_net_cidr", + "value": "10.5.0.0/24" + }, + { + "name": "cloud_env", + "value": "openstack" + }, + { + "name": "cpe_public_subnet_id", + "value": "vfw_net_cpe_public_subnet_201808231522" + }, + { + "name": "mux_gw_private_subnet_id", + "value": "vfw_net_mux_gw_subnet_201808231522" + }, + { + "name": "onap_private_net_id", + "value": "oam_onap_1MdY" + }, + { + "name": "repo_url_blob", + "value": "https://nexus.onap.org/content/sites/raw" + }, + { + "name": "install_script_version", + "value": "1.1.1" + }, + { + "name": "demo_artifacts_version", + "value": "1.1.1" + }, + { + "name": "vgw_name_0", + "value": "zdcpe1cpe01gw01_201808261550" + }, + { + "name": "vgw_private_ip_1", + "value": "10.0.101.99" + }, + { + "name": "vgw_private_ip_0", + "value": "10.5.0.107" + }, + { + "name": "public_net_id", + "value": "971040b2-7059-49dc-b220-4fab50cb2ad4" + }, + { + "name": "vgw_private_ip_2", + "value": "10.2.0.6" + }, + { + "name": "onap_private_net_cidr", + "value": "10.0.0.0/16" + }, + { + "name": "pub_key", + "value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh" + } + ] + }, + "tenant": "7fad299815104c0a8f90a8df80343f03", + "aic-clli": "clli1", + "aic-cloud-region": "RegionOne", "vf-module-topology-identifier": { - "vf-module-type": "MdnsPreload18020108..dns_az_01..module-1", - "vf-module-id": "c3cae358-5479-4fdf-b3fb-7f51e87b40ca", - "vf-module-name": "zmtn23amdns04cmd001" + "vf-module-id": "815e8636-5c2a-41ad-b24d-17c824106bd2", + "vf-module-name": "zRegionOne06_base_vfw_vgw_0", + "vf-module-type": "VfwvspVgw0822a..base_vfw_vgw..module-0" }, "vf-module-assignments": { "vms": { "vm": [ { - "vm-type": "dns", - "vm-count": 4, - "inMaint": "no", - "pserver": { - "hostname": "somerandomserver.ottawa.com" - }, - "image": { - "image-name": "cfad8f38-3d4c-4aec-8bd4-f83ad605acbe" - }, - "prov-status": "Available", + "vm-type": "vgw", + "vm-count": 1, + "vm-type-tag": "vgw", "vm-names": { - "vnfc-names": [ - { - "vnfc-name": "mDNS_Preload_1802_0108_rk_01dns012" - } - ], "vm-name": [ - "mDNS_Preload_1802_0108_rk_01dns009", - "mDNS_Preload_1802_0108_rk_01dns010", - "mDNS_Preload_1802_0108_rk_01dns011", - "mDNS_Preload_1802_0108_rk_01dns012" + "zRegionOne06001" ] } } - ], - "vm-networks": [ - { - "network-role": "signaling", - "network-name": "vshaken_signal", - "ipv6-subnet-id": "936e0970-7403-48ef-9cf3-6374b42c5497", - "neutron-id": "5755dd95-b8f4-469a-931f-200727ed1933", - "network-id": "77747167-c41f-43e4-a5be-9a39b21949c8", - "contrail-network-fqdn": "default-domain:APP-C-24595-T-IST-05A:vshaken_signal", - "ipv6-subnet-name": "vshaken_signal_v6_s1" - }, - { - "network-role": "management", - "subnet-name": "vshaken_mgmt_v4_s1", - "network-name": "vshaken_mgmt", - "subnet-id": "1bf746bc-aace-4575-b8e6-4c8f9ccddd42", - "neutron-id": "96f4178f-ef7a-4754-acd0-269e9c5f0fc4", - "network-id": "1dc87784-3359-4a47-a868-458c13545624", - "contrail-network-fqdn": "default-domain:APP-C-24595-T-IST-05A:vshaken_mgmt" - } ] } - }, - "vf-module-parameters": {}, - "onap-model-information": { - "model-customization-uuid": "912b0ae5-1dd3-417c-b95a-9ed7d5a13ef4" } }, "vf-module-request-input": { - "tenant": "d0a030fc9fd942c88d8bbb3165c96456", - "aic-cloud-region": "mtn23a", - "vf-module-name": "zmtn23amdns04cmd001" + "vf-module-name": "zRegionOne06_base_vfw_vgw_0", + "tenant": "7fad299815104c0a8f90a8df80343f03", + "aic-cloud-region": "RegionOne" }, "vf-module-information": { - "vf-module-type": "MdnsPreload18020108..dns_az_01..module-1", - "from-preload": false - }, - "vnf-information": { - "vnf-id": "1239053c-1322-42f2-a425-5fd34536dd98", - "vnf-type": "mDNS_Preload_1802_0108/mDNS_Preload_1802_0108 0" - } - } - }, - { - "vf-module-id": "b8cc44e1-fb99-4df4-898a-1ef14a6f4b2b", - "vf-module-data": { - "service-information": { - "service-instance-id": "b06270ab-99e6-4a58-9bc0-db2df5c36f4d", - "global-customer-id": "notsurewecare", - "subscription-service-type": "null", - "service-id": "null" + "onap-model-information": { + "model-invariant-uuid": "7e91451d-e320-4755-a1a8-fcf140b86779", + "model-name": "VfwvspVgw0822a..base_vfw_vgw..module-0", + "model-version": "1", + "model-customization-uuid": "7fbb59b7-a7ac-4fa6-b0bc-42f47339010a", + "model-uuid": "1908874e-cfae-4ee1-93b9-f4ba46b460ff" + }, + "vf-module-id": "815e8636-5c2a-41ad-b24d-17c824106bd2", + "vf-module-type": "VfwvspVgw0822a..base_vfw_vgw..module-0" }, - "vf-module-level-oper-status": { - "order-status": "Created" + "sdnc-request-header": { + "svc-action": "assign", + "svc-request-id": "2a950a5c-21bf-4496-a592-b51f45719603-1535335110722", + "svc-notification-url": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/adapters/rest/SDNCNotify" }, - "vf-module-topology": { - "tenant": "d0a030fc9fd942c88d8bbb3165c96456", - "aic-cloud-region": "mtn23a", - "vf-module-topology-identifier": { - "vf-module-type": "MdnsPreload18020108..base_dns..module-0", - "vf-module-id": "b8cc44e1-fb99-4df4-898a-1ef14a6f4b2b", - "vf-module-name": "zmtn23amdns04cmd001_base" - }, - "vf-module-assignments": {}, - "vf-module-parameters": {}, + "vnf-information": { + "vnf-id": "bf2a200d-744f-4900-afc4-d5ef44638467", + "vnf-type": "vfwsvc_rescust_0822a/vfwvsp_vgw_0822a 0", "onap-model-information": { - "model-customization-uuid": "29af7474-5859-49e9-8947-48d1662c52d4" + "model-invariant-uuid": "71370375-e1b4-4ad2-9832-1b7877428c81", + "model-name": "vfwvsp_vgw_0822a", + "model-version": "1.0", + "model-customization-uuid": "d4484d8e-09c8-4e1e-89f7-b556bf7c57ba", + "model-uuid": "7dd31559-9fc6-4b0d-bbe3-7ba641bf8a9b" } }, - "vf-module-request-input": { - "tenant": "d0a030fc9fd942c88d8bbb3165c96456", - "aic-cloud-region": "mtn23a", - "vf-module-name": "zmtn23amdns04cmd001_base" - }, - "vf-module-information": { - "vf-module-type": "MdnsPreload18020108..base_dns..module-0", - "from-preload": false + "request-information": { + "request-id": "2a950a5c-21bf-4496-a592-b51f45719603", + "request-action": "CreateVfModuleInstance", + "source": "VID" }, - "vnf-information": { - "vnf-id": "1239053c-1322-42f2-a425-5fd34536dd98", - "vnf-type": "mDNS_Preload_1802_0108/mDNS_Preload_1802_0108 0" + "vf-module-level-oper-status": { + "order-status": "PendingCreate", + "last-rpc-action": "assign" } } } ] - } - } - } - ] - }, - "networks": { - "network": [ - { - "network-data": { - "network-topology": { - "tennant": "testNetwork", - "network-topology-identifier-structure": { - "network-id": "testNetworkId", - "network-role": "testNetworkRole", - "network-technology": "testNetworkTechnology", - "network-type": "testNetworkType", - "network-name": "testNetworkName" + }, + "vnf-level-oper-status": { + "last-rpc-action": "activate", + "order-status": "Created", + "last-action": "CreateVnfInstance" + }, + "service-information": { + "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "onap-model-information": { + "model-invariant-uuid": "3a4e6986-5c5e-434e-b0be-8d718107fa83", + "model-name": "vfwsvc_rescust_0822a", + "model-version": "1.0", + "model-uuid": "209efacc-54d4-4f12-9064-099d47c36a29" }, + "service-instance-id": "7d518257-49bd-40ac-8d17-017a726ec12a", + "global-customer-id": "SDN-ETHERNET-INTERNET", + "subscription-service-type": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb" + }, + "sdnc-request-header": { + "svc-action": "activate", + "svc-request-id": "2a950a5c-21bf-4496-a592-b51f45719603-1535335104196", + "svc-notification-url": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/adapters/rest/SDNCNotify" + }, + "vnf-information": { + "vnf-id": "bf2a200d-744f-4900-afc4-d5ef44638467", + "vnf-type": "vfwsvc_rescust_0822a/vfwvsp_vgw_0822a 0", "onap-model-information": { - "model-invariant-uuid": "testNetworkNameInvariantUUID" + "model-invariant-uuid": "71370375-e1b4-4ad2-9832-1b7877428c81", + "model-name": "vfwvsp_vgw_0822a", + "model-version": "1.0", + "model-customization-uuid": "d4484d8e-09c8-4e1e-89f7-b556bf7c57ba", + "model-uuid": "7dd31559-9fc6-4b0d-bbe3-7ba641bf8a9b" + } + }, + "request-information": { + "request-id": "2a950a5c-21bf-4496-a592-b51f45719603", + "request-action": "CreateVnfInstance", + "source": "VID" + }, + "vnf-request-input": { + "vnf-name": "zRegionOne06", + "tenant": "7fad299815104c0a8f90a8df80343f03", + "aic-cloud-region": "RegionOne" + }, + "vnf-topology": { + "onap-model-information": { + "model-invariant-uuid": "71370375-e1b4-4ad2-9832-1b7877428c81", + "model-name": "vfwvsp_vgw_0822a", + "model-version": "1.0", + "model-customization-uuid": "d4484d8e-09c8-4e1e-89f7-b556bf7c57ba", + "model-uuid": "7dd31559-9fc6-4b0d-bbe3-7ba641bf8a9b" + }, + "tenant": "7fad299815104c0a8f90a8df80343f03", + "aic-clli": "clli1", + "aic-cloud-region": "RegionOne", + "vnf-topology-identifier-structure": { + "vnf-id": "bf2a200d-744f-4900-afc4-d5ef44638467", + "vnf-type": "vfwsvc_rescust_0822a/vfwvsp_vgw_0822a 0", + "vnf-name": "zRegionOne06" + }, + "vnf-resource-assignments": { + "availability-zones": { + "availability-zone": [ + "nova" + ], + "max-count": 1 + } } } } } ] + }, + "service-level-oper-status": { + "last-rpc-action": "assign", + "order-status": "Created", + "last-action": "CreateServiceInstance" } } } -- cgit 1.2.3-korg