{ "tosca_definitions_version": "controller_blueprint_1_0_0", "metadata": { "template_author": "Lukasz Rajewski ", "author-email": "lukasz.rajewski@orange.com", "user-groups": "ADMIN, OPERATION", "template_name": "APACHE", "template_version": "1.0.0", "template_tags": "Lukasz Rajewski, CNF", "template_type": "DEFAULT" }, "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" } ], "dsl_definitions": { "naming-resolution": { "type": "basic-auth", "url": "http://neng-serv:8080/web/service", "username": "ccsdkapps", "password": "ccsdkapps" }, "vpkg-rest-api": { "type": "basic-auth", "url": "http://", "username": "admin", "password": "admin" }, "config-deploy-properties": { "resolution-key": { "get_input": "resolution-key" } }, "simple-status-properties": { "resolution-key": { "get_input": "resolution-key" }, "config-deploy-setup": { "get_attribute": [ "config-setup-process", "", "assignment-map", "config-deploy", "config-deploy-setup" ] } } }, "topology_template": { "workflows": { "resource-assignment": { "steps": { "resource-assignment": { "description": "Resource Assign Workflow", "target": "resource-assignment", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "profile-upload" ] }, "profile-upload": { "description": "Generate and upload K8s Profile", "target": "k8s-profile-upload", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ] } }, "inputs": { "template-prefix": { "required": true, "type": "list", "entry_schema": { "type": "string" } }, "resolution-key": { "required": false, "type": "string", "entry_schema": { "type": "" } }, "resource-assignment-properties": { "description": "Dynamic PropertyDefinition for workflow(resource-assignment).", "required": true, "type": "dt-resource-assignment-properties" } }, "outputs": { "meshed-template": { "type": "json", "value": { "get_attribute": [ "resource-assignment", "assignment-params" ] } } } }, "config-assign": { "steps": { "config-setup": { "description": "Gather necessary input for config template upload", "target": "config-setup-process", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "config-template" ] }, "config-template": { "description": "Generate and upload K8s config template", "target": "k8s-config-template", "activities": [ { "call_operation": "K8sConfigTemplateComponent.process" } ] } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "store-result": { "required": true, "type": "boolean" }, "config-assign-properties": { "description": "Dynamic PropertyDefinition for workflow(config-assign).", "required": true, "type": "dt-config-assign-properties" } } }, "config-deploy": { "steps": { "config-setup": { "description": "Gather necessary input for config init and status verification", "target": "config-setup-process", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "status-verification-script" ] }, "status-verification-script": { "description": "Simple status verification script", "target": "simple-status-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "config-apply" ] }, "config-apply": { "description": "Activate K8s config template", "target": "k8s-config-apply", "activities": [ { "call_operation": "K8sConfigValueComponent.process" } ], "on_success": [ "status-verification-script-after" ] }, "status-verification-script-after": { "description": "Simple status verification script", "target": "simple-status-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ] }, "collect-results": { "description": "Final collection of results", "target": "collect-results" } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "config-deploy-properties": { "description": "Dynamic PropertyDefinition for workflow(config-deploy).", "required": true, "type": "dt-config-deploy-properties" } } }, "scale-out": { "steps": { "config-setup": { "description": "Gather necessary input for config init and status verification", "target": "config-setup-process", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "config-template" ] }, "config-template": { "description": "Generate and upload K8s config template", "target": "k8s-config-template", "activities": [ { "call_operation": "K8sConfigTemplateComponent.process" } ], "on_success": [ "config-apply" ] }, "config-apply": { "description": "Activate K8s config apply", "target": "k8s-config-apply", "activities": [ { "call_operation": "K8sConfigValueComponent.process" } ], "on_success": [ "status-verification-script-after" ] }, "status-verification-script-after": { "description": "Simple status verification script", "target": "simple-status-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ] }, "collect-results": { "description": "Final collection of results", "target": "collect-results" } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "scale-out-properties": { "description": "Dynamic PropertyDefinition for workflow(scale-out).", "required": true, "type": "dt-scale-out-properties" } } }, "scale": { "steps": { "config-setup": { "description": "Gather necessary input for config init and status verification", "target": "config-setup-process", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "config-template" ] }, "config-template": { "description": "Generate and upload K8s config template", "target": "k8s-config-template", "activities": [ { "call_operation": "K8sConfigTemplateComponent.process" } ], "on_success": [ "config-update" ] }, "config-update": { "description": "Activate K8s config restore", "target": "k8s-config-update", "activities": [ { "call_operation": "K8sConfigValueComponent.process" } ], "on_success": [ "status-verification-script-after" ] }, "status-verification-script-after": { "description": "Simple status verification script", "target": "simple-status-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ] }, "collect-results": { "description": "Final collection of results", "target": "collect-results" } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "scale-properties": { "description": "Dynamic PropertyDefinition for workflow(scale).", "required": true, "type": "dt-scale-properties" } } }, "scale-in": { "steps": { "config-setup": { "description": "Gather necessary input for config init and status verification", "target": "config-setup-process", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "config-template" ] }, "config-template": { "description": "Generate and upload K8s config template", "target": "k8s-config-template", "activities": [ { "call_operation": "K8sConfigTemplateComponent.process" } ], "on_success": [ "config-restore" ] }, "config-restore": { "description": "Activate K8s config restore", "target": "k8s-config-restore", "activities": [ { "call_operation": "K8sConfigValueComponent.process" } ], "on_success": [ "status-verification-script-after" ] }, "status-verification-script-after": { "description": "Simple status verification script", "target": "simple-status-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ] }, "collect-results": { "description": "Final collection of results", "target": "collect-results" } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "scale-in-properties": { "description": "Dynamic PropertyDefinition for workflow(scale-in).", "required": true, "type": "dt-scale-in-properties" } } }, "health-check": { "steps": { "config-setup": { "description": "Gather necessary input for config init and status verification", "target": "config-setup-process", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "status-verification-script" ], "on_failure": [ "handle_error" ] }, "status-verification-script": { "description": "Simple status verification script", "target": "simple-status-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "health-check-process" ], "on_failure": [ "handle_error" ] }, "health-check-process": { "description": "Start health check script", "target": "health-check-script", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ], "on_failure": [ "handle_error" ] }, "handle_error": { "description": "Simple error verification script", "target": "simple-error-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ] }, "collect-results": { "description": "Final collection of results", "target": "collect-results" } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "health-check-properties": { "description": "Dynamic PropertyDefinition for workflow(health-check).", "required": true, "type": "dt-health-check-properties" } } } }, "node_templates": { "resource-assignment": { "type": "component-resource-resolution", "interfaces": { "ResourceResolutionComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": { "get_input": "template-prefix" } } } } } }, "artifacts": { "helm_apache-template": { "type": "artifact-template-velocity", "file": "Templates/cnf-template.vtl" }, "helm_apache-mapping": { "type": "artifact-mapping-resource", "file": "Templates/cnf-mapping.json" }, "vnf-template": { "type": "artifact-template-velocity", "file": "Templates/vnf-template.vtl" }, "vnf-mapping": { "type": "artifact-mapping-resource", "file": "Templates/vnf-mapping.json" } } }, "k8s-profile-upload": { "type": "component-k8s-profile-upload", "interfaces": { "K8sProfileUploadComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": { "get_input": "template-prefix" }, "resource-assignment-map": { "get_attribute": [ "resource-assignment", "assignment-map" ] } } } } } }, "artifacts": { "cnf-cds-base-profile": { "type": "artifact-k8sprofile-content", "file": "Templates/k8s-profiles/cnf-cds-base-profile.tar.gz" }, "node-port-profile": { "type": "artifact-k8sprofile-content", "file": "Templates/k8s-profiles/node-port-profile.tar.gz" } } }, "k8s-config-template": { "type": "component-k8s-config-template", "interfaces": { "K8sConfigTemplateComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": [ "helm_apache" ], "resource-assignment-map": { "get_attribute": [ "config-setup-process", "", "assignment-map", "config-deploy", "config-deploy-setup" ] } } } } } }, "artifacts": { "deployment-config": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/deployment-config.tar.gz" } } }, "k8s-config-apply": { "type": "component-k8s-config-value", "interfaces": { "K8sConfigValueComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": [ "helm_apache" ], "k8s-config-operation-type": "create", "resource-assignment-map": { "get_attribute": [ "config-setup-process", "", "assignment-map", "config-deploy", "config-deploy-setup" ] } } } } } }, "artifacts": { "default-values": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/deployment-values/default-values.yaml" }, "restore-values": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/deployment-values/restore-values.yaml" }, "custom-values": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/deployment-values/values.yaml.vtl" }, "custom-values-mapping": { "type": "artifact-mapping-resource", "file": "Templates/k8s-configs/deployment-values/values-mapping.json" } } }, "k8s-config-restore": { "type": "component-k8s-config-value", "interfaces": { "K8sConfigValueComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": [ "helm_apache" ], "k8s-config-operation-type": "update", "k8s-rb-config-value-source": "restore-values", "resource-assignment-map": { "get_attribute": [ "config-setup-process", "", "assignment-map", "config-deploy", "config-deploy-setup" ] } } } } } }, "artifacts": { "restore-values": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/deployment-values/restore-values.yaml" } } }, "k8s-config-update": { "type": "component-k8s-config-value", "interfaces": { "K8sConfigValueComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": [ "helm_apache" ], "k8s-config-operation-type": "update", "k8s-rb-config-value-source": "custom-values", "resource-assignment-map": { "get_attribute": [ "config-setup-process", "", "assignment-map", "config-deploy", "config-deploy-setup" ] } } } } } }, "artifacts": { "custom-values": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/deployment-values/values.yaml.vtl" }, "custom-values-mapping": { "type": "artifact-mapping-resource", "file": "Templates/k8s-configs/deployment-values/values-mapping.json" } } }, "simple-status-check": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.SimpleStatusCheck", "instance-dependencies": [ "bluePrintPropertiesService" ], "dynamic-properties": "*simple-status-properties" } } } } } }, "simple-error-check": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.SimpleErrorCheck", "instance-dependencies": [ "bluePrintPropertiesService" ], "dynamic-properties": "*simple-status-properties" } } } } } }, "health-check-script": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.K8sHealthCheck", "instance-dependencies": [ "bluePrintPropertiesService" ], "dynamic-properties": "*simple-status-properties" } } } } } }, "config-setup-process": { "type": "component-resource-resolution", "interfaces": { "ResourceResolutionComponent": { "operations": { "process": { "inputs": { "resolution-key": { "get_input": "resolution-key" }, "store-result": false, "artifact-prefix-names": [ "config-deploy" ] }, "outputs": { "resource-assignment-params": { "get_attribute": [ "SELF", "assignment-params" ] }, "status": "success" } } } } }, "artifacts": { "config-deploy-template": { "type": "artifact-template-velocity", "file": "Templates/config-setup-template.vtl" }, "config-deploy-mapping": { "type": "artifact-mapping-resource", "file": "Templates/config-setup-mapping.json" } } }, "config-deploy-process": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.ConfigDeploy", "dynamic-properties": "*config-deploy-properties" } } } } } }, "collect-results": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "implementation": { "primary": "component-script", "timeout": 180, "operation_host": "SELF" }, "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.CollectorScript" }, "outputs": {} } } } } } } } }