From 919a7aa6ecbb06a4d04afba280202bdedef0eb52 Mon Sep 17 00:00:00 2001 From: Jozsef Csongvai Date: Mon, 28 Sep 2020 10:09:36 -0400 Subject: Fix service blueprints Blueprints were failing enrichment. Cba's were referencing requirement restconf-connection which is not defined in component-netconf-executor. Added new capability for restconf and fixed referencing Issue-ID: CCSDK-2859 Change-Id: I13f8800ea5fad9daed8a8b7b81cc3649efbebbc9 Signed-off-by: Jozsef Csongvai --- .../vLB_CDS_RESTCONF/Definitions/data_types.json | 56 +-- .../vLB_CDS_RESTCONF/Definitions/node_types.json | 104 ++--- .../Definitions/resources_definition_types.json | 426 +++++++++++++++++++-- .../vLB_CDS_RESTCONF/Definitions/vLB_CDS.json | 6 +- .../Scripts/kotlin/KotlinRestCall.kt | 2 +- .../vLB_CDS_RESTCONF/TOSCA-Metadata/TOSCA.meta | 2 + 6 files changed, 450 insertions(+), 146 deletions(-) (limited to 'components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF') diff --git a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/data_types.json b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/data_types.json index 84134b3af..645dde711 100644 --- a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/data_types.json +++ b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/data_types.json @@ -61,16 +61,6 @@ "description" : "Dynamic DataType definition for workflow(config-deploy).", "version" : "1.0.0", "properties" : { - "vdns_int_private_ip_0" : { - "description" : "", - "required" : false, - "type" : "string", - "status" : "", - "constraints" : [ { } ], - "entry_schema" : { - "type" : "" - } - }, "vnf-id" : { "description" : "", "required" : false, @@ -81,16 +71,6 @@ "type" : "" } }, - "vdns_vf_module_id" : { - "description" : "", - "required" : false, - "type" : "string", - "status" : "", - "constraints" : [ { } ], - "entry_schema" : { - "type" : "" - } - }, "service-instance-id" : { "description" : "", "required" : false, @@ -101,16 +81,6 @@ "type" : "" } }, - "vdns_onap_private_ip_0" : { - "description" : "", - "required" : false, - "type" : "string", - "status" : "", - "constraints" : [ { } ], - "entry_schema" : { - "type" : "" - } - }, "ip" : { "description" : "", "required" : false, @@ -138,12 +108,24 @@ "type" : "" } }, + "vf-module-name" : { + "description" : "", + "required" : false, + "type" : "string", + "status" : "", + "constraints" : [ { } ], + "default" : "${vf-module-name}", + "entry_schema" : { + "type" : "" + } + }, "private1-prefix-id" : { "description" : "", "required" : false, "type" : "string", "status" : "", "constraints" : [ { } ], + "default" : "", "entry_schema" : { "type" : "" } @@ -505,6 +487,7 @@ "type" : "string", "status" : "", "constraints" : [ { } ], + "default" : "", "entry_schema" : { "type" : "" } @@ -530,17 +513,6 @@ "type" : "" } }, - "vf_module_name" : { - "description" : "", - "required" : false, - "type" : "string", - "status" : "", - "constraints" : [ { } ], - "default" : "${vf_module_name}", - "entry_schema" : { - "type" : "" - } - }, "pg_int" : { "description" : "", "required" : false, @@ -629,6 +601,7 @@ "type" : "string", "status" : "", "constraints" : [ { } ], + "default" : "", "entry_schema" : { "type" : "" } @@ -712,6 +685,7 @@ "type" : "string", "status" : "", "constraints" : [ { } ], + "default" : "", "entry_schema" : { "type" : "" } diff --git a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/node_types.json b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/node_types.json index 97e9f20ce..60194c41f 100644 --- a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/node_types.json +++ b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/node_types.json @@ -1,70 +1,6 @@ { "node_types" : { - "component-script-executor":{ - "description": "This is CLI Transaction Configuration Component API", - "version": "1.0.0", - "attributes": { - "response-data": { - "required": false, - "type": "json" - } - }, - "capabilities": { - "component-node": { - "type": "tosca.capabilities.Node" - } - }, - "interfaces": { - "ComponentScriptExecutor": { - "operations": { - "process": { - "inputs": { - "script-type": { - "description": "Script type, kotlin type is supported", - "required": true, - "type": "string", - "default": "internal", - "constraints": [ - { - "valid_values": [ - "kotlin", - "jython", - "internal" - ] - } - ] - }, - "script-class-reference": { - "description": "Kotlin Script class name or jython script name.", - "required": true, - "type": "string" - }, - "dynamic-properties": { - "description": "Dynamic Json Content or DSL Json reference.", - "required": false, - "type": "json" - } - }, - "outputs": { - "response-data": { - "description": "Execution Response Data.", - "required": false, - "type": "string" - }, - "status": { - "description": "Status of the Component Execution ( success or failure )", - "required": true, - "type": "string" - } - } - } - } - } - }, - "derived_from": "tosca.nodes.Component" -}, - - "component-netconf-executor" : { + "component-netconf-executor" : { "description" : "This is Netconf Transaction Configuration Component API", "version" : "1.0.0", "attributes" : { @@ -141,8 +77,14 @@ "version" : "1.0.0", "attributes" : { "assignment-params" : { + "description" : "Holds resolved template, resolution-summary or key-value", "required" : true, "type" : "string" + }, + "assignment-map" : { + "description" : "Holds resolved values for each artifact prefix eg. { vdns: { vnf-id: 123 } }", + "required" : true, + "type" : "map" } }, "capabilities" : { @@ -176,6 +118,11 @@ "required" : false, "type" : "string" }, + "resolution-summary" : { + "description" : "Enable resolution-summary output", + "required" : false, + "type" : "boolean" + }, "artifact-prefix-names" : { "description" : "Template , Resource Assignment Artifact Prefix names", "required" : true, @@ -210,6 +157,10 @@ "required" : true, "type" : "string" }, + "resource-assignment-map" : { + "required" : true, + "type" : "string" + }, "status" : { "required" : true, "type" : "string" @@ -344,6 +295,13 @@ } ], "default" : "JSON" }, + "headers" : { + "required" : false, + "type" : "map", + "entry_schema" : { + "type" : "string" + } + }, "verb" : { "required" : true, "type" : "string", @@ -460,22 +418,15 @@ } }, "restconf" : { - "type" : "tosca.capabilities.Netconf", + "type" : "tosca.capabilities.Restconf", "properties" : { "login-key" : { "required" : true, - "type" : "string", - "default" : "sdnc" + "type" : "string" }, "login-account" : { "required" : true, - "type" : "string", - "default" : "sdnc-tacacs" - }, - "source" : { - "required" : false, - "type" : "string", - "default" : "npm" + "type" : "string" }, "target-ip-address" : { "required" : true, @@ -483,8 +434,7 @@ }, "port-number" : { "required" : true, - "type" : "integer", - "default" : 830 + "type" : "integer" }, "connection-time-out" : { "required" : false, diff --git a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/resources_definition_types.json b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/resources_definition_types.json index b82d44c7f..9746fad9a 100644 --- a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/resources_definition_types.json +++ b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/resources_definition_types.json @@ -6,6 +6,7 @@ "description" : "aic-cloud-region", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -21,6 +22,7 @@ "description" : "cloud_env", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -56,12 +58,17 @@ "description" : "create-md-sal-vnf-param", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "sdnc" : { "type" : "source-rest", "properties" : { "type" : "JSON", + "headers" : { + "Accept" : "application/json", + "Content-Type" : "application/json" + }, "verb" : "PUT", "url-path" : "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_vf_module_id", "path" : "", @@ -99,6 +106,7 @@ "description" : "dcae_collector_ip", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -134,6 +142,7 @@ "description" : "dcae_collector_port", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -169,6 +178,7 @@ "description" : "demo_artifacts_version", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -204,6 +214,7 @@ "description" : "flavor_name", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -239,6 +250,7 @@ "description" : "gre_ipaddr", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -264,6 +276,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "private1-prefix-id" + }, + "output-key-mapping" : { + "gre_ipaddr" : "address", + "id" : "id" + }, + "key-dependencies" : [ "private1-prefix-id" ] + } } } }, @@ -274,6 +304,7 @@ "description" : "image_name", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -309,6 +340,7 @@ "description" : "install_script_version", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -344,6 +376,7 @@ "description" : "int_pktgen_private_net_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -379,6 +412,7 @@ "description" : "int_pktgen_private_subnet_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -414,6 +448,7 @@ "description" : "int_private_net_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -449,6 +484,7 @@ "description" : "int_private_subnet_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -484,6 +520,7 @@ "description" : "key_name", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -519,6 +556,7 @@ "description" : "keypair", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -554,6 +592,7 @@ "description" : "management-prefix-id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -600,6 +639,7 @@ "description" : "nb_api_version", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -635,6 +675,7 @@ "description" : "nexus_artifact_repo", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -670,6 +711,7 @@ "description" : "nfc-naming-code", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -702,6 +744,7 @@ "description" : "onap_private_net_cidr", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -748,6 +791,7 @@ "description" : "onap_private_net_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -783,6 +827,7 @@ "description" : "onap_private_subnet_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -818,6 +863,7 @@ "description" : "pg_int", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -843,6 +889,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "private2-prefix-id" + }, + "output-key-mapping" : { + "pg_int" : "address", + "id" : "id" + }, + "key-dependencies" : [ "private2-prefix-id" ] + } } } }, @@ -853,6 +917,7 @@ "description" : "pktgen_private_net_cidr", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -899,6 +964,7 @@ "description" : "private1-prefix-id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -945,6 +1011,7 @@ "description" : "private2-prefix-id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -991,6 +1058,7 @@ "description" : "pub_key", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1026,6 +1094,7 @@ "description" : "public_net_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1061,6 +1130,7 @@ "description" : "sec_group", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1096,6 +1166,7 @@ "description" : "To be provided", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -1105,7 +1176,7 @@ "any-db" : { "type" : "source-db", "properties" : { - "query" : "SELECT artifact_name FROM BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"", + "query" : "SELECT artifact_name FROM BLUEPRINT_MODEL where artifact_version=\"1.0.0\"", "input-key-mapping" : { }, "output-key-mapping" : { "service-instance-id" : "artifact_name" @@ -1115,7 +1186,7 @@ "processor-db" : { "type" : "source-db", "properties" : { - "query" : "SELECT artifact_name FROM BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"", + "query" : "SELECT artifact_name FROM BLUEPRINT_MODEL where artifact_version=\"1.0.0\"", "input-key-mapping" : { }, "output-key-mapping" : { "service-instance-id" : "artifact_name" @@ -1129,6 +1200,22 @@ "script-class-reference" : "SampleRAProcessor", "instance-dependencies" : [ ] } + }, + "sdnc" : { + "type" : "source-rest", + "properties" : { + "verb" : "GET", + "type" : "JSON", + "url-path" : "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id", + "path" : "/service/0/service-instance-id", + "input-key-mapping" : { + "service-instance-id" : "service-instance.service-instance-id" + }, + "output-key-mapping" : { + "service-instance-id" : "service-instance-id" + }, + "key-dependencies" : [ "service-instance.service-instance-id" ] + } } } }, @@ -1139,6 +1226,7 @@ "description" : "vdns_int_private_ip_0", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1165,6 +1253,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id", "vdns_vf_module_id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "private1-prefix-id" + }, + "output-key-mapping" : { + "vdns_int_private_ip_0" : "address", + "id" : "id" + }, + "key-dependencies" : [ "private1-prefix-id" ] + } } } }, @@ -1175,6 +1281,7 @@ "description" : "vdns_name_0", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -1200,6 +1307,31 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "naming-resolution", + "verb" : "POST", + "type" : "JSON", + "headers" : { + "Accept" : "application/json", + "Content-Type" : "application/json" + }, + "url-path" : "/v1/genNetworkElementName", + "payload" : "{\r\n\t\"elements\": [{\r\n\t\t\"resource-name\": \"vdns_name_0\",\r\n\t\t\"resource-value\": \"${vdns_name_0}\",\r\n\t\t\"external-key\": \"${vf-module-id}_vdns_name_0\",\r\n\t\t\"policy-instance-name\": \"${vf-naming-policy}\",\r\n\t\t\"naming-type\": \"VNFC\",\r\n\t\t\"VNF_NAME\": \"${vnf_name}\",\r\n\t\t\"NFC_NAMING_CODE\": \"${nfc-naming-code}\"\r\n\t}]\r\n}", + "path" : "/elements/0/resource-value", + "input-key-mapping" : { + "vf-naming-policy" : "vf-naming-policy", + "nfc-naming-code" : "nfc-naming-code", + "vnf_name" : "vnf_name", + "vf-module-id" : "vf-module-id" + }, + "output-key-mapping" : { + "vdns_name_0" : "resource-value" + }, + "key-dependencies" : [ "vf-naming-policy", "nfc-naming-code", "vnf_name", "vf-module-id" ] + } } } }, @@ -1210,6 +1342,7 @@ "description" : "vdns_onap_private_ip_0", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1236,6 +1369,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id", "vdns_vf_module_id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "management-prefix-id" + }, + "output-key-mapping" : { + "vdns_onap_private_ip_0" : "address", + "id" : "id" + }, + "key-dependencies" : [ "management-prefix-id" ] + } } } }, @@ -1246,6 +1397,7 @@ "description" : "vdns_vf_module_id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "default" : { @@ -1269,7 +1421,7 @@ "key-dependencies" : [ "service-instance-id", "vnf-id" ] } }, - "aai-data" : { + "rest" : { "type" : "source-rest", "properties" : { "verb" : "GET", @@ -1294,6 +1446,7 @@ "description" : "vf-module-id", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -1309,6 +1462,7 @@ "description" : "vf-module-label", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1341,6 +1495,7 @@ "description" : "vf-module-model-customization-uuid", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1352,6 +1507,68 @@ } } }, + "vf-module-name" : { + "tags" : "vf-module-name", + "name" : "vf-module-name", + "property" : { + "description" : "vf-module-name", + "type" : "string" + }, + "group" : "default", + "updated-by" : "Singal, Kapil ", + "sources" : { + "input" : { + "type" : "source-input" + }, + "default" : { + "type" : "source-default", + "properties" : { } + }, + "sdnc" : { + "type" : "source-rest", + "properties" : { + "verb" : "GET", + "type" : "JSON", + "url-path" : "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vf-modules/vf-module/$vf_module_id/vf-module-data/vf-module-topology/vf-module-parameters/param/vf-module-name", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "vf-module-name" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id", "vf_module_id" ] + } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "naming-resolution", + "verb" : "POST", + "type" : "JSON", + "headers" : { + "Accept" : "application/json", + "Content-Type" : "application/json" + }, + "url-path" : "/v1/genNetworkElementName", + "payload" : "{\r\n \"elements\": [\r\n {\r\n \"resource-name\": \"vf-module-name\",\r\n \"resource-value\": \"${vf-module-name}\",\r\n \"external-key\": \"${vf-module-id}\",\r\n \"policy-instance-name\": \"${vf-naming-policy}\",\r\n \"naming-type\": \"VF-MODULE\",\r\n \"VNF_NAME\": \"${vnf_name}\",\r\n \"VF_MODULE_LABEL\":\"${vf-module-label}\",\r\n \"VF_MODULE_TYPE\":\"${vf-module-type}\"\r\n }\r\n ]\r\n}", + "path" : "/elements/0/resource-value", + "input-key-mapping" : { + "vf-naming-policy" : "vf-naming-policy", + "vnf_name" : "vnf_name", + "vf-module-label" : "vf-module-label", + "vf-module-type" : "vf-module-type", + "vf-module-id" : "vf-module-id" + }, + "output-key-mapping" : { + "vf-module-name" : "resource-value" + }, + "key-dependencies" : [ "vf-naming-policy", "vnf_name", "vf-module-label", "vf-module-type", "vf-module-id" ] + } + } + } + }, "vf-module-type" : { "tags" : "vf-module-type", "name" : "vf-module-type", @@ -1359,6 +1576,7 @@ "description" : "vf-module-type", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1391,6 +1609,7 @@ "description" : "vf-naming-policy", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "default" : { @@ -1430,24 +1649,6 @@ } } }, - "vf_module_name" : { - "tags" : "vf_module_name", - "name" : "vf_module_name", - "property" : { - "description" : "vf_module_name", - "type" : "string" - }, - "updated-by" : "Singal, Kapil ", - "sources" : { - "input" : { - "type" : "source-input" - }, - "default" : { - "type" : "source-default", - "properties" : { } - } - } - }, "vfccustomizationuuid" : { "tags" : "vfccustomizationuuid", "name" : "vfccustomizationuuid", @@ -1455,6 +1656,7 @@ "description" : "vfccustomizationuuid", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1487,6 +1689,7 @@ "description" : "vip", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1512,6 +1715,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "private2-prefix-id" + }, + "output-key-mapping" : { + "vip" : "address", + "id" : "id" + }, + "key-dependencies" : [ "private2-prefix-id" ] + } } } }, @@ -1522,6 +1743,7 @@ "description" : "vlb_int_pktgen_private_ip_0", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1547,6 +1769,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "private2-prefix-id" + }, + "output-key-mapping" : { + "vlb_int_pktgen_private_ip_0" : "address", + "id" : "id" + }, + "key-dependencies" : [ "private2-prefix-id" ] + } } } }, @@ -1557,6 +1797,7 @@ "description" : "vlb_int_private_ip_0", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -1582,6 +1823,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "private1-prefix-id" + }, + "output-key-mapping" : { + "vlb_int_private_ip_0" : "address", + "id" : "id" + }, + "key-dependencies" : [ "private1-prefix-id" ] + } } } }, @@ -1592,6 +1851,7 @@ "description" : "vlb_name_0", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1617,6 +1877,31 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "naming-resolution", + "verb" : "POST", + "type" : "JSON", + "headers" : { + "Accept" : "application/json", + "Content-Type" : "application/json" + }, + "url-path" : "/v1/genNetworkElementName", + "payload" : "{\r\n\t\"elements\": [{\r\n\t\t\"resource-name\": \"vlb_name_0\",\r\n\t\t\"resource-value\": \"${vlb_name_0}\",\r\n\t\t\"external-key\": \"${vf-module-id}_vlb_name_0\",\r\n\t\t\"policy-instance-name\": \"${vf-naming-policy}\",\r\n\t\t\"naming-type\": \"VNFC\",\r\n\t\t\"VNF_NAME\": \"${vnf_name}\",\r\n\t\t\"NFC_NAMING_CODE\": \"${nfc-naming-code}\"\r\n\t}]\r\n}", + "path" : "/elements/0/resource-value", + "input-key-mapping" : { + "vf-naming-policy" : "vf-naming-policy", + "nfc-naming-code" : "nfc-naming-code", + "vnf_name" : "vnf_name", + "vf-module-id" : "vf-module-id" + }, + "output-key-mapping" : { + "vlb_name_0" : "resource-value" + }, + "key-dependencies" : [ "vf-naming-policy", "nfc-naming-code", "vnf_name", "vf-module-id" ] + } } } }, @@ -1627,6 +1912,7 @@ "description" : "vlb_onap_private_ip_0", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1648,10 +1934,28 @@ "vnf-id" : "vnf-id" }, "output-key-mapping" : { - "private2-prefix-id" : "value" + "vlb_onap_private_ip_0" : "value" }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "management-prefix-id" + }, + "output-key-mapping" : { + "vlb_onap_private_ip_0" : "address", + "id" : "id" + }, + "key-dependencies" : [ "management-prefix-id" ] + } } } }, @@ -1662,6 +1966,7 @@ "description" : "vlb_private_net_cidr", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1708,6 +2013,7 @@ "description" : "vm-type", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1740,6 +2046,7 @@ "description" : "vnf-id", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1775,6 +2082,7 @@ "description" : "vnf-model-customization-uuid", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -1790,6 +2098,7 @@ "description" : "vnf_name", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1806,6 +2115,10 @@ "type" : "JSON", "url-path" : "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vnf_name", "path" : "/param/0/value", + "headers" : { + "Accept" : "application/json", + "Content-Type" : "application/json" + }, "input-key-mapping" : { "service-instance-id" : "service-instance-id", "vnf-id" : "vnf-id" @@ -1815,6 +2128,30 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "naming-resolution", + "verb" : "POST", + "type" : "JSON", + "headers" : { + "Accept" : "application/json", + "Content-Type" : "application/json" + }, + "url-path" : "/v1/genNetworkElementName", + "payload" : "{\r\n \"elements\": [\r\n {\r\n \"resource-name\": \"vnf_name\",\r\n \"resource-value\": \"${vnf_name}\",\r\n \"external-key\": \"${vnf-id}\",\r\n \"policy-instance-name\": \"${vf-naming-policy}\",\r\n \"naming-type\": \"VNF\",\r\n \"AIC_CLOUD_REGION\": \"${aic-cloud-region}\"\r\n }\r\n ]\r\n}", + "path" : "/elements/0/resource-value", + "input-key-mapping" : { + "vnf-id" : "vnf-id", + "aic-cloud-region" : "aic-cloud-region", + "vf-naming-policy" : "vf-naming-policy" + }, + "output-key-mapping" : { + "vnf_name" : "resource-value" + }, + "key-dependencies" : [ "vnf-id", "aic-cloud-region", "vf-naming-policy" ] + } } } }, @@ -1825,6 +2162,7 @@ "description" : "vnfc-model-invariant-uuid", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1857,6 +2195,7 @@ "description" : "vnfc-model-version", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1889,6 +2228,7 @@ "description" : "vpg_int_pktgen_private_ip_0", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -1914,6 +2254,24 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "private2-prefix-id" + }, + "output-key-mapping" : { + "vpg_int_pktgen_private_ip_0" : "address", + "id" : "id" + }, + "key-dependencies" : [ "private2-prefix-id" ] + } } } }, @@ -1921,9 +2279,10 @@ "tags" : "vpg_name_0", "name" : "vpg_name_0", "property" : { - "description" : "vlb_name_0", + "description" : "vpg_name_0", "type" : "string" }, + "group" : "default", "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { @@ -1959,6 +2318,7 @@ "description" : "vpg_onap_private_ip_0", "type" : "string" }, + "group" : "default", "updated-by" : "Singal, Kapil ", "sources" : { "input" : { @@ -1984,7 +2344,25 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + }, + "rest" : { + "type" : "source-rest", + "properties" : { + "endpoint-selector" : "ipam-1", + "type" : "JSON", + "verb" : "POST", + "url-path" : "/api/ipam/prefixes/$prefix-id/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefix-id" : "management-prefix-id" + }, + "output-key-mapping" : { + "vpg_onap_private_ip_0" : "address", + "id" : "id" + }, + "key-dependencies" : [ "management-prefix-id" ] + } } } } -} +} \ No newline at end of file diff --git a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/vLB_CDS.json b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/vLB_CDS.json index 86e35e0dd..7c080c448 100644 --- a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/vLB_CDS.json +++ b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Definitions/vLB_CDS.json @@ -282,16 +282,16 @@ } }, "execute" : { - "type" : "component-script-executor", + "type" : "component-netconf-executor", "requirements" : { - "restconf-connection" : { + "netconf-connection" : { "capability" : "restconf", "node" : "netconf-device", "relationship" : "tosca.relationships.ConnectsTo" } }, "interfaces" : { - "ComponentScriptExecutor" : { + "ComponentNetconfExecutor" : { "operations" : { "process" : { "inputs" : { diff --git a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Scripts/kotlin/KotlinRestCall.kt b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Scripts/kotlin/KotlinRestCall.kt index 91b985040..d6f7e766b 100644 --- a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Scripts/kotlin/KotlinRestCall.kt +++ b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/Scripts/kotlin/KotlinRestCall.kt @@ -51,7 +51,7 @@ open class ConfigDeploy : AbstractScriptComponentFunction() { val vdns_ip: String = payloadObject.get("vdns-instance")[0].get("ip-addr").asText() val blueprintContext = bluePrintRuntimeService.bluePrintContext() - val requirement = blueprintContext.nodeTemplateRequirement(nodeTemplateName, "restconf-connection") + val requirement = blueprintContext.nodeTemplateRequirement(nodeTemplateName, "netconf-connection") val capabilityProperties = bluePrintRuntimeService.resolveNodeTemplateCapabilityProperties(requirement.node!!, requirement.capability!!) val netconfDeviceInfo = JacksonUtils.getInstanceFromMap(capabilityProperties, NetconfDeviceInfo::class.java) log.info("Waiting for 2 minutes until vLB intializes ...") diff --git a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/TOSCA-Metadata/TOSCA.meta b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/TOSCA-Metadata/TOSCA.meta index 71e910d60..8160eeb7c 100644 --- a/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/TOSCA-Metadata/TOSCA.meta +++ b/components/model-catalog/blueprint-model/service-blueprint/vLB_CDS_RESTCONF/TOSCA-Metadata/TOSCA.meta @@ -3,4 +3,6 @@ CSAR-Version: 1.0 Created-By: Seaudi, Abdelmuhaimen Entry-Definitions: Definitions/vLB_CDS.json Template-Tags: vLB-CDS +Template-Name: vLB_CDS_RESTCONF +Template-Version: 1.0.0 Content-Type: application/vnd.oasis.bpmn \ No newline at end of file -- cgit 1.2.3-korg