diff options
author | Alexis de Talhouët <adetalhouet89@gmail.com> | 2019-04-24 10:05:02 -0400 |
---|---|---|
committer | Alexis de Talhouët <adetalhouet89@gmail.com> | 2019-04-24 19:40:52 +0000 |
commit | f2136a47fd53fcbdc117899c6e134d7ceea46d85 (patch) | |
tree | 686a4b6a8903c37990bf533493d660167685f6d0 /components | |
parent | 535002fbb8b2ffeb81564b4ed8858889ac6404d4 (diff) |
Multiples fixes
Change-Id: I83782006dc47a224e546b6877070d5e7e56dd2e6
Issue-ID: CCSDK-1215
Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
Delete the deployed blueprint if overriten
Change-Id: I7e4f3a5c98388a965ef756467497ed31d23bc047
Issue-ID: CCSDK-1215
Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
Fix enhancement of workflow step for component
Change-Id: I62c7904265495edb2b0a5bec0d64cfecd7573f97
Issue-ID: CCSDK-1168
Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
Update golden package
Change-Id: I969fe9cf9b563911ebe4500fe8f3211aedb84593
Issue-ID: CCSDK-1231
Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
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 <adetalhouet89@gmail.com>
Diffstat (limited to 'components')
6 files changed, 88 insertions, 111 deletions
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": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration xmlns:junos=\"http://xml.juniper.net/junos/17.4R1/junos\">\n <system xmlns=\"http://yang.juniper.net/junos-qfx/conf/system\">\n <host-name operation=\"delete\" />\n <host-name operation=\"create\">demo-config-assign</host-name>\n </system>\n</configuration>\n" - } + "config-assign-response": { + "dry-run": { + "hostname": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration xmlns:junos=\"http://xml.juniper.net/junos/17.4R1/junos\">\n <system xmlns=\"http://yang.juniper.net/junos-qfx/conf/system\">\n <host-name operation=\"delete\" />\n <host-name operation=\"create\">blah</host-name>\n </system>\n</configuration>\n", + "vfw-interface": "<configuration>\n <interfaces>\n <interface>\n <name>ge-0/0/7</name>\n <unit operation=\"create\">\n <name>0</name>\n <description>This is the Virtual Firewall entity</description>\n <family>\n <inet>\n <address>\n <name>10.0.101.17/24</name>\n </address>\n </inet>\n </family>\n </unit>\n </interface>\n </interfaces>\n</configuration>" } } @@ -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", |