Merge SW Upgrade Blueprint into PNF_AAI and create one UAT BP for PNF
[ccsdk/cds.git] / components / model-catalog / blueprint-model / uat-blueprints / PNF_CDS_RESTCONF / Definitions / PNF_CDS_RESTCONF.json
diff --git a/components/model-catalog/blueprint-model/uat-blueprints/PNF_CDS_RESTCONF/Definitions/PNF_CDS_RESTCONF.json b/components/model-catalog/blueprint-model/uat-blueprints/PNF_CDS_RESTCONF/Definitions/PNF_CDS_RESTCONF.json
new file mode 100644 (file)
index 0000000..2e6c2f5
--- /dev/null
@@ -0,0 +1,424 @@
+{
+  "tosca_definitions_version" : "controller_blueprint_1_0_0",
+  "metadata" : {
+    "template_author" : "Raj Gumma",
+    "author-email" : "raj.gumma@est.tech",
+    "user-groups" : "ADMIN, OPERATION",
+    "template_name" : "PNF_CDS_RESTCONF",
+    "template_version" : "1.0.0",
+    "template_tags" : "PNF, Restconf, config, configuration, software upgrade"
+  },
+  "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" : {
+    "config-deploy-properties" : {
+      "resolution-key" : {
+        "get_input" : "resolution-key"
+      }
+    },
+    "precheck-properties" : {
+      "resolution-key" : {
+        "get_input" : "resolution-key"
+      }
+    },
+    "downloadNeSw-properties" : {
+      "resolution-key" : {
+        "get_input" : "resolution-key"
+      }
+    },
+    "activateNeSw-properties" : {
+      "resolution-key" : {
+        "get_input" : "resolution-key"
+      }
+    },
+    "postcheck-properties" : {
+      "resolution-key" : {
+        "get_input" : "resolution-key"
+      }
+    }
+  },
+  "topology_template" : {
+    "workflows" : {
+      "config-assign" : {
+        "steps" : {
+          "activate-process" : {
+            "description" : "Create a configlet",
+            "target" : "config-assign",
+            "activities" : [ {
+              "call_operation" : ""
+            } ]
+          }
+        },
+        "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" : {
+          "activate-process" : {
+            "description" : "Send a configlet to the pnf",
+            "target" : "config-deploy",
+            "activities" : [ {
+              "call_operation" : ""
+            } ]
+          }
+        },
+        "inputs" : {
+          "resolution-key" : {
+            "required" : true,
+            "type" : "string"
+          },
+          "config-deploy-properties" : {
+            "description" : "Dynamic PropertyDefinition for workflow(config-deploy).",
+            "required" : true,
+            "type" : "dt-config-deploy-properties"
+          }
+        }
+      },
+      "precheck" : {
+        "steps" : {
+          "activate-process" : {
+            "description" : "Check if pnf ready for sw upgrade",
+            "target" : "precheck",
+            "activities" : [ {
+              "call_operation" : ""
+            } ]
+          }
+        },
+        "inputs" : {
+          "resolution-key" : {
+            "required" : true,
+            "type" : "string"
+          },
+          "precheck-properties" : {
+            "description" : "Dynamic PropertyDefinition for precheck workflow(software-upgrade).",
+            "required" : true,
+            "type" : "dt-precheck-properties"
+          }
+        }
+      },
+      "downloadNeSw" : {
+        "steps" : {
+          "activate-process" : {
+            "description" : "Trigger download new software for sw upgrade",
+            "target" : "downloadNeSw",
+            "activities" : [ {
+              "call_operation" : ""
+            } ]
+          }
+        },
+        "inputs" : {
+          "resolution-key" : {
+            "required" : true,
+            "type" : "string"
+          },
+          "downloadNeSw-properties" : {
+            "description" : "Dynamic PropertyDefinition for downloadNeSw workflow(software-upgrade).",
+            "required" : true,
+            "type" : "dt-downloadNeSw-properties"
+          }
+        }
+      },
+      "activateNeSw" : {
+        "steps" : {
+          "activate-process" : {
+            "description" : "Trigger activation of target software version for pnf upgrade",
+            "target" : "activateNeSw",
+            "activities" : [ {
+              "call_operation" : ""
+            } ]
+          }
+        },
+        "inputs" : {
+          "resolution-key" : {
+            "required" : true,
+            "type" : "string"
+          },
+          "activateNeSw-properties" : {
+            "description" : "Dynamic PropertyDefinition for activateNeSw workflow(software-upgrade).",
+            "required" : true,
+            "type" : "dt-activateNeSw-properties"
+          }
+        }
+      },
+      "postcheck" : {
+        "steps" : {
+          "activate-process" : {
+            "description" : "Check if pnf upgrade is completed",
+            "target" : "postcheck",
+            "activities" : [ {
+              "call_operation" : ""
+            } ]
+          }
+        },
+        "inputs" : {
+          "resolution-key" : {
+            "required" : true,
+            "type" : "string"
+          },
+          "postcheck-properties" : {
+            "description" : "Dynamic PropertyDefinition for postcheck workflow(software-upgrade).",
+            "required" : true,
+            "type" : "dt-postcheck-properties"
+          }
+        }
+      }
+    },
+    "node_templates" : {
+      "config-assign" : {
+        "type" : "component-resource-resolution",
+        "interfaces" : {
+          "ResourceResolutionComponent" : {
+            "operations" : {
+              "process" : {
+                "inputs" : {
+                  "resolution-key" : {
+                    "get_input" : "resolution-key"
+                  },
+                  "store-result" : true,
+                  "artifact-prefix-names" : [ "config-assign" ]
+                },
+                "outputs" : {
+                  "resource-assignment-params" : {
+                    "get_attribute" : [ "SELF", "assignment-params" ]
+                  },
+                  "status" : "success"
+                }
+              }
+            }
+          }
+        },
+        "artifacts" : {
+          "config-assign-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/config-assign-restconf-configlet-template.vtl"
+          },
+          "config-assign-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/config-assign-pnf-mapping.json"
+          }
+        }
+      },
+      "config-deploy" : {
+        "type" : "component-script-executor",
+        "interfaces" : {
+          "ComponentScriptExecutor" : {
+            "operations" : {
+              "process" : {
+                "implementation" : {
+                  "primary" : "component-script",
+                  "timeout" : 180,
+                  "operation_host" : "SELF"
+                },
+                "inputs" : {
+                  "script-type" : "kotlin",
+                  "script-class-reference" : "cba.pnf.config.aai.RestconfConfigDeploy",
+                  "dynamic-properties" : "*config-deploy-properties"
+                },
+                "outputs" : {
+                  "response-data" : "",
+                  "status" : "success"
+                }
+              }
+            }
+          }
+        },
+        "artifacts" : {
+          "config-deploy-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/restconf-mount-template.vtl"
+          },
+          "config-deploy-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/config-deploy-pnf-mapping.json"
+          }
+        }
+      },
+      "precheck" : {
+        "type" : "component-script-executor",
+        "interfaces" : {
+          "ComponentScriptExecutor" : {
+            "operations" : {
+              "process" : {
+                "implementation" : {
+                  "primary" : "component-script",
+                  "timeout" : 180,
+                  "operation_host" : "SELF"
+                },
+                "inputs" : {
+                  "script-type" : "kotlin",
+                  "script-class-reference" : "cba.pnf.swug.RestconfSoftwareUpgrade",
+                  "dynamic-properties" : "*precheck-properties"
+                },
+                "outputs" : {
+                  "response-data" : "",
+                  "status" : "success"
+                }
+              }
+            }
+          }
+        },
+        "artifacts" : {
+          "mount-node-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/restconf-mount-template.vtl"
+          },
+          "mount-node-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/pnf-software-upgrade-mapping.json"
+          }
+        }
+      },
+      "downloadNeSw" : {
+        "type" : "component-script-executor",
+        "interfaces" : {
+          "ComponentScriptExecutor" : {
+            "operations" : {
+              "process" : {
+                "implementation" : {
+                  "primary" : "component-script",
+                  "timeout" : 180,
+                  "operation_host" : "SELF"
+                },
+                "inputs" : {
+                  "script-type" : "kotlin",
+                  "script-class-reference" : "cba.pnf.swug.RestconfSoftwareUpgrade",
+                  "dynamic-properties" : "*downloadNeSw-properties"
+                },
+                "outputs" : {
+                  "response-data" : "",
+                  "status" : "success"
+                }
+              }
+            }
+          }
+        },
+        "artifacts" : {
+          "mount-node-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/restconf-mount-template.vtl"
+          },
+          "mount-node-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/pnf-software-upgrade-mapping.json"
+          },
+          "configure-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/pnf-swug-config-template.vtl"
+          },
+          "configure-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/pnf-software-upgrade-mapping.json"
+          },
+          "download-ne-sw-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/pnf-swug-download-ne-sw-template.vtl"
+          },
+          "download-ne-sw-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/pnf-software-upgrade-mapping.json"
+          }
+        }
+      },
+      "activateNeSw" : {
+        "type" : "component-script-executor",
+        "interfaces" : {
+          "ComponentScriptExecutor" : {
+            "operations" : {
+              "process" : {
+                "implementation" : {
+                  "primary" : "component-script",
+                  "timeout" : 180,
+                  "operation_host" : "SELF"
+                },
+                "inputs" : {
+                  "script-type" : "kotlin",
+                  "script-class-reference" : "cba.pnf.swug.RestconfSoftwareUpgrade",
+                  "dynamic-properties" : "*activateNeSw-properties"
+                },
+                "outputs" : {
+                  "response-data" : "",
+                  "status" : "success"
+                }
+              }
+            }
+          }
+        },
+        "artifacts" : {
+          "mount-node-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/restconf-mount-template.vtl"
+          },
+          "mount-node-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/pnf-software-upgrade-mapping.json"
+          },
+          "configure-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/pnf-swug-config-template.vtl"
+          },
+          "configure-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/pnf-software-upgrade-mapping.json"
+          }
+        }
+      },
+      "postcheck" : {
+        "type" : "component-script-executor",
+        "interfaces" : {
+          "ComponentScriptExecutor" : {
+            "operations" : {
+              "process" : {
+                "implementation" : {
+                  "primary" : "component-script",
+                  "timeout" : 180,
+                  "operation_host" : "SELF"
+                },
+                "inputs" : {
+                  "script-type" : "kotlin",
+                  "script-class-reference" : "cba.pnf.swug.RestconfSoftwareUpgrade",
+                  "dynamic-properties" : "*postcheck-properties"
+                },
+                "outputs" : {
+                  "response-data" : "",
+                  "status" : "success"
+                }
+              }
+            }
+          }
+        },
+        "artifacts" : {
+          "mount-node-template" : {
+            "type" : "artifact-template-velocity",
+            "file" : "Templates/restconf-mount-template.vtl"
+          },
+          "mount-node-mapping" : {
+            "type" : "artifact-mapping-resource",
+            "file" : "Definitions/pnf-software-upgrade-mapping.json"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file