diff options
author | Samuli Silvius <s.silvius@partner.samsung.com> | 2019-12-05 14:34:48 +0200 |
---|---|---|
committer | Marco Platania <platania@research.att.com> | 2020-01-07 16:22:07 +0000 |
commit | bc6e714e001a8c61b06709c61b187d4e3dd22aac (patch) | |
tree | 9c40ebaabfc418f5116f6621c5b202f108ec1359 /heat/vFW_CNF_CDS/templates/cba/Definitions | |
parent | e4e0beac8bb2168303f10a4e4b9b1247fdd0501c (diff) |
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 <s.silvius@partner.samsung.com>
Change-Id: I783e364a201cda25ea812d83795ae2a4be71def9
Diffstat (limited to 'heat/vFW_CNF_CDS/templates/cba/Definitions')
-rw-r--r-- | heat/vFW_CNF_CDS/templates/cba/Definitions/data_types.json | 37 | ||||
-rw-r--r-- | heat/vFW_CNF_CDS/templates/cba/Definitions/node_types.json | 7 | ||||
-rw-r--r-- | heat/vFW_CNF_CDS/templates/cba/Definitions/resources_definition_types.json | 352 | ||||
-rw-r--r-- | heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json (renamed from heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CDS.json) | 13 |
4 files changed, 361 insertions, 48 deletions
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 <ks220y@att.com>", + "updated-by" : "MALAKOV, YURIY <yuriy.malakov@att.com>", "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 <s.silvius@partner.samsung.com>", + "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 <s.silvius@partner.samsung.com>", + "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 <s.silvius@partner.samsung.com>", + "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 <s.silvius@partner.samsung.com>", + "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 <s.silvius@partner.samsung.com>", + "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 <s.silvius@partner.samsung.com>", + "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 <s.silvius@partner.samsung.com>", + "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 <s.silvius@partner.samsung.com>", + "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 <ks220y@att.com>", + "updated-by" : "MALAKOV, YURIY <yuriy.malakov@att.com>", "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 <ks220y@att.com>", + "updated-by" : "MALAKOV, YURIY <yuriy.malakov@att.com>", "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 <yuriy.malakov@att.com>", 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 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 <s.silvius@partner.samsung.com>", "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" |