X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=heat%2FvFW_CNF_CDS%2Ftemplates%2Fcba%2FDefinitions%2FvFW_CNF_CDS.json;h=22f5749b7b2b2d47936b91fe9418deb07af406ae;hb=532cfff8eaad73781cbb410064cd3b4bda5e3095;hp=c4b6516dc26ededd753320b0ad5e991bd97c46cf;hpb=666c1371b11799b88658b5e2ac3f77f1b01d2231;p=demo.git 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 c4b6516d..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,245 +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.0", - "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" : { - "ipam-1" : { - "type" : "token-auth", - "url" : "http://netbox-nginx:8080", - "token" : "Token 0123456789abcdef0123456789abcdef01234567" + "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" }, - "vpkg-rest-api" : { - "type" : "basic-auth", - "url" : "http://", - "username" : "admin", - "password" : "admin" - }, - "multicloud-k8s-api" : { - "type" : "basic-auth", - "username" : "admin", - "password" : "admin", - "url" : "http://multicloud-k8s:9015" - }, - "profile-upload-properties" : { - "resolution-key" : { - "get_input" : "resolution-key" - }, - "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-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" + ] + } + } + } + }, + "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" + } }, - "store-result": true, - "resolution-key": { - "get_input" : "resolution-key" + "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" : { - "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-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", - "instance-dependencies" : [ ], - "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" - } } - } } - } -} \ No newline at end of file +}