From 6392515d91c00df8cb925ec9e99273a2f9e4744f Mon Sep 17 00:00:00 2001 From: sarada prasad sahoo Date: Mon, 7 Oct 2019 12:34:49 +0530 Subject: SO Distribution Error on Allotted Resource SO Distribution Error on Allotted Resource - duplicate primary Issue-ID: SO-2351 Signed-off-by: sarada prasad sahoo Change-Id: Iae7bda27ac4975b5ede657ac485472bbc6e88c56 --- .../installer/heat/ToscaResourceInstaller.java | 4 +- .../client/test/rest/ASDCRestInterfaceTest.java | 24 + .../vcpe-rescust/base_vcpe_vgw.env | 27 + .../vcpe-rescust/base_vcpe_vgw.yaml | 243 ++++++ .../demo-vcpe-rescust-notification.json | 108 +++ .../service-Vcperescust201910012364-csar.csar | Bin 0 -> 84583 bytes .../service-Vcperescust201910012364-template.yml | 822 +++++++++++++++++++++ .../vcpe_vgwbf175ab04fa20_modules.json | 25 + .../vcpe-rescust/vendor-license-model.xml | 1 + .../vcpe-rescust/vf-license-model.xml | 1 + 10 files changed, 1254 insertions(+), 1 deletion(-) create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.env create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.yaml create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/demo-vcpe-rescust-notification.json create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-csar.csar create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-template.yml create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vcpe_vgwbf175ab04fa20_modules.json create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vendor-license-model.xml create mode 100644 asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vf-license-model.xml (limited to 'asdc-controller') diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java index b2dbcb4639..d96a82c77f 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java @@ -706,7 +706,9 @@ public class ToscaResourceInstaller { if (!"{}".equals(resourceInput)) { allottedResource.setResourceInput(resourceInput); } - service.getAllottedCustomizations().add(allottedResource); + if (!service.getAllottedCustomizations().contains(allottedResource)) { + service.getAllottedCustomizations().add(allottedResource); + } } } } diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/client/test/rest/ASDCRestInterfaceTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/client/test/rest/ASDCRestInterfaceTest.java index 7171fff812..9294677b95 100644 --- a/asdc-controller/src/test/java/org/onap/so/asdc/client/test/rest/ASDCRestInterfaceTest.java +++ b/asdc-controller/src/test/java/org/onap/so/asdc/client/test/rest/ASDCRestInterfaceTest.java @@ -366,6 +366,30 @@ public class ASDCRestInterfaceTest extends BaseTest { assertEquals("PublicNS", service.get().getModelName()); } + @Test + public void test_Vcperescust_Distribution() throws Exception { + wireMockServer.stubFor(post(urlPathMatching("/aai/.*")) + .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json"))); + + wireMockServer.stubFor(post(urlPathMatching("/v1.0/activity-spec")) + .willReturn(aResponse().withHeader("Content-Type", "application/json") + .withStatus(org.springframework.http.HttpStatus.ACCEPTED.value()))); + + String resourceLocation = "src/test/resources/resource-examples/vcpe-rescust/"; + ObjectMapper mapper = new ObjectMapper(); + NotificationDataImpl request = mapper.readValue( + new File(resourceLocation + "demo-vcpe-rescust-notification.json"), NotificationDataImpl.class); + headers.add("resource-location", resourceLocation); + HttpEntity entity = new HttpEntity(request, headers); + ResponseEntity response = restTemplate.exchange(createURLWithPort("test/treatNotification/v1"), + HttpMethod.POST, entity, String.class); + assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value()); + + Optional service = serviceRepo.findById("d3aac917-543d-4421-b6d7-ba2b65884eb7"); + assertTrue(service.isPresent()); + assertEquals("vCPEResCust 2019-10-01 _2364", service.get().getModelName()); + } + protected String createURLWithPort(String uri) { return "http://localhost:" + port + uri; } diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.env b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.env new file mode 100644 index 0000000000..5cdbc9b882 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.env @@ -0,0 +1,27 @@ +parameters: + cloud_env: "PUT THE CLOUD PROVIDED HERE (openstack or rackspace)" + cpe_public_net_cidr: "10.2.0.0/24" + cpe_public_net_id: "zdfw1cpe01_public" + cpe_public_subnet_id: "zdfw1cpe01_sub_public" + dcae_collector_ip: "10.0.4.1" + dcae_collector_port: "8081" + key_name: "vgw_key" + mux_gw_private_net_cidr: "10.5.0.0/24" + mux_gw_private_net_id: "zdfw1muxgw01_private" + mux_gw_private_subnet_id: "zdfw1muxgw01_sub_private" + mux_ip_addr: "10.5.0.20" + nexus_artifact_repo: "https://nexus.onap.org" + onap_private_net_cidr: "10.0.0.0/16" + onap_private_net_id: "PUT THE ONAP PRIVATE NETWORK NAME HERE" + onap_private_subnet_id: "PUT THE ONAP PRIVATE SUBNETWORK NAME HERE" + pub_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN" + public_net_id: "PUT THE PUBLIC NETWORK ID HERE" + script_version: "1.5.0-SNAPSHOT" + vcpe_flavor_name: "PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED)" + vcpe_image_name: "PUT THE IMAGE NAME HERE (Ubuntu 1604 SUGGESTED)" + vf_module_id: "vCPE_Customer_GW" + vg_vgmux_tunnel_vni: 100 + vgw_name_0: "zdcpe1cpe01gw01" + vgw_private_ip_0: "10.5.0.21" + vgw_private_ip_1: "10.0.101.30" + vnf_id: "vCPE_Infrastructure_GW_demo_app" diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.yaml b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.yaml new file mode 100644 index 0000000000..74fa490b23 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/base_vcpe_vgw.yaml @@ -0,0 +1,243 @@ +########################################################################## +# +#==================LICENSE_START========================================== +# +# +# Copyright 2017 AT&T Intellectual Property. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +#==================LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +########################################################################## + +heat_template_version: 2013-05-23 + +description: Heat template to deploy vCPE vGateway (vG) + +############## +# # +# PARAMETERS # +# # +############## + +parameters: + vcpe_image_name: + type: string + label: Image name or ID + description: Image to be used for compute instance + vcpe_flavor_name: + type: string + label: Flavor + description: Type of instance (flavor) to be used + public_net_id: + type: string + label: Public network name or ID + description: Public network that enables remote connection to VNF + mux_gw_private_net_id: + type: string + label: vGMUX private network name or ID + description: Private network that connects vGMUX to vGWs + mux_gw_private_subnet_id: + type: string + label: vGMUX private sub-network name or ID + description: vGMUX private sub-network name or ID + mux_gw_private_net_cidr: + type: string + label: vGMUX private network CIDR + description: The CIDR of the vGMUX private network + onap_private_net_id: + type: string + label: ONAP management network name or ID + description: Private network that connects ONAP components and the VNF + onap_private_subnet_id: + type: string + label: ONAP management sub-network name or ID + description: Private sub-network that connects ONAP components and the VNF + onap_private_net_cidr: + type: string + label: ONAP private network CIDR + description: The CIDR of the protected private network + cpe_public_net_id: + type: string + label: vCPE network that emulates internetmanagement name or ID + description: Private network that connects vGW to emulated internet + cpe_public_subnet_id: + type: string + label: vCPE Public subnet + description: vCPE Public subnet + cpe_public_net_cidr: + type: string + label: vCPE public network CIDR + description: The CIDR of the vCPE public + vgw_private_ip_0: + type: string + label: vGW private IP address towards the vGMUX + description: Private IP address that is assigned to the vGW to communicate with vGMUX + vgw_private_ip_1: + type: string + label: vGW private IP address towards the ONAP management network + description: Private IP address that is assigned to the vGW to communicate with ONAP components + ## VPP will use DHCP to get the vgw_private_ip_2 on the CPE_PUBLIC subnet + #vgw_private_ip_2: + # type: string + # label: vGW private IP address towards the vCPE public network + # description: Private IP address that is assigned to the vGW to communicate with vCPE public network + vgw_name_0: + type: string + label: vGW name + description: Name of the vGW + vnf_id: + type: string + label: VNF ID + description: The VNF ID is provided by ONAP + vf_module_id: + type: string + label: vCPE module ID + description: The vCPE Module ID is provided by ONAP + dcae_collector_ip: + type: string + label: DCAE collector IP address + description: IP address of the DCAE collector + dcae_collector_port: + type: string + label: DCAE collector port + description: Port of the DCAE collector + key_name: + type: string + label: Key pair name + description: Public/Private key pair name + pub_key: + type: string + label: Public key + description: Public key to be installed on the compute instance + script_version: + type: string + label: Script version number + description: Version number of the scripts that install the vGW + nexus_artifact_repo: + type: string + description: Root URL for the Nexus repository for Maven artifacts. + default: "https://nexus.onap.org" + cloud_env: + type: string + label: Cloud environment + description: Cloud environment (e.g., openstack, rackspace) + mux_ip_addr: + type: string + label: vGMUX IP address + description: IP address of vGMUX + vg_vgmux_tunnel_vni: + type: number + label: vG-vGMUX tunnel vni + description: vni value of vG-vGMUX vxlan tunnel + +############# +# # +# RESOURCES # +# # +############# + +resources: + + random-str: + type: OS::Heat::RandomString + properties: + length: 4 + + my_keypair: + type: OS::Nova::KeyPair + properties: + name: + str_replace: + template: base_rand + params: + base: { get_param: key_name } + rand: { get_resource: random-str } + public_key: { get_param: pub_key } + save_private_key: false + + # Virtual GW Instantiation + vgw_private_0_port: + type: OS::Neutron::Port + properties: + network: { get_param: mux_gw_private_net_id } + fixed_ips: [{"subnet": { get_param: mux_gw_private_subnet_id }, "ip_address": { get_param: vgw_private_ip_0 }}] + + vgw_private_1_port: + type: OS::Neutron::Port + properties: + network: { get_param: onap_private_net_id } + fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vgw_private_ip_1 }}] + + vgw_private_2_port: + type: OS::Neutron::Port + properties: + network: { get_param: cpe_public_net_id} + fixed_ips: [{"subnet": { get_param: cpe_public_subnet_id }}] + ##fixed_ips: [{"subnet": { get_param: cpe_public_subnet_id }, "ip_address": { get_param: vgw_private_ip_2 }}] + + vgw_0: + type: OS::Nova::Server + properties: + image: { get_param: vcpe_image_name } + flavor: { get_param: vcpe_flavor_name } + name: { get_param: vgw_name_0 } + key_name: { get_resource: my_keypair } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vgw_private_0_port } + - port: { get_resource: vgw_private_1_port } + - port: { get_resource: vgw_private_2_port } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + user_data_format: RAW + user_data: + str_replace: + params: + __mux_gw_private_net_ipaddr__ : { get_param: vgw_private_ip_0 } + __oam_ipaddr__ : { get_param: vgw_private_ip_1 } + __oam_cidr__ : { get_param: onap_private_net_cidr } + __cpe_public_net_cidr__ : { get_param: cpe_public_net_cidr } + __mux_gw_private_net_cidr__ : { get_param: mux_gw_private_net_cidr } + __script_version__ : { get_param: script_version } + __cloud_env__ : { get_param: cloud_env } + __mux_ip_addr__: { get_param: mux_ip_addr } + __vg_vgmux_tunnel_vni__: { get_param: vg_vgmux_tunnel_vni } + __nexus_artifact_repo__: { get_param: nexus_artifact_repo } + template: | + #!/bin/bash + + # Create configuration files + mkdir /opt/config + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt + echo "__mux_gw_private_net_ipaddr__" > /opt/config/mux_gw_private_net_ipaddr.txt + echo "__mux_gw_private_net_cidr__" > /opt/config/mux_gw_private_net_cidr.txt + echo "__script_version__" > /opt/config/script_version.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt + echo "__mux_ip_addr__" > /opt/config/mux_ip_addr.txt + echo "__vg_vgmux_tunnel_vni__" > /opt/config/vg_vgmux_tunnel_vni.txt + echo "__nexus_artifact_repo__" > /opt/config/nexus_artifact_repo.txt + + # Download and run install script + apt-get update + apt-get -y install unzip + if [[ "__script_version__" =~ "SNAPSHOT" ]]; then REPO=snapshots; else REPO=releases; fi + curl -k -L "__nexus_artifact_repo__/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf.vcpe&a=vcpe-scripts&e=zip&v=__script_version__" -o /opt/vcpe-scripts-__script_version__.zip + unzip -j /opt/vcpe-scripts-__script_version__.zip -d /opt v_gw_install.sh + cd /opt + chmod +x v_gw_install.sh + ./v_gw_install.sh + diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/demo-vcpe-rescust-notification.json b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/demo-vcpe-rescust-notification.json new file mode 100644 index 0000000000..f4f4fcc0de --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/demo-vcpe-rescust-notification.json @@ -0,0 +1,108 @@ +{ + "distributionID": "5ea97d50-9e1d-4b2c-aa47-2523e35e2120", + "serviceName": "vCPEResCust 2019-10-01 _2364", + "serviceVersion": "1.0", + "serviceUUID": "d3aac917-543d-4421-b6d7-ba2b65884eb7", + "serviceDescription": "catalog service description", + "serviceInvariantUUID": "d0568a10-a0e0-4efa-b698-ad3772f2e30f", + "resources": [{ + "resourceInstanceName": "TunnelXConn_2019-10-01 03:23:27.409 0", + "resourceName": "TunnelXConn_2019-10-01 03:23:27.409", + "resourceVersion": "1.0", + "resoucreType": "VF", + "resourceUUID": "629f9662-55bb-430c-8f22-5204c37c9898", + "resourceInvariantUUID": "3a367ac8-5dff-4325-a0e7-9e0299d22152", + "resourceCustomizationUUID": "4e0249f0-5118-4323-b5e9-0783ad1123ba", + "category": "Allotted Resource", + "subcategory": "TunnelXConn", + "artifacts": [] + }, { + "resourceInstanceName": "BRG_2019-10-01 03:23:27.409 0", + "resourceName": "BRG_2019-10-01 03:23:27.409", + "resourceVersion": "1.0", + "resoucreType": "VF", + "resourceUUID": "abafad1c-47fc-4d30-a079-be14871f0c6a", + "resourceInvariantUUID": "05a482b5-ec0d-45cb-ae95-397ce6765c9e", + "resourceCustomizationUUID": "aff592e4-cfc7-43ce-abea-f026b56995ab", + "category": "Allotted Resource", + "subcategory": "BRG", + "artifacts": [] + }, { + "resourceInstanceName": "vCPE_vgw bf175ab0-4fa2 0", + "resourceName": "vCPE_vgw bf175ab0-4fa2", + "resourceVersion": "1.0", + "resoucreType": "VF", + "resourceUUID": "df1ce337-78b2-4e43-afb8-081d5ca175fc", + "resourceInvariantUUID": "1d2b0362-af54-43b9-9a5b-2dba408742b2", + "resourceCustomizationUUID": "6f2c39b3-d14f-4575-97b3-c93a7620591e", + "category": "Generic", + "subcategory": "Abstract", + "artifacts": [{ + "artifactName": "vf-license-model.xml", + "artifactType": "VF_LICENSE", + "artifactURL": "/vf-license-model.xml", + "artifactChecksum": "YjBlNjhjNGU0ZjZkYzUwYjlhODg2NDMzZjk0MGNjMzM\u003d", + "artifactDescription": "VF license file", + "artifactTimeout": 120, + "artifactUUID": "2f362774-ac17-48a9-9c93-632b661ea689", + "artifactVersion": "1" + }, { + "artifactName": "vcpe_vgwbf175ab04fa20_modules.json", + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "/vcpe_vgwbf175ab04fa20_modules.json", + "artifactChecksum": "NTg2NjQxOWNkNmNjY2EzY2M3ZGJjM2YyOTI2ZjlkNzU\u003d", + "artifactDescription": "Auto-generated VF Modules information artifact", + "artifactTimeout": 120, + "artifactUUID": "b02ab2a2-a657-44c4-ae88-578fe0caa30d", + "artifactVersion": "1" + }, { + "artifactName": "base_vcpe_vgw.yaml", + "artifactType": "HEAT", + "artifactURL": "/base_vcpe_vgw.yaml", + "artifactChecksum": "OTI1ODIwZTFhMjc3ZDVhYWU4ZjJjMTEzZGZiZTY4Zjg\u003d", + "artifactDescription": "created from csar", + "artifactTimeout": 120, + "artifactUUID": "e3a33b76-1f8a-44ba-808b-8a4c79e4b44a", + "artifactVersion": "2" + }, { + "artifactName": "vendor-license-model.xml", + "artifactType": "VENDOR_LICENSE", + "artifactURL": "/vendor-license-model.xml", + "artifactChecksum": "YThkMTY5ZWU5MDg5YmI5MWNiY2M5OTg1MTdjMzQzNWM\u003d", + "artifactDescription": " Vendor license file", + "artifactTimeout": 120, + "artifactUUID": "3eae4c31-394f-497b-83e9-110e87e40964", + "artifactVersion": "1" + }, { + "artifactName": "base_vcpe_vgw.env", + "artifactType": "HEAT_ENV", + "artifactURL": "/base_vcpe_vgw.env", + "artifactChecksum": "MTY4ZDUxYTUwNjExN2JhZjQzNGE5ZWQ3MGUxM2IyYWM\u003d", + "artifactDescription": "Auto-generated HEAT Environment deployment artifact", + "artifactTimeout": 120, + "artifactUUID": "9b73763b-0f60-47c3-8939-cf2f819bc75a", + "artifactVersion": "2", + "generatedFromUUID": "e3a33b76-1f8a-44ba-808b-8a4c79e4b44a" + }] + }], + "serviceArtifacts": [{ + "artifactName": "service-Vcperescust201910012364-template.yml", + "artifactType": "TOSCA_TEMPLATE", + "artifactURL": "/service-Vcperescust201910012364-template.yml", + "artifactChecksum": "ZDRmZTZkNTkyNTBhMjM1Nzk1NzBiMjdkYmVjMWJiZjI\u003d", + "artifactDescription": "TOSCA representation of the asset", + "artifactTimeout": 0, + "artifactUUID": "50f4eed5-3330-46c3-89e8-a56d2de4354b", + "artifactVersion": "1" + }, { + "artifactName": "service-Vcperescust201910012364-csar.csar", + "artifactType": "TOSCA_CSAR", + "artifactURL": "/service-Vcperescust201910012364-csar.csar", + "artifactChecksum": "ZDlmMTMyYjVjZmMxNmQ1MDM2NmIyN2ZlYWUzNjM5ODU\u003d", + "artifactDescription": "TOSCA definition package of the asset", + "artifactTimeout": 0, + "artifactUUID": "2da4976c-1532-4b1e-b662-d80f487d1661", + "artifactVersion": "1" + }], + "workloadContext": "Production" +} \ No newline at end of file diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-csar.csar b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-csar.csar new file mode 100644 index 0000000000..29d2d72bf1 Binary files /dev/null and b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-csar.csar differ diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-template.yml b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-template.yml new file mode 100644 index 0000000000..1fe6117f59 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/service-Vcperescust201910012364-template.yml @@ -0,0 +1,822 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +metadata: + invariantUUID: d0568a10-a0e0-4efa-b698-ad3772f2e30f + UUID: d3aac917-543d-4421-b6d7-ba2b65884eb7 + name: vCPEResCust 2019-10-01 _2364 + description: catalog service description + type: Service + category: Network L1-3 + serviceType: '' + serviceRole: '' + instantiationType: A-la-carte + serviceEcompNaming: true + ecompGeneratedNaming: true + namingPolicy: '' + environmentContext: General_Revenue-Bearing +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +- service-vCPEResCust 2019-10-01 _2364-interface: + file: service-Vcperescust201910012364-template-interface.yml +- resource-TunnelXConn_2019-10-01 03:23:27.409: + file: resource-Tunnelxconn20191001032327409-template.yml +- resource-TunnelXConn_2019-10-01 03:23:27.409-interface: + file: resource-Tunnelxconn20191001032327409-template-interface.yml +- resource-BRG_2019-10-01 03:23:27.409: + file: resource-Brg20191001032327409-template.yml +- resource-BRG_2019-10-01 03:23:27.409-interface: + file: resource-Brg20191001032327409-template-interface.yml +- resource-vCPE_vgw bf175ab0-4fa2: + file: resource-VcpeVgwBf175ab04fa2-template.yml +- resource-vCPE_vgw bf175ab0-4fa2-interface: + file: resource-VcpeVgwBf175ab04fa2-template-interface.yml +topology_template: + node_templates: + vCPE_vgw bf175ab0-4fa2 0: + type: org.openecomp.resource.vf.VcpeVgwBf175ab04fa2 + metadata: + invariantUUID: 1d2b0362-af54-43b9-9a5b-2dba408742b2 + UUID: d9f21a73-33cb-49b5-9e5c-87c2c7dd93dc + customizationUUID: 6f2c39b3-d14f-4575-97b3-c93a7620591e + version: '1.0' + name: vCPE_vgw bf175ab0-4fa2 + description: vendor software product + type: VF + category: Generic + subcategory: Abstract + resourceVendor: 6dccd115-ce6a-4b1a-88aa + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + vf_module_id: vCPE_Customer_GW + vcpe_image_name: PUT THE IMAGE NAME HERE (Ubuntu 1604 SUGGESTED) + skip_post_instantiation_configuration: true + vgw_name_0: zdcpe1cpe01gw01 + public_net_id: PUT THE PUBLIC NETWORK ID HERE + onap_private_subnet_id: PUT THE ONAP PRIVATE SUBNETWORK NAME HERE + nexus_artifact_repo: https://nexus.onap.org + onap_private_net_cidr: 10.0.0.0/16 + cpe_public_net_id: zdfw1cpe01_public + mux_ip_addr: 10.5.0.20 + mux_gw_private_net_id: zdfw1muxgw01_private + dcae_collector_ip: 10.0.4.1 + vnf_id: vCPE_Infrastructure_GW_demo_app + cpe_public_net_cidr: 10.2.0.0/24 + vg_vgmux_tunnel_vni: 100.0 + dcae_collector_port: '8081' + mux_gw_private_net_cidr: 10.5.0.0/24 + mux_gw_private_subnet_id: zdfw1muxgw01_sub_private + nf_naming: + ecomp_generated_naming: true + multi_stage_design: 'false' + onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE + availability_zone_max_count: 1 + vgw_private_ip_0: 10.5.0.21 + pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN + vgw_private_ip_1: 10.0.101.30 + key_name: vgw_key + vcpe_flavor_name: PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED) + script_version: 1.5.0-SNAPSHOT + cpe_public_subnet_id: zdfw1cpe01_sub_public + cloud_env: PUT THE CLOUD PROVIDED HERE (openstack or rackspace) + capabilities: + abstract_vgw.network.incoming.packets_vgw_vgw_private_0_port: + properties: + unit: packet + description: Number of incoming packets + type: Cumulative + category: network + abstract_vgw.disk.read.bytes_vgw: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: compute + abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_0_port: + properties: + unit: B/s + description: Average rate of incoming bytes + type: Gauge + category: network + abstract_vgw.disk.read.requests_vgw: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: compute + abstract_vgw.disk.write.bytes_vgw: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: compute + abstract_vgw.disk.capacity_vgw: + properties: + unit: B + description: The amount of disk that the instance can see + type: Gauge + category: disk + abstract_vgw.network.incoming.bytes_vgw_vgw_private_1_port: + properties: + unit: B + description: Number of incoming bytes + type: Cumulative + category: network + abstract_vgw.port_mirroring_vgw_vgw_private_2_port: + properties: + connection_point: + network_role: + get_input: port_vgw_private_2_port_network_role + nfc_naming_code: vgw + abstract_vgw.disk.write.requests_vgw: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: compute + abstract_vgw.disk.device.read.requests.rate_vgw: + properties: + unit: request/s + description: Average rate of read requests + type: Gauge + category: disk + abstract_vgw.port_mirroring_vgw_vgw_private_1_port: + properties: + connection_point: + network_role: + get_input: port_vgw_private_1_port_network_role + nfc_naming_code: vgw + abstract_vgw.network.outpoing.packets_vgw_vgw_private_0_port: + properties: + unit: packet + description: Number of outgoing packets + type: Cumulative + category: network + abstract_vgw.memory.resident_vgw: + properties: + unit: MB + description: Volume of RAM used by the instance on the physical machine + type: Gauge + category: compute + abstract_vgw.disk.allocation_vgw: + properties: + unit: B + description: The amount of disk occupied by the instance on the host machine + type: Gauge + category: disk + abstract_vgw.network.incoming.bytes_vgw_vgw_private_0_port: + properties: + unit: B + description: Number of incoming bytes + type: Cumulative + category: network + abstract_vgw.cpu_vgw: + properties: + unit: ns + description: CPU time used + type: Cumulative + category: compute + abstract_vgw.network.incoming.bytes_vgw_vgw_private_2_port: + properties: + unit: B + description: Number of incoming bytes + type: Cumulative + category: network + abstract_vgw.network.outpoing.packets_vgw_vgw_private_1_port: + properties: + unit: packet + description: Number of outgoing packets + type: Cumulative + category: network + abstract_vgw.disk.device.read.bytes_vgw: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: disk + abstract_vgw.disk.device.write.bytes.rate_vgw: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: disk + abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_2_port: + properties: + unit: B/s + description: Average rate of incoming bytes + type: Gauge + category: network + abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_0_port: + properties: + unit: packet/s + description: Average rate of incoming packets + type: Gauge + category: network + abstract_vgw.disk.device.iops_vgw: + properties: + unit: count/s + description: Average disk iops per device + type: Gauge + category: disk + abstract_vgw.disk.latency_vgw: + properties: + unit: ms + description: Average disk latency + type: Gauge + category: disk + abstract_vgw.network.incoming.packets_vgw_vgw_private_2_port: + properties: + unit: packet + description: Number of incoming packets + type: Cumulative + category: network + abstract_vgw.disk.device.allocation_vgw: + properties: + unit: B + description: The amount of disk per device occupied by the instance on the host machine + type: Gauge + category: disk + abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_0_port: + properties: + unit: B/s + description: Average rate of outgoing bytes + type: Gauge + category: network + abstract_vgw.instance_vgw: + properties: + unit: instance + description: Existence of instance + type: Gauge + category: compute + abstract_vgw.memory_vgw: + properties: + unit: MB + description: Volume of RAM allocated to the instance + type: Gauge + category: compute + abstract_vgw.disk.device.write.requests_vgw: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: disk + abstract_vgw.cpu.delta_vgw: + properties: + unit: ns + description: CPU time used since previous datapoint + type: Delta + category: compute + abstract_vgw.disk.device.latency_vgw: + properties: + unit: ms + description: Average disk latency per device + type: Gauge + category: disk + abstract_vgw.port_mirroring_vgw_vgw_private_0_port: + properties: + connection_point: + network_role: + get_input: port_vgw_private_0_port_network_role + nfc_naming_code: vgw + abstract_vgw.disk.iops_vgw: + properties: + unit: count/s + description: Average disk iops + type: Gauge + category: disk + abstract_vgw.cpu_util_vgw: + properties: + unit: '%' + description: Average CPU utilization + type: Gauge + category: compute + abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_2_port: + properties: + unit: B/s + description: Average rate of outgoing bytes + type: Gauge + category: network + abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_1_port: + properties: + unit: packet/s + description: Average rate of incoming packets + type: Gauge + category: network + abstract_vgw.network.outgoing.bytes_vgw_vgw_private_0_port: + properties: + unit: B + description: Number of outgoing bytes + type: Cumulative + category: network + abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_1_port: + properties: + unit: packet/s + description: Average rate of outgoing packets + type: Gauge + category: network + abstract_vgw.disk.usage_vgw: + properties: + unit: B + description: The physical size in bytes of the image container on the host + type: Gauge + category: disk + abstract_vgw.disk.write.requests.rate_vgw: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: compute + abstract_vgw.network.outgoing.bytes_vgw_vgw_private_1_port: + properties: + unit: B + description: Number of outgoing bytes + type: Cumulative + category: network + abstract_vgw.scalable_vgw: + properties: + max_instances: 1 + min_instances: 1 + abstract_vgw.disk.device.read.bytes.rate_vgw: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: disk + abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_0_port: + properties: + unit: packet/s + description: Average rate of outgoing packets + type: Gauge + category: network + abstract_vgw.disk.device.read.requests_vgw: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: disk + abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_1_port: + properties: + unit: B/s + description: Average rate of outgoing bytes + type: Gauge + category: network + abstract_vgw.disk.device.write.requests.rate_vgw: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: disk + abstract_vgw.disk.device.usage_vgw: + properties: + unit: B + description: The physical size in bytes of the image container on the host per device + type: Gauge + category: disk + abstract_vgw.disk.write.bytes.rate_vgw: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: compute + abstract_vgw.disk.device.write.bytes_vgw: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: disk + abstract_vgw.memory.usage_vgw: + properties: + unit: MB + description: Volume of RAM used by the instance from the amount of its allocated memory + type: Gauge + category: compute + abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_2_port: + properties: + unit: packet/s + description: Average rate of outgoing packets + type: Gauge + category: network + abstract_vgw.disk.root.size_vgw: + properties: + unit: GB + description: Size of root disk + type: Gauge + category: compute + abstract_vgw.disk.ephemeral.size_vgw: + properties: + unit: GB + description: Size of ephemeral disk + type: Gauge + category: compute + abstract_vgw.disk.device.capacity_vgw: + properties: + unit: B + description: The amount of disk per device that the instance can see + type: Gauge + category: disk + abstract_vgw.disk.read.bytes.rate_vgw: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: compute + abstract_vgw.endpoint_vgw: + properties: + secure: true + abstract_vgw.network.outpoing.packets_vgw_vgw_private_2_port: + properties: + unit: packet + description: Number of outgoing packets + type: Cumulative + category: network + abstract_vgw.vcpus_vgw: + properties: + unit: vcpu + description: Number of virtual CPUs allocated to the instance + type: Gauge + category: compute + abstract_vgw.network.outgoing.bytes_vgw_vgw_private_2_port: + properties: + unit: B + description: Number of outgoing bytes + type: Cumulative + category: network + abstract_vgw.network.incoming.packets_vgw_vgw_private_1_port: + properties: + unit: packet + description: Number of incoming packets + type: Cumulative + category: network + abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_2_port: + properties: + unit: packet/s + description: Average rate of incoming packets + type: Gauge + category: network + abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_1_port: + properties: + unit: B/s + description: Average rate of incoming bytes + type: Gauge + category: network + BRG_2019-10-01 03:23:27.409 0: + type: org.openecomp.resource.vf.Brg2019100103:23:27409 + metadata: + invariantUUID: 05a482b5-ec0d-45cb-ae95-397ce6765c9e + UUID: 12519dd0-46ca-46da-9dcc-c6155b2a6d15 + customizationUUID: aff592e4-cfc7-43ce-abea-f026b56995ab + version: '1.0' + name: BRG_2019-10-01 03:23:27.409 + description: Alloted Resource BRG + type: VF + category: Allotted Resource + subcategory: BRG + resourceVendor: ONAP + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + nf_naming: + ecomp_generated_naming: true + skip_post_instantiation_configuration: true + multi_stage_design: 'false' + availability_zone_max_count: 1 + nf_role: BRG + nf_type: BRG + TunnelXConn_2019-10-01 03:23:27.409 0: + type: org.openecomp.resource.vf.Tunnelxconn2019100103:23:27409 + metadata: + invariantUUID: 3a367ac8-5dff-4325-a0e7-9e0299d22152 + UUID: 93d3e01d-4f8c-4a60-99f2-26b64c69bc11 + customizationUUID: 4e0249f0-5118-4323-b5e9-0783ad1123ba + version: '1.0' + name: TunnelXConn_2019-10-01 03:23:27.409 + description: Alloted Resource TunnelXConn + type: VF + category: Allotted Resource + subcategory: TunnelXConn + resourceVendor: ONAP + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + nf_naming: + ecomp_generated_naming: true + skip_post_instantiation_configuration: true + multi_stage_design: 'false' + availability_zone_max_count: 1 + nf_role: TunnelXConn + nf_type: TunnelXConn + groups: + vcpe_vgwbf175ab04fa20..VcpeVgwBf175ab04fa2..base_vcpe_vgw..module-0: + type: org.openecomp.groups.VfModule + metadata: + vfModuleModelName: VcpeVgwBf175ab04fa2..base_vcpe_vgw..module-0 + vfModuleModelInvariantUUID: 7caf746f-46c6-4e47-bbfc-9374b1c17ba1 + vfModuleModelUUID: a4654496-9862-47e4-9640-d84708ea8bfb + vfModuleModelVersion: '1' + vfModuleModelCustomizationUUID: ddd095d2-c2ba-48fe-90f4-e3f6fc806d7e + properties: + min_vf_module_instances: 1 + vf_module_label: base_vcpe_vgw + max_vf_module_instances: 1 + vf_module_type: Base + isBase: true + initial_count: 1 + volume_group: false + substitution_mappings: + node_type: org.openecomp.service.Vcperescust201910012364 + capabilities: + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.bytes_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.bytes_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.packets_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.packets_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.feature_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.feature_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.write.requests.rate_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.write.requests.rate_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.iops_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.iops_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.read.requests.rate_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.read.requests.rate_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.attachment_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.attachment_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.write.requests_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.write.requests_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.endpoint_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.endpoint_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.bytes_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.bytes_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.latency_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.latency_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.bytes_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.bytes_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.write.bytes_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.write.bytes_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.memory_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.memory_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.write.requests.rate_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.write.requests.rate_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.read.bytes.rate_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.read.bytes.rate_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outpoing.packets_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outpoing.packets_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.feature_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.feature_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.port_mirroring_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.port_mirroring_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.binding_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.binding_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.attachment_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.attachment_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.iops_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.iops_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.forwarder_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.forwarder_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.bytes_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.bytes_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.ephemeral.size_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.ephemeral.size_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.port_mirroring_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.port_mirroring_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.packets_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.packets_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.host_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.host_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.memory.usage_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.memory.usage_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outpoing.packets_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outpoing.packets_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.write.bytes.rate_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.write.bytes.rate_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.attachment_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.attachment_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.binding_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.binding_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.read.bytes_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.read.bytes_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.usage_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.usage_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.bytes_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.bytes_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.cpu_util_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.cpu_util_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.memory.resident_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.memory.resident_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.read.requests_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.read.requests_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.binding_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.binding_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.usage_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.usage_vgw + brg_2019100103:23:274090.brg.feature: + - BRG_2019-10-01 03:23:27.409 0 + - brg.feature + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.latency_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.latency_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.cpu_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.cpu_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.instance_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.instance_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.allocation_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.allocation_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.write.bytes.rate_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.write.bytes.rate_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.bytes.rate_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.capacity_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.capacity_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.forwarder_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.forwarder_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.read.requests_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.read.requests_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.allocation_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.allocation_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.root.size_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.root.size_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.packets_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.packets_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.feature_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.feature_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outpoing.packets_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outpoing.packets_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.bytes.rate_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.packets.rate_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.incoming.packets.rate_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.write.requests_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.write.requests_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.binding_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.binding_vgw_vgw_private_2_port + tunnelxconn_2019100103:23:274090.tunnelxconn.feature: + - TunnelXConn_2019-10-01 03:23:27.409 0 + - tunnelxconn.feature + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.read.bytes_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.read.bytes_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.network.outgoing.bytes_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.network.outgoing.bytes_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.scalable_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.scalable_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.write.bytes_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.write.bytes_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.device.read.bytes.rate_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.device.read.bytes.rate_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.feature_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.feature_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.os_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.os_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.vcpus_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.vcpus_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.forwarder_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.forwarder_vgw_vgw_private_0_port + vcpe_vgwbf175ab04fa20.abstract_vgw.port_mirroring_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.port_mirroring_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.cpu.delta_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.cpu.delta_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.disk.capacity_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.disk.capacity_vgw + requirements: + vcpe_vgwbf175ab04fa20.abstract_vgw.dependency_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.dependency_vgw_vgw_private_1_port + tunnelxconn_2019100103:23:274090.tunnelxconn.service_dependency: + - TunnelXConn_2019-10-01 03:23:27.409 0 + - tunnelxconn.service_dependency + vcpe_vgwbf175ab04fa20.abstract_vgw.local_storage_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.local_storage_vgw + vcpe_vgwbf175ab04fa20.abstract_vgw.dependency_vgw: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.dependency_vgw + brg_2019100103:23:274090.brg.service_dependency: + - BRG_2019-10-01 03:23:27.409 0 + - brg.service_dependency + vcpe_vgwbf175ab04fa20.abstract_vgw.link_vgw_vgw_private_1_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.link_vgw_vgw_private_1_port + vcpe_vgwbf175ab04fa20.abstract_vgw.dependency_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.dependency_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.link_vgw_vgw_private_2_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.link_vgw_vgw_private_2_port + vcpe_vgwbf175ab04fa20.abstract_vgw.link_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.link_vgw_vgw_private_0_port + tunnelxconn_2019100103:23:274090.tunnelxconn.dependency: + - TunnelXConn_2019-10-01 03:23:27.409 0 + - tunnelxconn.dependency + brg_2019100103:23:274090.brg.dependency: + - BRG_2019-10-01 03:23:27.409 0 + - brg.dependency + vcpe_vgwbf175ab04fa20.abstract_vgw.dependency_vgw_vgw_private_0_port: + - vCPE_vgw bf175ab0-4fa2 0 + - abstract_vgw.dependency_vgw_vgw_private_0_port diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vcpe_vgwbf175ab04fa20_modules.json b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vcpe_vgwbf175ab04fa20_modules.json new file mode 100644 index 0000000000..e74c3c05a8 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vcpe_vgwbf175ab04fa20_modules.json @@ -0,0 +1,25 @@ +[ + { + "vfModuleModelName": "VcpeVgwBf175ab04fa2..base_vcpe_vgw..module-0", + "vfModuleModelInvariantUUID": "7caf746f-46c6-4e47-bbfc-9374b1c17ba1", + "vfModuleModelVersion": "1", + "vfModuleModelUUID": "a4654496-9862-47e4-9640-d84708ea8bfb", + "vfModuleModelCustomizationUUID": "ddd095d2-c2ba-48fe-90f4-e3f6fc806d7e", + "isBase": true, + "artifacts": [ + "e3a33b76-1f8a-44ba-808b-8a4c79e4b44a", + "9b73763b-0f60-47c3-8939-cf2f819bc75a" + ], + "properties": { + "min_vf_module_instances": "1", + "vf_module_label": "base_vcpe_vgw", + "max_vf_module_instances": "1", + "vfc_list": "", + "vf_module_description": "", + "vf_module_type": "Base", + "availability_zone_count": "", + "volume_group": "false", + "initial_count": "1" + } + } +] \ No newline at end of file diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vendor-license-model.xml b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vendor-license-model.xml new file mode 100644 index 0000000000..67bbea4677 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vendor-license-model.xml @@ -0,0 +1 @@ +6dccd115-ce6a-4b1a-88aa40d4819966b04a28aac2db35f2d8475586EFCDA3995C4232B96C833E97804D4F1.0ce52c558-b095-4a8f-84f3vendor entitlement pool111111Percentage1002019-10-01T00:00:00Z2020-09-30T23:59:59Z1.0c712eb11-eddd-459f-a383vendor license key groupUniversal11111fc8a672de0d041ecb7637b1ae5446e99DF4EA9695A4943ABB8437F244FC6623BPercentage1002019-10-01T00:00:00Z2020-09-30T23:59:59Z \ No newline at end of file diff --git a/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vf-license-model.xml b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vf-license-model.xml new file mode 100644 index 0000000000..fb15c3aa16 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vcpe-rescust/vf-license-model.xml @@ -0,0 +1 @@ +6dccd115-ce6a-4b1a-88aa8228aa3775634529bb6f86e77b0e40d7ce52c558-b095-4a8f-84f3vendor entitlement pool40d4819966b04a28aac2db35f2d8475586EFCDA3995C4232B96C833E97804D4F111111Percentage1001.02019-10-01T00:00:00Z2020-09-30T23:59:59Zc712eb11-eddd-459f-a383vendor license key groupUniversalfc8a672de0d041ecb7637b1ae5446e99DF4EA9695A4943ABB8437F244FC6623B11111Percentage1001.02019-10-01T00:00:00Z2020-09-30T23:59:59Zec13e8a7-f181-4d96-b821123abc4567b85e31faa0541afa21a60b85907aa40vendor feature group \ No newline at end of file -- cgit 1.2.3-korg