From f2136a47fd53fcbdc117899c6e134d7ceea46d85 Mon Sep 17 00:00:00 2001 From: Alexis de Talhouët Date: Wed, 24 Apr 2019 10:05:02 -0400 Subject: Multiples fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I83782006dc47a224e546b6877070d5e7e56dd2e6 Issue-ID: CCSDK-1215 Signed-off-by: Alexis de Talhouët Delete the deployed blueprint if overriten Change-Id: I7e4f3a5c98388a965ef756467497ed31d23bc047 Issue-ID: CCSDK-1215 Signed-off-by: Alexis de Talhouët Fix enhancement of workflow step for component Change-Id: I62c7904265495edb2b0a5bec0d64cfecd7573f97 Issue-ID: CCSDK-1168 Signed-off-by: Alexis de Talhouët Update golden package Change-Id: I969fe9cf9b563911ebe4500fe8f3211aedb84593 Issue-ID: CCSDK-1231 Signed-off-by: Alexis de Talhouët Do not fail to get execution property When prepareEnv fail, we should not fail by saying to property is not set. So set it as N/A until is get sets further done in the processing Change-Id: I06b9fcb9b1cf9e1605cef77864da9dbd18243800 Issue-ID: CCSDK-1215 Signed-off-by: Alexis de Talhouët --- .../golden/Definitions/data_types.json | 130 ++++++++++----------- .../golden/Definitions/golden-blueprint.json | 29 ++--- .../blueprint-model/test-blueprint/golden/README | 29 ++--- .../golden/Scripts/python/ConfigDeploy.py | 7 +- .../golden/Templates/vf-module-1-mapping.json | 2 +- .../golden/Templates/vfw-interface-mapping.json | 2 +- 6 files changed, 88 insertions(+), 111 deletions(-) (limited to 'components/model-catalog/blueprint-model/test-blueprint/golden') diff --git a/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/data_types.json b/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/data_types.json index 8f3b9b4c5..5c0f1b351 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/data_types.json +++ b/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/data_types.json @@ -1,90 +1,82 @@ { - "data_types": { - "dt-resource-assignment-properties": { - "description": "Dynamic DataType definition for workflow(resource-assignment).", - "version": "1.0.0", - "properties": { - "vfw_interface_ip": { - "type": "dt-netbox-ip" + "data_types" : { + "dt-config-assign-properties" : { + "description" : "Dynamic DataType definition for workflow(config-assign).", + "version" : "1.0.0", + "properties" : { + "hostname" : { + "type" : "string" }, - "interface-description": { - "type": "string" + "vfw_interface_ip" : { + "type" : "dt-netbox-ip" }, - "vf-module-type": { - "type": "string" + "interface-name" : { + "type" : "string" }, - "vf-module-number": { - "type": "string", - "default": "3" + "interface-description" : { + "type" : "string" }, - "prefix-id": { - "type": "integer", - "default": 11 + "unit-number" : { + "type" : "string" + }, + "prefix-id" : { + "type" : "string", + "default" : "6" + }, + "vf-module-type" : { + "type" : "string" + }, + "vf-module-number" : { + "type" : "string", + "default" : "3" } }, - "derived_from": "tosca.datatypes.Dynamic" + "derived_from" : "tosca.datatypes.Dynamic" }, - "dt-config-assign-properties": { - "description": "Dynamic DataType definition for workflow(config-assign).", - "version": "1.0.0", - "properties": { - "hostname": { - "type": "string" + "dt-netbox-ip" : { + "description" : "This is Netbox IP Data Type", + "version" : "1.0.0", + "properties" : { + "address" : { + "required" : true, + "type" : "string" + }, + "id" : { + "required" : true, + "type" : "integer" } }, - "derived_from": "tosca.datatypes.Dynamic" + "derived_from" : "tosca.datatypes.Root" }, - "dt-config-deploy-properties": { - "description": "Dynamic DataType definition for workflow(config-deploy).", - "version": "1.0.0", - "properties": { - "vfw_interface_ip": { - "type": "dt-netbox-ip" - }, - "interface-name": { - "type": "string" - }, - "interface-description": { - "type": "string" + "dt-resource-assignment-properties" : { + "description" : "Dynamic DataType definition for workflow(resource-assignment).", + "version" : "1.0.0", + "properties" : { + "vfw_interface_ip" : { + "type" : "dt-netbox-ip" }, - "unit-number": { - "type": "string" + "interface-description" : { + "type" : "string" }, - "prefix-id": { - "type": "string", - "default": "11" + "vf-module-type" : { + "type" : "string" }, - "vf-module-type": { - "type": "string" + "vf-module-number" : { + "type" : "string", + "default" : "3" }, - "vf-module-number": { - "type": "string", - "default": "3" + "prefix-id" : { + "type" : "integer", + "default" : 6 } }, - "derived_from": "tosca.datatypes.Dynamic" + "derived_from" : "tosca.datatypes.Dynamic" }, - "dt-rollback-properties": { - "description": "Dynamic DataType definition for workflow(rollback).", - "version": "1.0.0", - "properties": { - }, - "derived_from": "tosca.datatypes.Dynamic" - }, - "dt-netbox-ip": { - "description": "This is Netbox IP Data Type", - "version": "1.0.0", - "properties": { - "address": { - "required": true, - "type": "string" - }, - "id": { - "required": true, - "type": "integer" - } - }, - "derived_from": "tosca.datatypes.Root" + "dt-rollback-properties" : { + "description" : "Dynamic DataType definition for workflow(rollback).", + "version" : "1.0.0", + "properties" : { }, + "derived_from" : "tosca.datatypes.Dynamic" } } } \ No newline at end of file diff --git a/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/golden-blueprint.json b/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/golden-blueprint.json index 6a9df9b58..7e1bd8b30 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/golden-blueprint.json +++ b/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/golden-blueprint.json @@ -3,7 +3,7 @@ "template_author": "Alexis de Talhouët", "author-email": "adetalhouet89@gmail.com", "user-groups": "ADMIN, OPERATION", - "template_name": "test", + "template_name": "golden", "template_version": "1.0.0", "template_tags": "test" }, @@ -27,7 +27,7 @@ "dsl_definitions": { "ipam-1": { "type": "token-auth", - "url": "http://localhost:32768", + "url": "http://netbox-nginx:8080", "token": "Token 0123456789abcdef0123456789abcdef01234567" }, "config-deploy-properties": { @@ -132,11 +132,6 @@ "ip": { "required": true, "type": "string" - }, - "config-deploy-properties": { - "description": "Dynamic PropertyDefinition for workflow(config-deploy).", - "required": true, - "type": "dt-config-deploy-properties" } } }, @@ -216,7 +211,7 @@ }, "store-result": true, "artifact-prefix-names": [ - "hostname" + "hostname", "vfw-interface" ] } } @@ -231,6 +226,14 @@ "hostname-mapping": { "type": "artifact-mapping-resource", "file": "Templates/hostname-mapping.json" + }, + "vfw-interface-template": { + "type": "artifact-template-velocity", + "file": "Templates/vfw-interface-template.vtl" + }, + "vfw-interface-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/vfw-interface-mapping.json" } } }, @@ -256,16 +259,6 @@ } } } - }, - "artifacts": { - "vfw-interface-template": { - "type": "artifact-template-velocity", - "file": "Templates/vfw-interface-template.vtl" - }, - "vfw-interface-mapping": { - "type": "artifact-mapping-resource", - "file": "Templates/vfw-interface-mapping.json" - } } }, "rollback": { diff --git a/components/model-catalog/blueprint-model/test-blueprint/golden/README b/components/model-catalog/blueprint-model/test-blueprint/golden/README index 3fba19cfc..a8c49d25d 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/golden/README +++ b/components/model-catalog/blueprint-model/test-blueprint/golden/README @@ -14,7 +14,7 @@ Example CREATE TABLE `demo` ( `id` text DEFAULT NULL, `value` text DEFAULT NULL - ) + ); INSERT INTO `demo` VALUES ('1','vsn'),('2','vpg'),('3','vfw'); @@ -70,23 +70,24 @@ Example resolution-key: To identify the configlet saved in the DB hostname: Value defined to be result trough input in the hostname mapping file + interface-name: Name of the interface to configure + unit-number: Unit to configure for the interface { "config-assign-request": { "resolution-key": "config-assign-demo-123", "config-assign-properties": { - "hostname": "demo-config-assign" + "hostname": "blah" } } } Output: - { - "config-assign-response": { - "dry-run": { - "hostname": "\n\n \n \n demo-config-assign\n \n\n" - } + "config-assign-response": { + "dry-run": { + "hostname": "\n\n \n \n blah\n \n\n", + "vfw-interface": "\n \n \n ge-0/0/7\n \n 0\n This is the Virtual Firewall entity\n \n \n
\n 10.0.101.17/24\n
\n
\n
\n
\n
\n
\n
" } } @@ -94,8 +95,7 @@ Example This action will run a python script that will retrieved the resolved template from previous step using the resolution-key. - The script will also resolve another template during its execution: the Interface Template. - Finally, this action will push these resolved templates into a device (JUNOS) using NETCONF. + This action will push these resolved templates into a device (JUNOS) using NETCONF. The python script will make use of utilities classes provided by the platform: resolution helper and netconf client. @@ -109,19 +109,14 @@ Example username: NETCONF device user password: NETCONF device password ip: NETCONF device ip - interface-name: Name of the interface to configure - unit-number: Unit to configure for the interface + { "config-deploy-request": { "resolution-key": "config-assign-demo-123", "username": "admin", "password": "passwd", - "ip": "10.198.1.35", - "config-deploy-properties": { - "interface-name": "ge-0/0/7", - "unit-number": "0" - } + "ip": "10.198.1.35" } } @@ -161,4 +156,4 @@ Example Postman collection used for this example. 5 requests are provided one per workflow to execute, and 1 to load the CBA in the runtime environment. - hhttps://www.getpostman.com/collections/4d199ff02a735bd3e680 \ No newline at end of file + https://www.getpostman.com/collections/d68b12a60fd6ed336059 \ No newline at end of file diff --git a/components/model-catalog/blueprint-model/test-blueprint/golden/Scripts/python/ConfigDeploy.py b/components/model-catalog/blueprint-model/test-blueprint/golden/Scripts/python/ConfigDeploy.py index 66d12edae..2146be7ce 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/golden/Scripts/python/ConfigDeploy.py +++ b/components/model-catalog/blueprint-model/test-blueprint/golden/Scripts/python/ConfigDeploy.py @@ -30,11 +30,8 @@ class ConfigDeploy(NetconfComponentFunction): # Get meshed template from DB resolution_key = self.getDynamicProperties("resolution-key").asText() - artifact_name = "hostname" - payloadHostname = rr.retrieve_resolved_template_from_database(resolution_key, artifact_name) - - # resolve param and mesh template - payloadInterface = rr.resolve_and_generate_message_from_template_prefix("vfw-interface") + payloadHostname = rr.retrieve_resolved_template_from_database(resolution_key, "hostname") + payloadInterface = rr.retrieve_resolved_template_from_database(resolution_key, "vfw-interface") nc.connect() nc.lock() diff --git a/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vf-module-1-mapping.json b/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vf-module-1-mapping.json index b7335b513..f4fc9ab1e 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vf-module-1-mapping.json +++ b/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vf-module-1-mapping.json @@ -41,7 +41,7 @@ "input-param": true, "property": { "type": "integer", - "default": 11 + "default": 6 }, "dictionary-name": "prefix-id", "dictionary-source": "default", diff --git a/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vfw-interface-mapping.json b/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vfw-interface-mapping.json index c1ebe5688..9de84441f 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vfw-interface-mapping.json +++ b/components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vfw-interface-mapping.json @@ -40,7 +40,7 @@ "input-param": true, "property": { "type": "string", - "default": "11" + "default": "6" }, "dictionary-name": "prefix-id", "dictionary-source": "default", -- cgit 1.2.3-korg