[APACHE] Add Apache CNF use case files
[demo.git] / tutorials / ApacheCNF / templates / cba / Definitions / CNF.json
diff --git a/tutorials/ApacheCNF/templates/cba/Definitions/CNF.json b/tutorials/ApacheCNF/templates/cba/Definitions/CNF.json
new file mode 100644 (file)
index 0000000..bf1a423
--- /dev/null
@@ -0,0 +1,853 @@
+{
+    "tosca_definitions_version": "controller_blueprint_1_0_0",
+    "metadata": {
+        "template_author": "Lukasz Rajewski <lukasz.rajewski@orange.com>",
+        "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": {}
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}