aboutsummaryrefslogtreecommitdiffstats
path: root/components/model-catalog
diff options
context:
space:
mode:
authorAlexis de Talhouët <adetalhouet89@gmail.com>2019-04-24 10:05:02 -0400
committerAlexis de Talhouët <adetalhouet89@gmail.com>2019-04-24 19:40:52 +0000
commitf2136a47fd53fcbdc117899c6e134d7ceea46d85 (patch)
tree686a4b6a8903c37990bf533493d660167685f6d0 /components/model-catalog
parent535002fbb8b2ffeb81564b4ed8858889ac6404d4 (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/model-catalog')
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/data_types.json130
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/golden-blueprint.json29
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/golden/README29
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/golden/Scripts/python/ConfigDeploy.py7
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vf-module-1-mapping.json2
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/golden/Templates/vfw-interface-mapping.json2
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",