X-Git-Url: https://gerrit.onap.org/r/gitweb?p=demo.git;a=blobdiff_plain;f=heat%2FvFW_CNF_CDS%2Ftemplates%2Fcba%2FDefinitions%2FvFW_CNF_CDS.json;h=22f5749b7b2b2d47936b91fe9418deb07af406ae;hp=5f7fa0e274e5333f6f940164544df570dbe0b672;hb=532cfff8eaad73781cbb410064cd3b4bda5e3095;hpb=3c887a297e506f393df2a56e748fc398bcbc4b1a diff --git a/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json b/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json index 5f7fa0e2..22f5749b 100644 --- a/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json +++ b/heat/vFW_CNF_CDS/templates/cba/Definitions/vFW_CNF_CDS.json @@ -1,277 +1,626 @@ { - "tosca_definitions_version" : "controller_blueprint_1_0_0", - "metadata" : { - "template_author" : "Samuli Silvius ", - "author-email" : "abdelmuhaimen.seaudi@orange.com", - "user-groups" : "ADMIN, OPERATION", - "template_name" : "vFW_CNF_CDS", - "template_version" : "1.0.25", - "template_tags" : "Samuli Silvius, vFW_CNF_CDS", - "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" : { - "vpkg-rest-api" : { - "type" : "basic-auth", - "url" : "http://", - "username" : "admin", - "password" : "admin" + "tosca_definitions_version": "controller_blueprint_1_0_0", + "metadata": { + "template_author": "Samuli Silvius ", + "author-email": "lukasz.rajewski@orange.com", + "user-groups": "ADMIN, OPERATION", + "template_name": "vFW_CNF_CDS", + "template_version": "8.0.0", + "template_tags": "Samuli Silvius, Lukasz Rajewski, vFW_CNF_CDS", + "template_type": "DEFAULT" }, - "multicloud-k8s-api" : { - "type" : "basic-auth", - "username" : "admin", - "password" : "admin", - "url" : "http://multicloud-k8s:9015" - }, - "profile-upload-properties" : { - "assignment-params": { - "get_attribute" : [ "resource-assignment", "assignment-params" ] - }, - "profile-modification-decision-data": { - "get_input" : "vpg-management-port" - }, - "profile-artifacts": { - "get_attribute" : [ "profile-modification", "assignment-params" ] - }, - "api-access": "*multicloud-k8s-api" - }, - "config-deploy-properties" : { - "resolution-key" : { - "get_input" : "resolution-key" - } - }, - "dynamic-db-source" : { - "type" : "maria-db", - "url" : "jdbc:mysql://mariadb-galera:3306/sdnctl", - "username" : "root", - "password" : "secretpassword" - } - }, - "topology_template" : { - "workflows" : { - "resource-assignment" : { - "steps" : { - "resource-assignment" : { - "description" : "Resource Assign Workflow", - "target" : "resource-assignment", - "activities": [ - { - "call_operation": "ResourceResolutionComponent.process" - } - ], - "on_success": [ - "profile-modification" - ] - }, - "profile-modification" : { - "description" : "Profile Modification Resources", - "target" : "profile-modification", - "activities": [ - { - "call_operation": "ResourceResolutionComponent.process" - } - ], - "on_success": [ - "profile-upload" - ] - }, - "profile-upload" : { - "description" : "Upload K8s Profile", - "target" : "profile-upload", - "activities": [ - { - "call_operation": "ComponentScriptExecutor.process" - } - ] - } + "imports": [ + { + "file": "Definitions/data_types.json" }, - "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" - } + { + "file": "Definitions/relationship_types.json" }, - "outputs" : { - "meshed-template" : { - "type" : "json", - "value" : { - "get_attribute" : [ "resource-assignment", "assignment-params" ] - } - } + { + "file": "Definitions/artifact_types.json" + }, + { + "file": "Definitions/node_types.json" + }, + { + "file": "Definitions/policy_types.json" } - }, - "config-deploy" : { - "steps" : { - "config-deploy" : { - "description" : "Config Deploy Workflow", - "target" : "config-deploy-process" - } + ], + "dsl_definitions": { + "vpkg-rest-api": { + "type": "basic-auth", + "url": "http://", + "username": "admin", + "password": "admin" }, - "inputs" : { - "config-deploy-properties" : { - "description" : "Dynamic PropertyDefinition for workflow(config-deploy).", - "required" : true, - "type" : "dt-config-deploy-properties" - } + "config-deploy-properties": { + "resolution-key": { + "get_input": "resolution-key" + } }, - "outputs" : { - "dry-run" : { - "type" : "json", - "value" : { - "get_attribute" : [ "config-deploy-process", "assignment-params" ] + "simple-status-properties": { + "resolution-key": { + "get_input": "resolution-key" + }, + "config-deploy-setup": { + "get_attribute": [ + "config-setup-process", + "", + "assignment-map", + "config-deploy", + "config-deploy-setup" + ] } - } } - } }, - "node_templates" : { - "resource-assignment" : { - "type" : "component-resource-resolution", - "interfaces" : { - "ResourceResolutionComponent" : { - "operations" : { - "process" : { - "inputs" : { - "artifact-prefix-names" : { - "get_input" : "template-prefix" - } + "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" + ] + } + } } - } - } - } - }, - "artifacts" : { - "base_template-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/base_template-template.vtl" - }, - "base_template-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/base_template-mapping.json" - }, - "vpkg-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vpkg-template.vtl" - }, - "vpkg-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vpkg-mapping.json" - }, - "vfw-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vfw-template.vtl" - }, - "vfw-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vfw-mapping.json" - }, - "vnf-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vnf-template.vtl" - }, - "vnf-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vnf-mapping.json" - }, - "vsn-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vsn-template.vtl" - }, - "vsn-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vsn-mapping.json" - } - } - }, - "profile-modification" : { - "type" : "component-resource-resolution", - "interfaces" : { - "ResourceResolutionComponent" : { - "operations" : { - "process" : { - "inputs" : { - "artifact-prefix-names" : [ "ssh-service" ] + }, + "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": [ + "config-apply" + ], + "on_failure": [ + "handle_error" + ] + }, + "config-apply": { + "description": "Activate K8s config template", + "target": "k8s-config-apply", + "activities": [ + { + "call_operation": "K8sConfigTemplateComponent.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": [ + "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" + }, + "config-deploy-properties": { + "description": "Dynamic PropertyDefinition for workflow(config-deploy).", + "required": true, + "type": "dt-config-deploy-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": [ + "config-apply" + ], + "on_failure": [ + "handle_error" + ] + }, + "config-apply": { + "description": "Activate K8s config template", + "target": "k8s-config-apply", + "activities": [ + { + "call_operation": "K8sConfigTemplateComponent.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": [ + "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" + }, + "config-deploy-properties": { + "description": "Dynamic PropertyDefinition for workflow(config-deploy).", + "required": true, + "type": "dt-config-deploy-properties" + } } - } } - } }, - "artifacts" : { - "ssh-service-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/k8s-profiles/ssh-service-template.vtl" - }, - "ssh-service-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/k8s-profiles/ssh-service-mapping.json" - } - } - }, - "profile-upload" : { - "type" : "component-script-executor", - "interfaces" : { - "ComponentScriptExecutor" : { - "operations" : { - "process" : { - "inputs" : { - "script-type" : "kotlin", - "script-class-reference" : "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.K8sProfileUpload", - "dynamic-properties" : "*profile-upload-properties" + "node_templates": { + "resource-assignment": { + "type": "component-resource-resolution", + "interfaces": { + "ResourceResolutionComponent": { + "operations": { + "process": { + "inputs": { + "artifact-prefix-names": { + "get_input": "template-prefix" + } + } + } + } + } + }, + "artifacts": { + "helm_base_template-template": { + "type": "artifact-template-velocity", + "file": "Templates/base_template-template.vtl" + }, + "helm_base_template-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/base_template-mapping.json" + }, + "helm_vpkg-template": { + "type": "artifact-template-velocity", + "file": "Templates/vpkg-template.vtl" + }, + "helm_vpkg-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/vpkg-mapping.json" + }, + "helm_vfw-template": { + "type": "artifact-template-velocity", + "file": "Templates/vfw-template.vtl" + }, + "helm_vfw-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/vfw-mapping.json" + }, + "vnf-template": { + "type": "artifact-template-velocity", + "file": "Templates/vnf-template.vtl" + }, + "vnf-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/vnf-mapping.json" + }, + "helm_vsn-template": { + "type": "artifact-template-velocity", + "file": "Templates/vsn-template.vtl" + }, + "helm_vsn-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/vsn-mapping.json" + } } - } - } - } - } - }, - "config-deploy-process" : { - "type" : "component-resource-resolution", - "interfaces" : { - "ResourceResolutionComponent" : { - "operations" : { - "process" : { - "inputs" : { - "artifact-prefix-names" : [ "nf-params" ] + }, + "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": { + "vfw-cnf-cds-base-profile": { + "type": "artifact-k8sprofile-content", + "file": "Templates/k8s-profiles/vfw-cnf-cds-base-profile.tar.gz" + }, + "vfw-cnf-cds-vpkg-profile": { + "type": "artifact-k8sprofile-content", + "file": "Templates/k8s-profiles/vfw-cnf-cds-vpkg-profile" + }, + "vfw-cnf-cds-vpkg-profile-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/k8s-profiles/vfw-cnf-cds-vpkg-profile/ssh-service-mapping.json" + } + } + }, + "k8s-config-template": { + "type": "component-k8s-config-template", + "interfaces": { + "K8sConfigTemplateComponent": { + "operations": { + "process": { + "inputs": { + "artifact-prefix-names": [ + "helm_vpkg" + ], + "resource-assignment-map": { + "get_attribute": [ + "config-setup-process", + "", + "assignment-map", + "config-deploy", + "config-deploy-setup" + ] + } + } + } + } + } + }, + "artifacts": { + "ssh-service-config": { + "type": "artifact-k8sconfig-content", + "file": "Templates/k8s-configs/ssh-service.tar.gz" + }, + "ssh-service-config-customizable": { + "type": "artifact-k8sconfig-content", + "file": "Templates/k8s-configs/ssh-service-config" + }, + "ssh-service-config-customizable-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/k8s-configs/ssh-service-config/ssh-service-mapping.json" + } + } + }, + "k8s-config-apply": { + "type": "component-k8s-config-value", + "interfaces": { + "K8sConfigValueComponent": { + "operations": { + "process": { + "inputs": { + "artifact-prefix-names": [ + "helm_vpkg" + ], + "k8s-config-operation-type": "create", + "resource-assignment-map": { + "get_attribute": [ + "config-setup-process", + "", + "assignment-map", + "config-deploy", + "config-deploy-setup" + ] + } + } + } + } + } + }, + "artifacts": { + "ssh-service-default": { + "type": "artifact-k8sconfig-content", + "file": "Templates/k8s-configs/ssh-service-config/values.yaml" + }, + "ssh-service-config": { + "type": "artifact-k8sconfig-content", + "file": "Templates/k8s-configs/ssh-service-values/values.yaml.vtl" + }, + "ssh-service-config-mapping": { + "type": "artifact-mapping-resource", + "file": "Templates/k8s-configs/ssh-service-values/ssh-service-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": {} + } + } + } } - } } - } - }, - "artifacts" : { - "nf-params-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/nf-params-template.vtl" - }, - "nf-params-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/nf-params-mapping.json" - } } - } } - } }