From bc6e714e001a8c61b06709c61b187d4e3dd22aac Mon Sep 17 00:00:00 2001 From: Samuli Silvius Date: Thu, 5 Dec 2019 14:34:48 +0200 Subject: [PATCH] CDS Blueprint for vFW K8s Use Case Introduce blueprint changes on top of latest vFW demo to also support multicloud/K8s plugin integration. This commit brings resource resolution part for k8s related parameters that are enough to instantiate CNF defined by Helm charts in multicloud/k8s plugin. Issue-ID: INT-1260 Signed-off-by: Samuli Silvius Change-Id: I783e364a201cda25ea812d83795ae2a4be71def9 --- heat/vFW_CNF_CDS/templates/README.txt | 1 + heat/vFW_CNF_CDS/templates/cba-dd.json | 428 +++++++++++++++++++++ .../templates/cba/Definitions/data_types.json | 37 ++ .../templates/cba/Definitions/node_types.json | 7 + .../Definitions/resources_definition_types.json | 352 ++++++++++++++--- .../Definitions/{vFW_CDS.json => vFW_CNF_CDS.json} | 13 +- .../templates/cba/TOSCA-Metadata/TOSCA.meta | 10 +- .../cba/Templates/base_template-mapping.json | 144 ++++++- .../cba/Templates/base_template-template.vtl | 58 ++- .../templates/cba/Templates/vfw-mapping.json | 130 ++++++- .../templates/cba/Templates/vfw-template.vtl | 22 +- .../templates/cba/Templates/vnf-mapping.json | 161 ++++++-- .../templates/cba/Templates/vnf-template.vtl | 39 +- .../templates/cba/Templates/vpkg-mapping.json | 82 +++- .../templates/cba/Templates/vpkg-template.vtl | 29 +- .../templates/cba/Templates/vsn-mapping.json | 100 +++-- .../templates/cba/Templates/vsn-template.vtl | 32 +- .../base_template/templates/onap-private-net.yaml | 10 +- .../templates/protected-private-net.yaml | 10 +- .../templates/unprotected-private-net.yaml | 8 +- .../templates/helm/base_template/values.yaml | 2 +- heat/vFW_CNF_CDS/templates/helm/vfw/values.yaml | 14 +- heat/vFW_CNF_CDS/templates/helm/vpkg/values.yaml | 4 +- heat/vFW_CNF_CDS/templates/helm/vsn/values.yaml | 2 +- 24 files changed, 1455 insertions(+), 240 deletions(-) create mode 100644 heat/vFW_CNF_CDS/templates/README.txt create mode 100644 heat/vFW_CNF_CDS/templates/cba-dd.json rename heat/vFW_CNF_CDS/templates/cba/Definitions/{vFW_CDS.json => vFW_CNF_CDS.json} (94%) diff --git a/heat/vFW_CNF_CDS/templates/README.txt b/heat/vFW_CNF_CDS/templates/README.txt new file mode 100644 index 00000000..3d7c29cf --- /dev/null +++ b/heat/vFW_CNF_CDS/templates/README.txt @@ -0,0 +1 @@ +cba-dd.json file is Data Dictionary file used to enrich cba model. diff --git a/heat/vFW_CNF_CDS/templates/cba-dd.json b/heat/vFW_CNF_CDS/templates/cba-dd.json new file mode 100644 index 00000000..1d85d963 --- /dev/null +++ b/heat/vFW_CNF_CDS/templates/cba-dd.json @@ -0,0 +1,428 @@ +[ + { + "name": "k8s-rb-profile-name", + "tags": "k8s, cnf, profile", + "data_type": "string", + "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, profile", + "name": "k8s-rb-profile-name", + "property": { + "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/k8s-rb-profile-name", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "k8s-rb-profile-name" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + }, + { + "name": "vf-module-model-invariant-uuid", + "tags": "vnf, vf-module", + "data_type": "string", + "description": "vf module model invariant uuid", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "vnf, vf-module", + "name": "vf-module-model-invariant-uuid", + "property": { + "description": "vf module model invariant uuid", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "sources": { + "input": { + "type": "source-input" + }, + "default": { + "type": "source-default", + "properties": {} + }, + "processor-db" : { + "type" : "source-db", + "properties" : { + "type" : "SQL", + "query" : "select sdnctl.VF_MODULE_MODEL.invariant_uuid as vf_module_model_invariant_uuid from sdnctl.VF_MODULE_MODEL where sdnctl.VF_MODULE_MODEL.customization_uuid=:customizationid", + "input-key-mapping" : { + "customizationid" : "vf-module-model-customization-uuid" + }, + "output-key-mapping" : { + "vf-module-model-invariant-uuid" : "vf_module_model_invariant_uuid" + }, + "key-dependencies" : [ "vf-module-model-customization-uuid" ], + "endpoint-selector" : "dynamic-db-source" + } + } + } + } + }, + { + "name": "vf-module-model-version", + "tags": "vnf, vf-module", + "data_type": "string", + "description": "vf module model model version", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "vnf, vf-module", + "name": "vf-module-model-version", + "property": { + "description": "vf module model model version", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "sources": { + "input": { + "type": "source-input" + }, + "default": { + "type": "source-default", + "properties": {} + }, + "processor-db" : { + "type" : "source-db", + "properties" : { + "type" : "SQL", + "query" : "select sdnctl.VF_MODULE_MODEL.version as vf_module_model_version from sdnctl.VF_MODULE_MODEL where sdnctl.VF_MODULE_MODEL.customization_uuid=:customizationid", + "input-key-mapping" : { + "customizationid" : "vf-module-model-customization-uuid" + }, + "output-key-mapping" : { + "vf-module-model-version" : "vf-module-model-version" + }, + "key-dependencies" : [ "vf-module-model-customization-uuid" ], + "endpoint-selector" : "dynamic-db-source" + } + } + } + } + }, + { + "name": "int_private1_gw_ip", + "tags": "k8s, cnf, int_private1_gw_ip", + "data_type": "string", + "description": "Private unprotected network gateway ip address", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, int_private1_gw_ip", + "name": "int_private1_gw_ip", + "property": { + "description": "Private unprotected network gateway ip address", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private1_gw_ip", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private1_gw_ip" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + }, + { + "name": "int_private1_net_id", + "tags": "k8s, cnf, int_private1_net_id", + "data_type": "string", + "description": "Private unprotected network identification", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, int_private1_net_id", + "name": "int_private1_net_id", + "property": { + "description": "Private network identification", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private1_net_id", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private1_net_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + }, + { + "name": "int_private1_subnet_id", + "tags": "k8s, cnf, int_private1_subnet_id", + "data_type": "string", + "description": "Private unprotected subnetwork identification", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, int_private1_subnet_id", + "name": "int_private1_subnet_id", + "property": { + "description": "Private unprotected subnetwork identification", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private1_subnet_id", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private1_subnet_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + }, + { + "name": "int_private2_gw_ip", + "tags": "k8s, cnf, int_private2_gw_ip", + "data_type": "string", + "description": "Private protected network gateway ip address", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, int_private2_gw_ip", + "name": "int_private2_gw_ip", + "property": { + "description": "Private protected network gateway ip address", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private2_gw_ip", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private2_gw_ip" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + }, + { + "name": "int_private2_net_id", + "tags": "k8s, cnf, int_private2_net_id", + "data_type": "string", + "description": "Private protected network identification", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, int_private2_net_id", + "name": "int_private2_net_id", + "property": { + "description": "Private protected network identification", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private2_net_id", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private2_net_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + }, + { + "name": "int_private2_subnet_id", + "tags": "k8s, cnf, int_private2_subnet_id", + "data_type": "string", + "description": "Private protected subnetwork identification", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, int_private2_subnet_id", + "name": "int_private2_subnet_id", + "property": { + "description": "Private protected subnetwork identification", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private2_subnet_id", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private2_subnet_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + }, + { + "name": "onap_private_gw_ip", + "tags": "k8s, cnf, onap_private_gw_ip", + "data_type": "string", + "description": "Private onap management network gateway ip address", + "entry_schema": "string", + "updatedBy": "Samuli, Silvius ", + "definition": { + "tags": "k8s, cnf, onap_private_gw_ip", + "name": "onap_private_gw_ip", + "property": { + "description": "Private onap management network gateway ip address", + "type": "string" + }, + "updated-by": "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/onap_private_gw_ip", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "onap_private_gw_ip" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + } + } +] diff --git a/heat/vFW_CNF_CDS/templates/cba/Definitions/data_types.json b/heat/vFW_CNF_CDS/templates/cba/Definitions/data_types.json index 4df92dd3..82d4a041 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Definitions/data_types.json +++ b/heat/vFW_CNF_CDS/templates/cba/Definitions/data_types.json @@ -122,6 +122,11 @@ "type" : "" } }, + "int_private1_gw_ip" : { + "description" : "Private unprotected network gateway ip", + "type" : "string", + "default" : "192.168.10.1/24" + }, "sec_group" : { "description" : "", "required" : false, @@ -256,6 +261,11 @@ "type" : "" } }, + "int_private2_subnet_id" : { + "description" : "Private protected subnetwork identification", + "type" : "string", + "default" : "${int_private2_subnet_id}" + }, "vfccustomizationuuid" : { "description" : "", "required" : false, @@ -266,6 +276,10 @@ "type" : "" } }, + "k8s-rb-profile-name" : { + "description" : "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type" : "string" + }, "vsn_name_0" : { "description" : "", "required" : false, @@ -359,6 +373,15 @@ "type" : "" } }, + "int_private2_net_id" : { + "description" : "Private protected network identification", + "type" : "string" + }, + "int_private1_subnet_id" : { + "description" : "Private unprotected subnetwork identification", + "type" : "string", + "default" : "${int_private1_subnet_id}" + }, "vnf_name" : { "description" : "", "required" : false, @@ -409,6 +432,10 @@ "type" : "" } }, + "int_private2_gw_ip" : { + "description" : "Private protected network gateway ip", + "type" : "string" + }, "vsn_image_name" : { "description" : "", "required" : false, @@ -439,6 +466,11 @@ "type" : "" } }, + "onap_private_gw_ip" : { + "description" : "Private onap management network gateway ip", + "type" : "string", + "default" : "10.10.0.1/16" + }, "dcae_collector_port" : { "description" : "", "required" : false, @@ -592,6 +624,11 @@ "entry_schema" : { "type" : "" } + }, + "int_private1_net_id" : { + "description" : "Private unprotected network identification", + "type" : "string", + "default" : "${int_private1_net_id}" } }, "derived_from" : "tosca.datatypes.Dynamic" diff --git a/heat/vFW_CNF_CDS/templates/cba/Definitions/node_types.json b/heat/vFW_CNF_CDS/templates/cba/Definitions/node_types.json index e812db1c..91ecafe2 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Definitions/node_types.json +++ b/heat/vFW_CNF_CDS/templates/cba/Definitions/node_types.json @@ -189,6 +189,13 @@ } ], "default" : "JSON" }, + "headers" : { + "required" : false, + "type" : "map", + "entry_schema" : { + "type" : "string" + } + }, "verb" : { "required" : true, "type" : "string", diff --git a/heat/vFW_CNF_CDS/templates/cba/Definitions/resources_definition_types.json b/heat/vFW_CNF_CDS/templates/cba/Definitions/resources_definition_types.json index 6b1efae0..ea053c38 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Definitions/resources_definition_types.json +++ b/heat/vFW_CNF_CDS/templates/cba/Definitions/resources_definition_types.json @@ -6,7 +6,7 @@ "description" : "active-streams", "type" : "string" }, - "updated-by" : "Singal, Kapil ", + "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { "type" : "source-input" @@ -277,6 +277,41 @@ } } }, + "int_private1_gw_ip" : { + "tags" : "k8s, cnf, int_private1_gw_ip", + "name" : "int_private1_gw_ip", + "property" : { + "description" : "Private unprotected network gateway ip address", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private1_gw_ip", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private1_gw_ip" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + }, "int_private1_net_cidr" : { "tags" : "int_private1_net_cidr", "name" : "int_private1_net_cidr", @@ -293,6 +328,23 @@ "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/vnf-topology/vnf-parameters-data/param/int_private1_net_cidr", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private1_net_cidr" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + }, "processor-db" : { "type" : "source-db", "properties" : { @@ -304,20 +356,108 @@ "int_private1_net_cidr" : "prefix" } } + } + } + }, + "int_private1_net_id" : { + "tags" : "k8s, cnf, int_private1_net_id", + "name" : "int_private1_net_id", + "property" : { + "description" : "Private network identification", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private1_net_cidr", + "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/int_private1_net_id", "path" : "/param/0/value", "input-key-mapping" : { "service-instance-id" : "service-instance-id", "vnf-id" : "vnf-id" }, "output-key-mapping" : { - "int_private1_net_cidr" : "value" + "int_private1_net_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + }, + "int_private1_subnet_id" : { + "tags" : "k8s, cnf, int_private1_subnet_id", + "name" : "int_private1_subnet_id", + "property" : { + "description" : "Private unprotected subnetwork identification", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private1_subnet_id", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private1_subnet_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + }, + "int_private2_gw_ip" : { + "tags" : "k8s, cnf, int_private2_gw_ip", + "name" : "int_private2_gw_ip", + "property" : { + "description" : "Private protected network gateway ip address", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private2_gw_ip", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private2_gw_ip" : "value" }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } @@ -340,6 +480,18 @@ "type" : "source-default", "properties" : { } }, + "processor-db" : { + "type" : "source-db", + "properties" : { + "endpoint-selector" : "dynamic-db-source", + "type" : "SQL", + "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"private2\"", + "output-key-mapping" : { + "int_private2_net_cidr" : "prefix" + }, + "input-key-mapping" : { } + } + }, "sdnc" : { "type" : "source-rest", "properties" : { @@ -356,17 +508,110 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } + } + } + }, + "int_private2_net_id" : { + "tags" : "k8s, cnf, int_private2_net_id", + "name" : "int_private2_net_id", + "property" : { + "description" : "Private protected network identification", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/int_private2_net_id", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "int_private2_net_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + }, + "int_private2_subnet_id" : { + "tags" : "k8s, cnf, int_private2_subnet_id", + "name" : "int_private2_subnet_id", + "property" : { + "description" : "Private protected subnetwork identification", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "sources" : { + "input" : { + "type" : "source-input" }, - "processor-db" : { - "type" : "source-db", + "default" : { + "type" : "source-default", + "properties" : { } + }, + "sdnc" : { + "type" : "source-rest", "properties" : { - "endpoint-selector" : "dynamic-db-source", - "type" : "SQL", - "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"private2\"", - "input-key-mapping" : { }, + "verb" : "GET", + "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/int_private2_subnet_id", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, "output-key-mapping" : { - "int_private2_net_cidr" : "prefix" - } + "int_private2_subnet_id" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + }, + "k8s-rb-profile-name" : { + "tags" : "k8s, cnf, profile", + "name" : "k8s-rb-profile-name", + "property" : { + "description" : "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/k8s-rb-profile-name", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "k8s-rb-profile-name" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] } } } @@ -521,6 +766,41 @@ } } }, + "onap_private_gw_ip" : { + "tags" : "k8s, cnf, onap_private_gw_ip", + "name" : "onap_private_gw_ip", + "property" : { + "description" : "Private onap management network gateway ip address", + "type" : "string" + }, + "updated-by" : "Samuli, Silvius ", + "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/vnf-topology/vnf-parameters-data/param/onap_private_gw_ip", + "path" : "/param/0/value", + "input-key-mapping" : { + "service-instance-id" : "service-instance-id", + "vnf-id" : "vnf-id" + }, + "output-key-mapping" : { + "onap_private_gw_ip" : "value" + }, + "key-dependencies" : [ "service-instance-id", "vnf-id" ] + } + } + } + }, "onap_private_net_cidr" : { "tags" : "onap_private_net_cidr", "name" : "onap_private_net_cidr", @@ -809,8 +1089,15 @@ "description" : "put-active-streams", "type" : "string" }, - "updated-by" : "Singal, Kapil ", + "updated-by" : "MALAKOV, YURIY ", "sources" : { + "input" : { + "type" : "source-input" + }, + "default" : { + "type" : "source-default", + "properties" : { } + }, "sdnc" : { "type" : "source-rest", "properties" : { @@ -827,13 +1114,6 @@ "endpoint-selector" : "vpkg-rest-api", "payload" : "{\"streams\": {\"active-streams\": $active-streams}}" } - }, - "input" : { - "type" : "source-input" - }, - "default" : { - "type" : "source-default", - "properties" : { } } } }, @@ -1339,9 +1619,9 @@ "sdnc" : { "type" : "source-rest", "properties" : { + "verb" : "GET", "type" : "JSON", - "verb": "GET", - "url-path" : "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/name", + "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", "input-key-mapping" : { "service-instance-id" : "service-instance-id", @@ -1352,24 +1632,6 @@ }, "key-dependencies" : [ "service-instance-id", "vnf-id" ] } - }, - "aai-data": { - "type": "source-rest", - "properties": { - "type": "JSON", - "verb": "GET", - "url-path": "/aai/v14/network/generic-vnfs/generic-vnf/$vnf-id", - "path": "", - "input-key-mapping": { - "vnf-id": "vnf-id" - }, - "output-key-mapping": { - "vnf_name": "vnf-name" - }, - "key-dependencies": [ - "vnf-id" - ] - } } } }, @@ -1425,15 +1687,15 @@ "processor-db" : { "type" : "source-db", "properties" : { + "endpoint-selector" : "dynamic-db-source", "type" : "SQL", "query" : "select VFC_MODEL.version as vnfc_model_version from VFC_MODEL where customization_uuid=:vfccustomizationuuid", - "output-key-mapping" : { - "vnfc-model-version" : "vnfc_model_version" - }, - "endpoint-selector" : "dynamic-db-source", "input-key-mapping" : { "vfccustomizationuuid" : "vfccustomizationuuid" }, + "output-key-mapping" : { + "vnfc-model-version" : "vnfc_model_version" + }, "key-dependencies" : [ "vfccustomizationuuid" ] } } @@ -1446,7 +1708,7 @@ "description" : "vpg_int_private1_ip_0", "type" : "string" }, - "updated-by" : "Singal, Kapil ", + "updated-by" : "MALAKOV, YURIY ", "sources" : { "input" : { "type" : "source-input" @@ -1478,7 +1740,7 @@ "tags" : "vpg_name_0", "name" : "vpg_name_0", "property" : { - "description" : "vlb_name_0", + "description" : "vpg_name_0", "type" : "string" }, "updated-by" : "MALAKOV, YURIY ", diff --git a/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CDS.json b/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json similarity index 94% rename from heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CDS.json rename to heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json index 13bec84b..405df54e 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CDS.json +++ b/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json @@ -1,12 +1,13 @@ { "tosca_definitions_version" : "controller_blueprint_1_0_0", "metadata" : { - "template_author" : "Abdelmuhaimen Seaudi", + "template_author" : "Samuli Silvius ", "author-email" : "abdelmuhaimen.seaudi@orange.com", "user-groups" : "ADMIN, OPERATION", - "template_name" : "vFW_CDS", + "template_name" : "vFW_CNF_CDS", "template_version" : "1.0.0", - "template_tags" : "vFW-CDS, vfw-CDS, SCALE-OUT" + "template_tags" : "Samuli Silvius, vFW_CNF_CDS", + "template_type" : "DEFAULT" }, "imports" : [ { "file" : "Definitions/data_types.json" @@ -25,6 +26,12 @@ "url" : "http://netbox-nginx:8080", "token" : "Token 0123456789abcdef0123456789abcdef01234567" }, + "vpkg-rest-api" : { + "type" : "basic-auth", + "url" : "http://", + "username" : "admin", + "password" : "admin" + }, "config-deploy-properties" : { "resolution-key" : { "get_input" : "resolution-key" diff --git a/heat/vFW_CNF_CDS/templates/cba/TOSCA-Metadata/TOSCA.meta b/heat/vFW_CNF_CDS/templates/cba/TOSCA-Metadata/TOSCA.meta index 144c3d01..d5b8af25 100644 --- a/heat/vFW_CNF_CDS/templates/cba/TOSCA-Metadata/TOSCA.meta +++ b/heat/vFW_CNF_CDS/templates/cba/TOSCA-Metadata/TOSCA.meta @@ -1,6 +1,8 @@ TOSCA-Meta-File-Version: 1.0.0 CSAR-Version: 1.0 -Created-By: PLATANIA, MARCO -Entry-Definitions: Definitions/vFW_CDS.json -Template-Tags: vFW_CDS -Content-Type: application/vnd.oasis.bpmn \ No newline at end of file +Created-By: Samuli Silvius +Entry-Definitions: Definitions/vFW_CNF_CDS.json +Template-Name: vFW_CNF_CDS +Template-Version: 1.0.0 +Template-Type: DEFAULT +Template-Tags: Samuli Silvius, vFW_CNF_CDS diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-mapping.json b/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-mapping.json index 7ce97079..b4cadd3f 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-mapping.json +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-mapping.json @@ -298,7 +298,145 @@ "vnf-id" ], "version": 0 + }, + { + "name": "k8s-rb-profile-name", + "property": { + "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type": "string" + }, + "input-param": false, + "dictionary-name": "k8s-rb-profile-name", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private1_gw_ip", + "property": { + "description": "Private unprotected network gateway ip", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private1_gw_ip", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private1_net_id", + "property": { + "description": "Private unprotected network identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private1_net_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private1_subnet_id", + "property": { + "description": "Private unprotected subnetwork identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private1_subnet_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private2_gw_ip", + "property": { + "description": "Private protected network gateway ip", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private2_gw_ip", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private2_net_id", + "property": { + "description": "Private protected network identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private2_net_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private2_subnet_id", + "property": { + "description": "Private protected subnetwork identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private2_subnet_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "onap_private_gw_ip", + "property": { + "description": "Private onap management network gateway ip", + "type": "string" + }, + "input-param": false, + "dictionary-name": "onap_private_gw_ip", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "onap_private_net_id", + "property": { + "description": "Private onap management network identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "onap_private_net_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "onap_private_subnet_id", + "property": { + "description": "Private onap management subnetwork identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "onap_private_subnet_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] } - - -] \ No newline at end of file +] diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-template.vtl b/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-template.vtl index c2e92ade..226f4a52 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-template.vtl +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/base_template-template.vtl @@ -4,10 +4,7 @@ "param-name": "service-instance-id", "param-value": "${service-instance-id}" }, - { - "param-name": "vnf_id", - "param-value": "${vnf-id}" - }, + { "param-name": "vnf_name", "param-value": "${vnf_name}" @@ -24,22 +21,61 @@ "param-name": "vf_module_type", "param-value": "${vf-module-type}" }, - + { "param-name": "int_private1_net_cidr", "param-value": "${int_private1_net_cidr}" }, - + { "param-name": "int_private2_net_cidr", "param-value": "${int_private2_net_cidr}" }, - { - "param-name": "pub_key", - "param-value": "${pub_key}" + { + "param-name": "pub_key", + "param-value": "${pub_key}" + }, + { + "param-name": "k8s-rb-profile-name", + "param-value": "${k8s-rb-profile-name}" + }, + { + "param-name": "int_private1_gw_ip", + "param-value": "${int_private1_gw_ip}" + }, + { + "param-name": "int_private1_net_id", + "param-value": "${int_private1_net_id}" + }, + { + "param-name": "int_private1_subnet_id", + "param-value": "${int_private1_subnet_id}" + }, + { + "param-name": "int_private2_gw_ip", + "param-value": "${int_private2_gw_ip}" + }, + { + "param-name": "int_private2_net_id", + "param-value": "${int_private2_net_id}" + }, + { + "param-name": "int_private2_subnet_id", + "param-value": "${int_private2_subnet_id}" + }, + { + "param-name": "onap_private_gw_ip", + "param-value": "${onap_private_gw_ip}" + }, + { + "param-name": "onap_private_net_id", + "param-value": "${onap_private_net_id}" + }, + { + "param-name": "onap_private_subnet_id", + "param-value": "${onap_private_subnet_id}" } - ], "capability-data": [ { @@ -109,4 +145,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-mapping.json b/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-mapping.json index 86a5cc85..c78d34c9 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-mapping.json +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-mapping.json @@ -68,9 +68,9 @@ ], "version": 0 }, - - - + + + { "name": "vfw_int_private2_floating_ip", "property": { @@ -117,7 +117,7 @@ ], "version": 0 }, - + { "name": "vfw_int_private2_ip_0", "property": { @@ -141,11 +141,11 @@ ], "version": 0 }, - - - - - + + + + + { "name": "private1-prefix-id", "property": { @@ -159,7 +159,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "private1-prefix-id", @@ -180,7 +180,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "management-prefix-id", @@ -245,7 +245,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "install_script_version", @@ -269,7 +269,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "demo_artifacts_version", @@ -281,8 +281,8 @@ "version": 0 }, - - + + { "name": "nfc-naming-code", "property": { @@ -487,7 +487,7 @@ "dependencies": [], "version": 0 }, - + { "name": "vfw_name_0", "property": { @@ -530,7 +530,7 @@ "dependencies": [], "version": 0 }, - + { "name": "vf-module-id", "property": { @@ -638,7 +638,7 @@ ], "version": 0 }, - + { "name": "vfccustomizationuuid", "property": { @@ -661,7 +661,7 @@ ], "version": 0 }, - + { "name": "vnf-id", "property": { @@ -814,5 +814,95 @@ "vfccustomizationuuid" ], "version": 0 + }, + { + "name": "dcae_collector_ip", + "property": { + "description": "", + "required": false, + "type": "string", + "status": "", + "constraints": [ + {} + ], + "entry_schema": { + "type": "" + }, + "default": "10.0.4.1" + }, + "input-param": false, + "dictionary-name": "dcae_collector_ip", + "dictionary-source": "default", + "dependencies": [ + "service-instance-id", + "vnf-id" + ], + "version": 0 + }, + { + "name": "dcae_collector_port", + "property": { + "description": "", + "required": false, + "type": "string", + "status": "", + "constraints": [ + {} + ], + "entry_schema": { + "type": "" + }, + "default": "30235" + }, + "input-param": false, + "dictionary-name": "dcae_collector_port", + "dictionary-source": "default", + "dependencies": [ + "service-instance-id", + "vnf-id" + ], + "version": 0 + }, + { + "name": "k8s-rb-profile-name", + "property": { + "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type": "string" + }, + "input-param": false, + "dictionary-name": "k8s-rb-profile-name", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private1_net_id", + "property": { + "description": "Private unprotected network identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private1_net_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private2_net_id", + "property": { + "description": "Private protected network identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private2_net_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] } -] \ No newline at end of file +] diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-template.vtl b/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-template.vtl index 58996748..d81d961d 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-template.vtl +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vfw-template.vtl @@ -4,10 +4,7 @@ "param-name": "service-instance-id", "param-value": "${service-instance-id}" }, - { - "param-name": "vnf_id", - "param-value": "${vnf-id}" - }, + { "param-name": "vnf_name", "param-value": "${vnf_name}" @@ -135,8 +132,19 @@ { "param-name": "nexus_artifact_repo", "param-value": "${nexus_artifact_repo}" - } - + }, + { + "param-name": "k8s-rb-profile-name", + "param-value": "${k8s-rb-profile-name}" + }, + { + "param-name": "int_private1_net_id", + "param-value": "${int_private1_net_id}" + }, + { + "param-name": "int_private2_net_id", + "param-value": "${int_private2_net_id}" + } ], "capability-data": [ { @@ -275,4 +283,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-mapping.json b/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-mapping.json index f2cb9193..1a1ca278 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-mapping.json +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-mapping.json @@ -32,7 +32,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "management-prefix-id", @@ -124,7 +124,7 @@ ], "version": 0 }, - + { "name": "int_private1_net_cidr", "property": { @@ -165,8 +165,8 @@ "dependencies": [], "version": 0 }, - - + + { "name": "int_private2_net_cidr", "property": { @@ -187,8 +187,8 @@ "dependencies": [], "version": 0 }, - - + + { "name": "demo_artifacts_version", "property": { @@ -282,7 +282,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "public_net_id", @@ -323,7 +323,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "vnf-id", @@ -344,7 +344,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "vnf-model-customization-uuid", @@ -394,7 +394,7 @@ "dependencies": [], "version": 0 }, - { + { "name": "vpg_int_private1_ip_0", "property": { "description": "", @@ -428,7 +428,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "aic-cloud-region", @@ -449,7 +449,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "onap_private_net_id", @@ -470,7 +470,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "onap_private_subnet_id", @@ -520,27 +520,6 @@ "dependencies": [], "version": 0 }, - { - "name": "vfw_onap_private_ip_0", - "property": { - "description": "", - "required": false, - "type": "string", - "status": "", - "constraints": [ - {} - ], - "entry_schema": { - "type": "" - }, - "default": "${vfw_onap_private_ip_0}" - }, - "input-param": false, - "dictionary-name": "vfw_onap_private_ip_0", - "dictionary-source": "default", - "dependencies": [], - "version": 0 - }, { "name": "vsn_int_private2_ip_0", "property": { @@ -575,7 +554,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "service-instance-id", @@ -583,7 +562,7 @@ "dependencies": [], "version": 0 }, - + { "name": "private1-prefix-id", "property": { @@ -597,7 +576,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "private1-prefix-id", @@ -618,12 +597,116 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "private2-prefix-id", "dictionary-source": "processor-db", "dependencies": [], "version": 0 + }, + { + "name": "k8s-rb-profile-name", + "property": { + "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type": "string", + "default": "vfw-cnf-cds-base-profile" + }, + "input-param": false, + "dictionary-name": "k8s-rb-profile-name", + "dictionary-source": "default", + "dependencies": [ + ] + }, + { + "name": "int_private1_gw_ip", + "property": { + "description": "Private unprotected network gateway ip", + "type": "string", + "default": "192.168.10.1/24" + }, + "input-param": false, + "dictionary-name": "int_private1_gw_ip", + "dictionary-source": "default", + "dependencies": [ + ] + }, + { + "name": "int_private1_net_id", + "property": { + "description": "Private unprotected network identification", + "type": "string", + "default": "${int_private1_net_id}" + }, + "input-param": false, + "dictionary-name": "int_private1_net_id", + "dictionary-source": "default", + "dependencies": [ + ] + }, + { + "name": "int_private1_subnet_id", + "property": { + "description": "Private unprotected subnetwork identification", + "type": "string", + "default": "${int_private1_subnet_id}" + }, + "input-param": false, + "dictionary-name": "int_private1_subnet_id", + "dictionary-source": "default", + "dependencies": [ + ] + }, + { + "name": "int_private2_gw_ip", + "property": { + "description": "Private protected network gateway ip", + "type": "string", + "default": "192.168.20.1/24" + }, + "input-param": false, + "dictionary-name": "int_private2_gw_ip", + "dictionary-source": "default", + "dependencies": [ + ] + }, + { + "name": "int_private2_net_id", + "property": { + "description": "Private protected network identification", + "type": "string", + "default": "${int_private2_net_id}" + }, + "input-param": false, + "dictionary-name": "int_private2_net_id", + "dictionary-source": "default", + "dependencies": [ + ] + }, + { + "name": "int_private2_subnet_id", + "property": { + "description": "Private protected subnetwork identification", + "type": "string", + "default": "${int_private2_subnet_id}" + }, + "input-param": false, + "dictionary-name": "int_private2_subnet_id", + "dictionary-source": "default", + "dependencies": [ + ] + }, + { + "name": "onap_private_gw_ip", + "property": { + "description": "Private onap management network gateway ip", + "type": "string", + "default": "10.10.0.1/16" + }, + "input-param": false, + "dictionary-name": "onap_private_gw_ip", + "dictionary-source": "default", + "dependencies": [ + ] } -] \ No newline at end of file +] diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-template.vtl b/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-template.vtl index 60aeb049..37b4b941 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-template.vtl +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vnf-template.vtl @@ -4,10 +4,7 @@ "param-name": "service-instance-id", "param-value": "${service-instance-id}" }, - { - "param-name": "vnf_id", - "param-value": "${vnf-id}" - }, + { "param-name": "vnf-model-customization-uuid", "param-value": "${vnf-model-customization-uuid}" @@ -76,6 +73,38 @@ { "param-name": "nexus_artifact_repo", "param-value": "${nexus_artifact_repo}" + }, + { + "param-name": "k8s-rb-profile-name", + "param-value": "${k8s-rb-profile-name}" + }, + { + "param-name": "int_private1_gw_ip", + "param-value": "${int_private1_gw_ip}" + }, + { + "param-name": "int_private1_net_id", + "param-value": "${vnf_name}-unprotected-network" + }, + { + "param-name": "int_private1_subnet_id", + "param-value": "${int_private1_net_id}-subnet-1" + }, + { + "param-name": "int_private2_gw_ip", + "param-value": "${int_private2_gw_ip}" + }, + { + "param-name": "int_private2_net_id", + "param-value": "${vnf_name}-protected-network" + }, + { + "param-name": "int_private2_subnet_id", + "param-value": "${int_private2_net_id}-subnet-1" + }, + { + "param-name": "onap_private_gw_ip", + "param-value": "${onap_private_gw_ip}" } ], "capability-data": [ @@ -299,4 +328,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-mapping.json b/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-mapping.json index 8d17414c..801d3398 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-mapping.json +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-mapping.json @@ -519,7 +519,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "private2-prefix-id", @@ -540,7 +540,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "management-prefix-id", @@ -769,5 +769,81 @@ "vnf-id" ], "version": 0 + }, + { + "name": "dcae_collector_ip", + "property": { + "description": "", + "required": false, + "type": "string", + "status": "", + "constraints": [ + {} + ], + "entry_schema": { + "type": "" + }, + "default": "10.0.4.1" + }, + "input-param": false, + "dictionary-name": "dcae_collector_ip", + "dictionary-source": "default", + "dependencies": [ + "service-instance-id", + "vnf-id" + ], + "version": 0 + }, + { + "name": "dcae_collector_port", + "property": { + "description": "", + "required": false, + "type": "string", + "status": "", + "constraints": [ + {} + ], + "entry_schema": { + "type": "" + }, + "default": "30235" + }, + "input-param": false, + "dictionary-name": "dcae_collector_port", + "dictionary-source": "default", + "dependencies": [ + "service-instance-id", + "vnf-id" + ], + "version": 0 + }, + { + "name": "k8s-rb-profile-name", + "property": { + "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type": "string" + }, + "input-param": false, + "dictionary-name": "k8s-rb-profile-name", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private1_net_id", + "property": { + "description": "Private unprotected network identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private1_net_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] } -] \ No newline at end of file +] diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-template.vtl b/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-template.vtl index ecbbf554..bec8cfb0 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-template.vtl +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vpkg-template.vtl @@ -4,10 +4,7 @@ "param-name": "service-instance-id", "param-value": "${service-instance-id}" }, - { - "param-name": "vnf_id", - "param-value": "${vnf-id}" - }, + { "param-name": "vnf_name", "param-value": "${vnf_name}" @@ -56,7 +53,7 @@ "param-name": "nfc-naming-code", "param-value": "${nfc-naming-code}" }, - + { "param-name": "vpg_image_name", "param-value": "${vpg_image_name}" @@ -101,6 +98,14 @@ "param-name": "vsn_int_private2_ip_0", "param-value": "${vsn_int_private2_ip_0}" }, + { + "param-name": "dcae_collector_ip", + "param-value": "$(dcae_collector_ip)" + }, + { + "param-name": "dcae_collector_port", + "param-value": "$(dcae_collector_port)" + }, { "param-name": "demo_artifacts_version", "param-value": "${demo_artifacts_version}}" @@ -128,9 +133,15 @@ { "param-name": "vpg_onap_private_ip_0", "param-value": "${vpg_onap_private_ip_0}" + }, + { + "param-name": "k8s-rb-profile-name", + "param-value": "${k8s-rb-profile-name}" + }, + { + "param-name": "int_private1_net_id", + "param-value": "${int_private1_net_id}" } - - ], "capability-data": [ { @@ -222,7 +233,7 @@ } ] }, - + { "capability-name": "aai-vf-module-put", "key-mapping": [ @@ -243,4 +254,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-mapping.json b/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-mapping.json index 532e157f..a4b74507 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-mapping.json +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-mapping.json @@ -43,7 +43,7 @@ ], "version": 0 }, - + { "name": "vf-module-name", "property": { @@ -87,54 +87,6 @@ ], "version": 0 }, - { - "name": "dcae_collector_ip", - "property": { - "description": "", - "required": false, - "type": "string", - "status": "", - "constraints": [ - {} - ], - "entry_schema": { - "type": "" - }, - "default": "10.0.4.1" - }, - "input-param": false, - "dictionary-name": "dcae_collector_ip", - "dictionary-source": "default", - "dependencies": [ - "service-instance-id", - "vnf-id" - ], - "version": 0 - }, - { - "name": "dcae_collector_port", - "property": { - "description": "", - "required": false, - "type": "string", - "status": "", - "constraints": [ - {} - ], - "entry_schema": { - "type": "" - }, - "default": "30235" - }, - "input-param": false, - "dictionary-name": "dcae_collector_port", - "dictionary-source": "default", - "dependencies": [ - "service-instance-id", - "vnf-id" - ], - "version": 0 - }, { "name": "demo_artifacts_version", "property": { @@ -747,7 +699,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "private1-prefix-id", @@ -768,7 +720,7 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "management-prefix-id", @@ -789,12 +741,54 @@ "entry_schema": { "type": "" } - + }, "input-param": false, "dictionary-name": "private2-prefix-id", "dictionary-source": "processor-db", "dependencies": [], "version": 0 + }, + { + "name": "k8s-rb-profile-name", + "property": { + "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.", + "type": "string" + }, + "input-param": false, + "dictionary-name": "k8s-rb-profile-name", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private2_gw_ip", + "property": { + "description": "Private protected network gateway ip", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private2_gw_ip", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] + }, + { + "name": "int_private2_net_id", + "property": { + "description": "Private protected network identification", + "type": "string" + }, + "input-param": false, + "dictionary-name": "int_private2_net_id", + "dictionary-source": "sdnc", + "dependencies": [ + "service-instance-id", + "vnf-id" + ] } -] \ No newline at end of file +] diff --git a/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-template.vtl b/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-template.vtl index c70e689b..60b8ecd2 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-template.vtl +++ b/heat/vFW_CNF_CDS/templates/cba/Templates/vsn-template.vtl @@ -4,10 +4,7 @@ "param-name": "service-instance-id", "param-value": "${service-instance-id}" }, - { - "param-name": "vnf_id", - "param-value": "${vnf-id}" - }, + { "param-name": "vnf_name", "param-value": "${vnf_name}" @@ -65,10 +62,10 @@ { "param-name": "public_net_id", "param-value": "${public_net_id}" - }, + }, + - { "param-name": "int_private2_net_cidr", "param-value": "${int_private2_net_cidr}" @@ -96,15 +93,15 @@ { "param-name": "demo_artifacts_version", "param-value": "${demo_artifacts_version}" - }, + }, { "param-name": "install_script_version", "param-value": "${install_script_version}" - }, + }, { "param-name": "key_name", "param-value": "${vnf_name}_key_name" - }, + }, { "param-name": "cloud_env", "param-value": "openstack" @@ -116,10 +113,19 @@ { "param-name": "nexus_artifact_repo", "param-value": "${nexus_artifact_repo}" + }, + { + "param-name": "k8s-rb-profile-name", + "param-value": "${k8s-rb-profile-name}" + }, + { + "param-name": "int_private2_gw_ip", + "param-value": "${int_private2_gw_ip}" + }, + { + "param-name": "int_private2_net_id", + "param-value": "${int_private2_net_id}" } - - - ], "capability-data": [ { @@ -258,4 +264,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/heat/vFW_CNF_CDS/templates/helm/base_template/templates/onap-private-net.yaml b/heat/vFW_CNF_CDS/templates/helm/base_template/templates/onap-private-net.yaml index 6319b134..429574bd 100644 --- a/heat/vFW_CNF_CDS/templates/helm/base_template/templates/onap-private-net.yaml +++ b/heat/vFW_CNF_CDS/templates/helm/base_template/templates/onap-private-net.yaml @@ -1,12 +1,12 @@ apiVersion: k8s.plugin.opnfv.org/v1alpha1 kind: Network metadata: - name: {{ .Values.int_private2_net_id }} + name: {{ .Values.onap_private_net_id }} labels: - vnf-name: {{ .Values.vnf_name }} + vnf-name: {{ .Values.vnf_name }} spec: cniType : ovn4nfv ipv4Subnets: - - name: {{ .Values.int_private2_subnet_id }} - subnet: {{ .Values.int_private2_net_cidr }} - gateway: {{ .Values.int_private2_gw_ip }} + - name: {{ .Values.onap_private_subnet_id }} + subnet: {{ .Values.onap_private_net_cidr }} + gateway: {{ .Values.onap_private_gw_ip }} diff --git a/heat/vFW_CNF_CDS/templates/helm/base_template/templates/protected-private-net.yaml b/heat/vFW_CNF_CDS/templates/helm/base_template/templates/protected-private-net.yaml index c7077e28..f7dbfc46 100644 --- a/heat/vFW_CNF_CDS/templates/helm/base_template/templates/protected-private-net.yaml +++ b/heat/vFW_CNF_CDS/templates/helm/base_template/templates/protected-private-net.yaml @@ -1,12 +1,12 @@ apiVersion: k8s.plugin.opnfv.org/v1alpha1 kind: Network metadata: - name: {{ .Values.int_private1_net_id }} + name: {{ .Values.int_private2_net_id }} labels: - vnf-name: {{ .Values.vnf_name }} + vnf-name: {{ .Values.vnf_name }} spec: cniType : ovn4nfv ipv4Subnets: - - name: {{ .Values.int_private1_subnet_id }} - subnet: {{ .Values.int_private1_net_cidr }} - gateway: {{ .Values.int_private1_gw_ip }} + - name: {{ .Values.int_private2_subnet_id }} + subnet: {{ .Values.int_private2_net_cidr }} + gateway: {{ .Values.int_private2_gw_ip }} diff --git a/heat/vFW_CNF_CDS/templates/helm/base_template/templates/unprotected-private-net.yaml b/heat/vFW_CNF_CDS/templates/helm/base_template/templates/unprotected-private-net.yaml index 429574bd..18a383c6 100644 --- a/heat/vFW_CNF_CDS/templates/helm/base_template/templates/unprotected-private-net.yaml +++ b/heat/vFW_CNF_CDS/templates/helm/base_template/templates/unprotected-private-net.yaml @@ -1,12 +1,12 @@ apiVersion: k8s.plugin.opnfv.org/v1alpha1 kind: Network metadata: - name: {{ .Values.onap_private_net_id }} + name: {{ .Values.int_private1_net_id }} labels: vnf-name: {{ .Values.vnf_name }} spec: cniType : ovn4nfv ipv4Subnets: - - name: {{ .Values.onap_private_subnet_id }} - subnet: {{ .Values.onap_private_net_cidr }} - gateway: {{ .Values.onap_private_gw_ip }} + - name: {{ .Values.int_private1_subnet_id }} + subnet: {{ .Values.int_private1_net_cidr }} + gateway: {{ .Values.int_private1_gw_ip }} diff --git a/heat/vFW_CNF_CDS/templates/helm/base_template/values.yaml b/heat/vFW_CNF_CDS/templates/helm/base_template/values.yaml index 406d6a35..9a371fc8 100644 --- a/heat/vFW_CNF_CDS/templates/helm/base_template/values.yaml +++ b/heat/vFW_CNF_CDS/templates/helm/base_template/values.yaml @@ -1,4 +1,4 @@ -# OPENSTACK PARAMETERS +# Kubernetes PARAMETERS #unprotected int_private1_net_cidr: 192.168.10.0/24 int_private1_gw_ip: 192.168.10.1/24 #No typo here diff --git a/heat/vFW_CNF_CDS/templates/helm/vfw/values.yaml b/heat/vFW_CNF_CDS/templates/helm/vfw/values.yaml index 873842fe..c97ec60d 100644 --- a/heat/vFW_CNF_CDS/templates/helm/vfw/values.yaml +++ b/heat/vFW_CNF_CDS/templates/helm/vfw/values.yaml @@ -1,19 +1,19 @@ # global: -# +# # #Networks # unprotectedNetworkName: unprotected-private-net # protectedPrivateNetCidr: 192.168.10.0/24 # protectedPrivateNetGw: 192.168.10.1/24 -# +# # onapPrivateNetworkName: onap-private-net # onapPrivateNetCidr: 10.10.0.0/16 # onapPrivateNetGw: 10.10.0.1/16 -# +# # protectedNetworkName: protected-private-net # protectedNetCidr: 192.168.20.0/24 # protectedNetGwIp: 192.168.20.100 # protectedNetGw: 192.168.20.100/24 -# +# # #vFirewall container # vfwPrivateIp0: 192.168.10.3 # vfwPrivateIp1: 192.168.20.2 @@ -35,7 +35,7 @@ resources: limits: memory: 4Gi -# OPENSTACK PARAMETERS +# Kubernetes PARAMETERS # Names vnf_name: test-vnf vfw_name_0: test-vnf-vfw @@ -47,8 +47,8 @@ vfw_int_private1_ip_0: 192.168.10.3 vfw_int_private2_ip_0: 192.168.20.2 vfw_onap_private_ip_0: 10.10.100.3 # Env variables +int_private2_net_cidr: 192.168.20.0/24 +vsn_int_private2_ip_0: 192.168.20.3 dcae_collector_port: 8080 dcae_collector_ip: 10.0.4.1 #Placeholder demo_artifacts_version: 1.5.0 -int_private2_net_cidr: 192.168.20.0/24 -vsn_int_private2_ip_0: 192.168.20.3 diff --git a/heat/vFW_CNF_CDS/templates/helm/vpkg/values.yaml b/heat/vFW_CNF_CDS/templates/helm/vpkg/values.yaml index a6dc4e1f..20f00265 100644 --- a/heat/vFW_CNF_CDS/templates/helm/vpkg/values.yaml +++ b/heat/vFW_CNF_CDS/templates/helm/vpkg/values.yaml @@ -14,10 +14,10 @@ service: port: 2831 nodePort: 30831 -# OPENSTACK PARAMETERS +# Kubernetes PARAMETERS # Names vpg_name_0: test-vnf-vpg -vnf_name: test-vnf +vnf_name: test-vnf int_private1_net_id: unprotected-net onap_private_net_id: onap-private-net # Own Addresses diff --git a/heat/vFW_CNF_CDS/templates/helm/vsn/values.yaml b/heat/vFW_CNF_CDS/templates/helm/vsn/values.yaml index 978323ab..d82ede4a 100644 --- a/heat/vFW_CNF_CDS/templates/helm/vsn/values.yaml +++ b/heat/vFW_CNF_CDS/templates/helm/vsn/values.yaml @@ -21,7 +21,7 @@ service: # Static Defaults # -# OPENSTACK PARAMETERS +# Kubernetes PARAMETERS # Names vnf_name: test-vnf vsn_name_0: test-vnf-vsn -- 2.16.6