diff options
author | 2018-09-04 20:24:35 +0000 | |
---|---|---|
committer | 2018-09-04 20:47:03 +0000 | |
commit | 052b7bd78ad4808f6eac31553c12cee7569eaefb (patch) | |
tree | ad1d13b3bc746ca6f1c55adc7a4aba644b51aafc /components/core/load/blueprints/baseconfiguration |
Controller Blueprints Microservice
Refactor controller blueprint core and resource dictionary modules to components module.
Change-Id: If5ba5e35e9c95bc19bc78fb10bd62d6551ba7aca
Issue-ID: CCSDK-514
Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
Diffstat (limited to 'components/core/load/blueprints/baseconfiguration')
8 files changed, 497 insertions, 0 deletions
diff --git a/components/core/load/blueprints/baseconfiguration/Definitions/activation-blueprint.json b/components/core/load/blueprints/baseconfiguration/Definitions/activation-blueprint.json new file mode 100644 index 000000000..635e177a1 --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/Definitions/activation-blueprint.json @@ -0,0 +1,411 @@ +{
+ "metadata": {
+ "template_author": "Brinda Santh Muthuramalingam",
+ "author-email": "brindasanth@gmail.com",
+ "user-groups" : "ADMIN, OPERATION",
+ "template_name": "baseconfiguration",
+ "template_version": "1.0.0",
+ "template_tags": "brinda, tosca"
+ },
+ "topology_template": {
+ "inputs": {
+ "request-id": {
+ "required": true,
+ "type": "string"
+ },
+ "action-name": {
+ "required": true,
+ "type": "string"
+ },
+ "scope-type": {
+ "required": true,
+ "type": "string"
+ },
+ "hostname": {
+ "required": true,
+ "type": "string"
+ }
+ },
+ "node_templates": {
+ "activate-process": {
+ "type": "bpmn-activate",
+ "properties": {
+ "process-name": { "get_input" : "action-name" },
+ "version" : { "get_property" : ["SELF", "process-name"] },
+ "content": { "get_artifact" : ["SELF", "activate-process"] }
+ },
+ "artifacts": {
+ "activate-process": {
+ "type": "artifact-bpmn-camunda",
+ "file": "Plans/ActivateProcess.bpmn"
+ }
+ }
+ },
+ "resource-assignment": {
+ "type": "component-resource-assignment",
+ "properties":{
+ "request-id": ["1234", "1234"]
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "action-name": { "get_input" : "action-name" },
+ "resource-type": "vnf-type",
+ "request-id": { "get_input" : "request-id" },
+ "resource-id": { "get_input" : "hostname" },
+ "template-content": { "get_artifact" : ["SELF", "baseconfig-template"] },
+ "mapping-content": { "get_artifact" : ["SELF", "baseconfig-mapping"] }
+ },
+ "outputs": {
+ "resource-assignment-params": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "artifacts": {
+ "baseconfig-template": {
+ "type": "artifact-template-velocity",
+ "file": "Templates/baseconfig-template.vtl"
+ },
+ "baseconfig-mapping": {
+ "type": "artifact-mapping-resource",
+ "file": "Mappings/baseconfig-mapping.json"
+ }
+ }
+ },
+ "resource-assignment-py": {
+ "type": "component-resource-assignment",
+ "properties":{
+ "request-id": ["1234", "1234"]
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "implementation" :{
+ "primary" : "component-script"
+ },
+ "inputs": {
+ "action-name": { "get_input" : "action-name" }
+ },
+ "outputs": {
+ "resource-assignment-params": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "artifacts": {
+ "component-script": {
+ "type": "artifact-script-python",
+ "file": "Scripts/baseconfig-template.vtl"
+ }
+ }
+ }
+ },
+ "workflows":{
+ "activate-process":{
+ "steps" : {
+ "call-resource-assignment" : {
+ "description" : "Invoke Resource Assignment Component",
+ "target" : "resource-assignment",
+ "activities" : [
+ {
+ "call_operation": "ResourceAssignmentNode.process"
+ }
+ ],
+ "on_success" : [
+ "download-baseconfig"
+ ]
+ },
+ "download-baseconfig" : {
+ "description" : "Call Download Base Config Component",
+ "target" : "activate-netconf",
+ "activities" : [
+ {
+ "call_operation": "NetconfTransactionNode.process"
+ }
+ ],
+ "on_success" : [
+ "download-licence"
+ ]
+ },
+ "download-licence" : {
+ "description" : "Call Download Licence Component",
+ "target" : "activate-netconf",
+ "activities" : [
+ {
+ "call_operation": "NetconfTransactionNode.process"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "artifact_types": {
+ "artifact-template-velocity": {
+ "description": " Velocity Template used for Configuration",
+ "version": "1.0.0",
+ "file_ext": [
+ "vtl"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-mapping-resource": {
+ "description": " Velocity Template Resource Mapping File used along with Configuration template",
+ "version": "1.0.0",
+ "file_ext": [
+ "json"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-script-kotlin": {
+ "description": " Kotlin Script Template used for Configuration",
+ "version": "1.0.0",
+ "file_ext": [
+ "kt"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-script-python": {
+ "description": " Kotlin Script Template used for Configuration",
+ "version": "1.0.0",
+ "file_ext": [
+ "py"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-bpmn-camunda": {
+ "description": " Camunda BPM File",
+ "version": "1.0.0",
+ "file_ext": [
+ "bpmn"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-component-jar": {
+ "description": "Component Jar",
+ "version": "1.0.0",
+ "file_ext": [
+ "jar"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ }
+ },
+ "node_types": {
+ "bpmn-activate": {
+ "description": "This is BPMN Activate node type",
+ "version": "1.0.0",
+ "properties": {
+ "content": {
+ "required": false,
+ "type": "string"
+ },
+ "process-name": {
+ "required": false,
+ "type": "string"
+ },
+ "version": {
+ "required": false,
+ "type": "string",
+ "default" : "LATEST"
+ }
+ },
+ "derived_from": "tosca.nodes.Component"
+ },
+ "tosca.nodes.Component": {
+ "description": "This is Resource Assignment Component API",
+ "version": "1.0.0",
+ "properties": {
+ "type": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": false,
+ "type": "string"
+ }
+ },
+ "interfaces": {
+ "DefaultOperation": {
+ "operations": {
+ "validate": {
+ "inputs": {
+ "action-name": {
+ "description": "validate for action",
+ "required": false,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "artifacts" :{
+ "component-jar": {
+ "description": "Component Jar",
+ "type": "artifact-component-jar",
+ "file": "Component/basecomponent.jar"
+ }
+ },
+ "derived_from": "tosca.nodes.Root"
+ },
+ "tosca.nodes.component.Python": {
+ "description": "This is Resource Assignment Python Component API",
+ "version": "1.0.0",
+ "properties": {
+ "type": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": false,
+ "type": "string"
+ }
+ },
+ "interfaces": {
+ "DefaultOperation": {
+ "operations": {
+ "validate": {
+ "inputs": {
+ "action-name": {
+ "description": "validate for action",
+ "required": false,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "artifacts" :{
+ "component-jar": {
+ "description": "Component Jar",
+ "type": "artifact-component-jar",
+ "file": "Component/basecomponent.jar"
+ }
+ },
+ "derived_from": "tosca.nodes.Root"
+ },
+ "component-resource-assignment": {
+ "description": "This is Resource Assignment Component API",
+ "version": "1.0.0",
+ "properties": {
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "action-name": {
+ "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required": false,
+ "type": "string"
+ },
+ "resource-type": {
+ "required": false,
+ "type": "string"
+ },
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ },
+ "resource-id": {
+ "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+ "required": true,
+ "type": "string"
+ },
+ "template-content": {
+ "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+ "required": true,
+ "type": "string"
+ },
+ "mapping-content": {
+ "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "outputs": {
+ "resource-assignment-params": {
+ "required": true,
+ "type": "string"
+ },
+ "status": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Component"
+ },
+ "component-resource-assignment-python": {
+ "description": "This is Resource Assignment Component API",
+ "version": "1.0.0",
+ "properties": {
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "action-name": {
+ "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required": false,
+ "type": "string"
+ }
+ },
+ "outputs": {
+ "resource-assignment-params": {
+ "required": true,
+ "type": "string"
+ },
+ "status": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.component.Python"
+ }
+ },
+ "data_types": {
+ "sample-property" : {
+ "description": "This is sample data type",
+ "version": "1.0.0",
+ "properties": {
+ "content": {
+ "required": false,
+ "type": "string"
+ },
+ "process-name": {
+ "required": false,
+ "type": "string"
+ },
+ "version": {
+ "required": false,
+ "type": "string",
+ "default" : "LATEST"
+ }
+ },
+ "derived_from" : "tosca.datatypes.Root"
+ }
+ }
+}
\ No newline at end of file diff --git a/components/core/load/blueprints/baseconfiguration/Mappings/baseconfig-mapping.json b/components/core/load/blueprints/baseconfiguration/Mappings/baseconfig-mapping.json new file mode 100644 index 000000000..6abfb51bd --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/Mappings/baseconfig-mapping.json @@ -0,0 +1,3 @@ +{
+ "assignments": "Sample Assignments"
+}
\ No newline at end of file diff --git a/components/core/load/blueprints/baseconfiguration/Plans/ActivateProcess.bpmn b/components/core/load/blueprints/baseconfiguration/Plans/ActivateProcess.bpmn new file mode 100644 index 000000000..5e94c0f8e --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/Plans/ActivateProcess.bpmn @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
+ xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
+ xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
+ xmlns:camunda="http://camunda.org/schema/1.0/bpmn"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1"
+ targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.2">
+ <bpmn:process id="ActivateProcess" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1">
+ <bpmn:outgoing>SequenceFlow_0l0dq58</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:endEvent id="EndEvent_1pr0kil">
+ <bpmn:incoming>SequenceFlow_1ay0k6p</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0l0dq58" sourceRef="StartEvent_1" targetRef="activate_device_task"/>
+ <bpmn:sequenceFlow id="SequenceFlow_1ay0k6p" sourceRef="activate_device_task" targetRef="EndEvent_1pr0kil"/>
+ <bpmn:serviceTask id="activate_device_task" name="Activate Device"
+ camunda:delegateExpression="${componentDelegateService}">
+ <bpmn:extensionElements>
+ <camunda:inputOutput>
+ <camunda:inputParameter name="selector"><![CDATA[resource-assignment
+]]></camunda:inputParameter>
+ </camunda:inputOutput>
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0l0dq58</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ay0k6p</bpmn:outgoing>
+ </bpmn:serviceTask>
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="ActivateProcess">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="175" y="143" width="36" height="36"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="148" y="179" width="90" height="20"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_1pr0kil_di" bpmnElement="EndEvent_1pr0kil">
+ <dc:Bounds x="575" y="114" width="36" height="36"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="593" y="154" width="0" height="12"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0l0dq58_di" bpmnElement="SequenceFlow_0l0dq58">
+ <di:waypoint xsi:type="dc:Point" x="211" y="161"/>
+ <di:waypoint xsi:type="dc:Point" x="273" y="161"/>
+ <di:waypoint xsi:type="dc:Point" x="273" y="149"/>
+ <di:waypoint xsi:type="dc:Point" x="334" y="149"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="288" y="149" width="0" height="12"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ay0k6p_di" bpmnElement="SequenceFlow_1ay0k6p">
+ <di:waypoint xsi:type="dc:Point" x="434" y="149"/>
+ <di:waypoint xsi:type="dc:Point" x="505" y="149"/>
+ <di:waypoint xsi:type="dc:Point" x="505" y="132"/>
+ <di:waypoint xsi:type="dc:Point" x="575" y="132"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="520" y="134.5" width="0" height="12"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0e8ek4f_di" bpmnElement="activate_device_task">
+ <dc:Bounds x="334" y="109" width="100" height="80"/>
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/components/core/load/blueprints/baseconfiguration/Scripts/SamplePythonComponentNode.py b/components/core/load/blueprints/baseconfiguration/Scripts/SamplePythonComponentNode.py new file mode 100644 index 000000000..eb198c79a --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/Scripts/SamplePythonComponentNode.py @@ -0,0 +1,8 @@ +from com.brvith.orchestrator.core.interfaces import ComponentNode
+
+class SamplePythonComponentNode(ComponentNode):
+ def prepare(self, context, componentContext):
+ return None
+
+ def prepare(self, context, componentContext):
+ return None
\ No newline at end of file diff --git a/components/core/load/blueprints/baseconfiguration/Scripts/__init__.py b/components/core/load/blueprints/baseconfiguration/Scripts/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/Scripts/__init__.py diff --git a/components/core/load/blueprints/baseconfiguration/TOSCA-Metadata/TOSCA.meta b/components/core/load/blueprints/baseconfiguration/TOSCA-Metadata/TOSCA.meta new file mode 100644 index 000000000..fb38c1594 --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/TOSCA-Metadata/TOSCA.meta @@ -0,0 +1,8 @@ +TOSCA-Meta-File-Version: 1.0.0
+CSAR-Version: 1.0
+Created-By: Brinda Santh M
+Entry-Definitions: Definitions/activation-blueprint.json
+Template-Tags: Brinda Santh, activation-blueprint
+
+Name: Plans/ActivateProcess.bpmn
+Content-Type: application/vnd.oasis.bpmn
diff --git a/components/core/load/blueprints/baseconfiguration/Templates/baseconfig-template.vtl b/components/core/load/blueprints/baseconfiguration/Templates/baseconfig-template.vtl new file mode 100644 index 000000000..026c59176 --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/Templates/baseconfig-template.vtl @@ -0,0 +1 @@ +This is Sample Velocity Template
\ No newline at end of file diff --git a/components/core/load/blueprints/baseconfiguration/__init__.py b/components/core/load/blueprints/baseconfiguration/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/components/core/load/blueprints/baseconfiguration/__init__.py |