[vFW_CNF_CDS] Add workflow health-check and K8sHealthCheck.kt script
[demo.git] / heat / vFW_CNF_CDS / templates / cba / Definitions / vFW_CNF_CDS.json
index 9053c9b..22f5749 100644 (file)
@@ -5,7 +5,7 @@
         "author-email": "lukasz.rajewski@orange.com",
         "user-groups": "ADMIN, OPERATION",
         "template_name": "vFW_CNF_CDS",
-        "template_version": "7.0.0",
+        "template_version": "8.0.0",
         "template_tags": "Samuli Silvius, Lukasz Rajewski, vFW_CNF_CDS",
         "template_type": "DEFAULT"
     },
             "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": {
             },
             "config-assign": {
                 "steps": {
-                    "config-assign": {
-                        "description": "Create a message",
-                        "target": "config-assign-process",
+                    "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": ""
+                                "call_operation": "K8sConfigTemplateComponent.process"
                             }
                         ]
                     }
             },
             "config-deploy": {
                 "steps": {
-                    "config-deploy": {
-                        "description": "Run kotlin script",
-                        "target": "config-deploy-process"
+                    "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": {
                     }
                 }
             },
-            "config-assign-process": {
+            "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": {
                                     "resolution-key": {
                                         "get_input": "resolution-key"
                                     },
-                                    "store-result": true,
+                                    "store-result": false,
                                     "artifact-prefix-names": [
-                                        "cnf"
+                                        "config-deploy"
                                     ]
                                 },
                                 "outputs": {
                     }
                 },
                 "artifacts": {
-                    "cnf-template": {
+                    "config-deploy-template": {
                         "type": "artifact-template-velocity",
-                        "file": "Templates/cnf-template.vtl"
+                        "file": "Templates/config-setup-template.vtl"
                     },
-                    "cnf-mapping": {
+                    "config-deploy-mapping": {
                         "type": "artifact-mapping-resource",
-                        "file": "Templates/cnf-mapping.json"
+                        "file": "Templates/config-setup-mapping.json"
                     }
                 }
             },
                         }
                     }
                 }
+            },
+            "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": {}
+                            }
+                        }
+                    }
+                }
             }
         }
     }