aboutsummaryrefslogtreecommitdiffstats
path: root/components/model-catalog/blueprint-model
diff options
context:
space:
mode:
Diffstat (limited to 'components/model-catalog/blueprint-model')
-rw-r--r--components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json4
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json4
-rwxr-xr-xcomponents/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/node_types.json4
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json4
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigDeploy.py99
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/artifact_types.json3
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/component_invoke.json100
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/data_types.json3
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/node_types.json54
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/policy_types.json3
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/relationship_types.json3
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/resources_definition_types.json1
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/component_invoke/TOSCA-Metadata/TOSCA.meta5
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/node_types.json4
14 files changed, 32 insertions, 259 deletions
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json
index 4484d550e..e1d9be006 100644
--- a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json
+++ b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json
@@ -3318,7 +3318,7 @@
"version": "1.0.0",
"derived_from": "tosca.nodes.Root"
},
- "tosca.nodes.DG": {
+ "tosca.nodes.Workflow": {
"description": "This is Directed Graph Node Type",
"version": "1.0.0",
"derived_from": "tosca.nodes.Root"
@@ -3459,7 +3459,7 @@
}
}
},
- "derived_from": "tosca.nodes.DG"
+ "derived_from": "tosca.nodes.Workflow"
},
"artifact-config-template": {
"description": "This is Configuration Velocity Template",
diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json
index c550306d3..07e4df140 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json
@@ -278,7 +278,7 @@
}
}
},
- "derived_from": "tosca.nodes.DG"
+ "derived_from": "tosca.nodes.Workflow"
},
"source-capability": {
"description": "This is Component Resource Source Node Type",
@@ -478,7 +478,7 @@
"version": "1.0.0",
"derived_from": "tosca.nodes.Root"
},
- "tosca.nodes.DG": {
+ "tosca.nodes.Workflow": {
"description": "This is Directed Graph Node Type",
"version": "1.0.0",
"derived_from": "tosca.nodes.Root"
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/node_types.json
index b40c8cb34..7e78a42c8 100755
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/node_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/node_types.json
@@ -139,7 +139,7 @@
}
}
},
- "derived_from" : "tosca.nodes.DG"
+ "derived_from" : "tosca.nodes.Workflow"
},
"source-input" : {
"description" : "This is Input Resource Source Node Type",
@@ -164,7 +164,7 @@
"version" : "1.0.0",
"derived_from" : "tosca.nodes.Root"
},
- "tosca.nodes.DG" : {
+ "tosca.nodes.Workflow" : {
"description" : "This is Directed Graph Node Type",
"version" : "1.0.0",
"derived_from" : "tosca.nodes.Root"
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json
index ed7c580bc..4a0041773 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json
@@ -155,7 +155,7 @@
}
}
},
- "derived_from" : "tosca.nodes.DG"
+ "derived_from" : "tosca.nodes.Workflow"
},
"source-input" : {
"description" : "This is Input Resource Source Node Type",
@@ -180,7 +180,7 @@
"version" : "1.0.0",
"derived_from" : "tosca.nodes.Root"
},
- "tosca.nodes.DG" : {
+ "tosca.nodes.Workflow" : {
"description" : "This is Directed Graph Node Type",
"version" : "1.0.0",
"derived_from" : "tosca.nodes.Root"
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigDeploy.py b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigDeploy.py
index 01e2ec477..78a38a225 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigDeploy.py
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigDeploy.py
@@ -14,30 +14,40 @@
# limitations under the License.
# ============LICENSE_END=========================================================
-from time import sleep
-
from org.onap.ccsdk.cds.blueprintsprocessor.functions.restconf.executor import \
RestconfComponentFunction
from java.lang import Exception as JavaException
+from restconf_client import RestconfClient
+
class RestconfConfigDeploy(RestconfComponentFunction):
log = globals()["log"]
- odl_status_check_limit = 10
- odl_status_check_pause = 1
- odl_status_check_url = "restconf/operational/network-topology:network-topology/topology/topology-netconf/node/"
- base_odl_url = "restconf/config/network-topology:network-topology/topology/topology-netconf/node/"
- server_identifier = "sdncodl"
configlet_template_name = "config-assign"
- configlet_odl_resource = "/yang-ext:mount/mynetconf:netconflist"
+ configlet_resource_path = "/yang-ext:mount/mynetconf:netconflist"
+ restconf_server_identifier = "sdncodl"
def process(self, execution_request):
self.log.info("Started execution of process method")
try:
+ restconf_client = RestconfClient(self.log, self)
pnf_id, resolution_key = self.retrieve_parameters(execution_request)
- self.interact_with_odl(pnf_id, resolution_key)
+ web_client_service = self.restClientService(self.restconf_server_identifier)
+
+ try:
+ mount_payload = self.resolveAndGenerateMessage("config-deploy-mapping", "config-deploy-template")
+ restconf_client.mount_device(web_client_service, pnf_id, mount_payload)
+
+ configlet = self.resolveFromDatabase(resolution_key, self.configlet_template_name)
+ restconf_client.configure_device(web_client_service, pnf_id, self.configlet_resource_path, configlet)
+ except Exception, err:
+ self.log.error("an error occurred while configuring device {}", err)
+ raise err
+ finally:
+ restconf_client.unmount_device(web_client_service, pnf_id)
+
except JavaException, err:
self.log.error("Java Exception in the script", err)
raise err
@@ -54,74 +64,9 @@ class RestconfConfigDeploy(RestconfComponentFunction):
self.log.info("pnf-id: {}", pnf_id)
return pnf_id, resolution_key
- def interact_with_odl(self, pnf_id, resolution_key):
- try:
- self.mount(pnf_id)
- self.log_current_configlet(pnf_id)
- self.apply_configuration(pnf_id, resolution_key, self.configlet_template_name)
- except Exception, err:
- self.log.error("an error occurred while configuring device {}", err)
- raise err
- finally:
- self.log.info("unmounting device {}", pnf_id)
- self.unmount(pnf_id)
-
- def mount(self, pnf_id):
- self.log.info("mounting device {}", pnf_id)
- mount_payload = self.resolveAndGenerateMessage("config-deploy-mapping", "config-deploy-template")
- self.log.info("mount payload: \n {}", mount_payload)
- headers = {"Content-Type": "application/xml"} # defining custom header
- url = self.base_odl_url + str(pnf_id)
- self.log.info("sending mount request, url: {}", url)
- web_client_service = self.restClientService(self.server_identifier)
- web_client_service.exchangeResource("PUT", url, mount_payload, headers)
- self.wait_for_odl_to_mount(pnf_id)
-
- def wait_for_odl_to_mount(self, pnf_id):
- counter = 0
- url = self.odl_status_check_url + pnf_id
- self.log.info("url for ODL status check: {}", url)
- web_client_service = self.restClientService(self.server_identifier)
- expected_result = '"netconf-node-topology:connection-status":"connected"'
- while counter < self.odl_status_check_limit:
- result = web_client_service.exchangeResource("GET", url, "")
- self.log.info("ODL status check result: {}", result)
- if expected_result in result:
- self.log.info("PNF was mounted successfully on ODL")
- return None
- sleep(1)
- counter += 1
- raise JavaException("PNF was not mounted on ODL, aborting configuration procedure")
-
- def log_current_configlet(self, pnf_id):
- self.log.info("retrieving configuration for device {}", pnf_id)
- url = self.base_odl_url + pnf_id + self.configlet_odl_resource
- self.log.info("sending GET request, url: {}", url)
- web_client_service = self.restClientService(self.server_identifier)
- result = web_client_service.exchangeResource("GET", url, "")
- self.log.info("Current configuration: {}", result)
-
- def apply_configuration(self, pnf_id, resolution_key, template_name):
- self.log.info("configuring device {}", pnf_id)
- self.log.info("Retrieving configlet from database (resolution-key: {}, template_name: {}",
- resolution_key, template_name)
- configlet = self.resolveFromDatabase(resolution_key, template_name)
- self.log.info("Configlet: {}", configlet)
- headers = { "Content-Type": "application/yang.patch+json" } # defining custom header
- url = self.base_odl_url + pnf_id + self.configlet_odl_resource
- self.log.info("sending patch request, url: {}", url)
- web_client_service = self.restClientService(self.server_identifier)
- result = web_client_service.exchangeResource("PATCH", url, configlet, headers)
- self.log.info("Configuration application result: {}", result)
-
- def unmount(self, pnf_id):
- url = self.base_odl_url + str(pnf_id)
- self.log.info("sending unmount request, url: {}", url)
- web_client_service = self.restClientService(self.server_identifier)
- web_client_service.exchangeResource("DELETE", url, "")
-
def recover(self, runtime_exception, execution_request):
self.log.info("Recover function called!")
- self.log.error(runtime_exception.getMessage())
+ self.log.info("Execution request", execution_request)
+ self.log.error("Exception", runtime_exception)
print self.bluePrintRuntimeService.getBluePrintError().addError(runtime_exception.getMessage())
- return None \ No newline at end of file
+ return None
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/artifact_types.json b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/artifact_types.json
deleted file mode 100644
index eadc848be..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/artifact_types.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "artifact_types" : { }
-} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/component_invoke.json b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/component_invoke.json
deleted file mode 100644
index 9e040b85d..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/component_invoke.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "tosca_definitions_version": "controller_blueprint_1_0_0",
- "metadata": {
- "template_author": "Brinda Santh <brindasanth@in.ibm.com>",
- "template_name": "component_invoke",
- "template_version": "1.0.0",
- "template_tags": "brinda, component_invoke"
- },
- "imports": [
- {
- "file": "Definitions/data_types.json"
- },
- {
- "file": "Definitions/relationship_types.json"
- },
- {
- "file": "Definitions/artifact_types.json"
- },
- {
- "file": "Definitions/node_types.json"
- },
- {
- "file": "Definitions/policy_types.json"
- }
- ],
- "topology_template": {
- "workflows": {
- "component-invoke": {
- "steps": {
- "activate-process": {
- "description": "Sample Component Invocation flow",
- "target": "sample-component",
- "activities": [
- {
- "call_operation": "sample-component"
- }
- ]
- }
- },
- "inputs": {
- "request-id": {
- "required": true,
- "type": "string"
- },
- "action-name": {
- "required": true,
- "type": "string"
- },
- "scope-type": {
- "required": true,
- "type": "string"
- },
- "hostname": {
- "required": true,
- "type": "string"
- }
- },
- "outputs": {
- "response-property1": {
- "type": "string",
- "value": "executed"
- },
- "response-property2": {
- "type": "string",
- "value": {
- "get_input": "action-name"
- }
- }
- }
- }
- },
- "node_templates": {
- "sample-component": {
- "type": "component-sample-executor",
- "interfaces": {
- "ComponentSampleExecutor": {
- "operations": {
- "process": {
- "inputs": {
- "sample-property": "sample-value",
- "sample-list-property": [
- "json-parser-service"
- ],
- "dynamic-properties": {
- "prop1": "prop1-value",
- "prop2": "prop2-value"
- }
- },
- "outputs": {
- "response-data": "",
- "status": ""
- }
- }
- }
- }
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/data_types.json b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/data_types.json
deleted file mode 100644
index 8c304c40b..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/data_types.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "data_types" : { }
-} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/node_types.json
deleted file mode 100644
index 1e02cef4a..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/node_types.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "node_types": {
- "component-sample-executor": {
- "description": "This is Sample Component API",
- "version": "1.0.0",
- "interfaces": {
- "ComponentSampleExecutor": {
- "operations": {
- "process": {
- "inputs": {
- "sample-property": {
- "description": "Sample Property.",
- "required": true,
- "type": "string"
- },
- "sample-list-property": {
- "description": "Dependent Step Components NodeTemplate name.",
- "required": true,
- "type": "list",
- "entry_schema": {
- "type": "string"
- }
- },
- "dynamic-properties": {
- "description": "Dynamic Json Content or DSL Json reference.",
- "required": false,
- "type": "json"
- }
- },
- "outputs": {
- "response-data": {
- "description": "Execution Response Data in JSON format.",
- "required": false,
- "type": "string"
- },
- "status": {
- "description": "Status of the Component Execution ( success or failure )",
- "required": true,
- "type": "string"
- }
- }
- }
- }
- }
- },
- "derived_from": "tosca.nodes.Component"
- },
- "tosca.nodes.Component": {
- "description": "This is default Component Node",
- "version": "1.0.0",
- "derived_from": "tosca.nodes.Root"
- }
- }
-} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/policy_types.json b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/policy_types.json
deleted file mode 100644
index 1e44cc70a..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/policy_types.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "policy_types" : { }
-} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/relationship_types.json b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/relationship_types.json
deleted file mode 100644
index 4ddd7a57c..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/relationship_types.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "relationship_types" : { }
-} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/resources_definition_types.json b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/resources_definition_types.json
deleted file mode 100644
index 6f31cf5a2..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/Definitions/resources_definition_types.json
+++ /dev/null
@@ -1 +0,0 @@
-{ } \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/TOSCA-Metadata/TOSCA.meta b/components/model-catalog/blueprint-model/test-blueprint/component_invoke/TOSCA-Metadata/TOSCA.meta
deleted file mode 100644
index a7c130a23..000000000
--- a/components/model-catalog/blueprint-model/test-blueprint/component_invoke/TOSCA-Metadata/TOSCA.meta
+++ /dev/null
@@ -1,5 +0,0 @@
-TOSCA-Meta-File-Version: 1.0.0
-CSAR-Version: 1.0
-Created-By: Brinda Santh <brindasanth@in.ibm.com>
-Entry-Definitions: Definitions/component_invoke.json
-Template-Tags: Brinda Santh, component_invoke \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/node_types.json
index f143e560b..c1cded219 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/node_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/node_types.json
@@ -162,7 +162,7 @@
}
}
},
- "derived_from" : "tosca.nodes.DG"
+ "derived_from" : "tosca.nodes.Workflow"
},
"source-capability" : {
"description" : "This is Component Resource Source Node Type",
@@ -353,7 +353,7 @@
"version" : "1.0.0",
"derived_from" : "tosca.nodes.Root"
},
- "tosca.nodes.DG" : {
+ "tosca.nodes.Workflow" : {
"description" : "This is Directed Graph Node Type",
"version" : "1.0.0",
"derived_from" : "tosca.nodes.Root"