Adds execution environment and Juju cloud augments to SOL006 40/10040/2
authorgarciaale <agarcia@whitestack.com>
Mon, 16 Nov 2020 13:58:12 +0000 (10:58 -0300)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Tue, 1 Dec 2020 09:37:11 +0000 (10:37 +0100)
Change-Id: I8f91efd9df9fa428019b01b6ae16b928b274dab0
Signed-off-by: garciaale <agarcia@whitestack.com>
models/augments/common-augments.yang

index 7beec89..815e7f9 100644 (file)
@@ -190,6 +190,97 @@ module common-augments {
                         type boolean;
                         default true;
                     }
+                    leaf cloud {
+                        description
+                          "Type of cloud where the charm will be deployed. It only
+                           applies to proxy charms (not native)";
+                        type enumeration {
+                          enum lxd;
+                          enum k8s;
+                        }
+                        default lxd;
+                    }
+                }
+            }
+
+            case execution-environment-list {
+                description
+                  "List of Execution Environments to configure or monitor VNF or VDU.";
+                list execution-environment-list {
+                    key "id";
+                    leaf id {
+                      description "Execution environment identifier.";
+                    type string;
+                    }
+                    choice execution-environment-model {
+                        description
+                          "Execution environment model (juju, helm-chart)";
+                        case juju {
+                            description
+                              "Interact with the VNF or xDU through Juju.";
+                            container juju {
+                                leaf charm {
+                                  description
+                                    "Juju charm to use with the VNF or VDU.";
+                                  type string;
+                                }
+                                leaf proxy {
+                                  description
+                                    "Is this a proxy charm?";
+                                  type boolean;
+                                  default true;
+                                }
+                                leaf cloud {
+                                  description
+                                    "Type of cloud where the charm will be deployed. It only
+                                     applies to proxy charms (not native)";
+                                  type enumeration {
+                                    enum lxd;
+                                    enum k8s;
+                                  }
+                                  default lxd;
+                                }
+                            }
+                        }
+                        case helm-chart {
+                            description
+                              "Interact with the VNF or xDU through Helm.";
+                            leaf helm-chart {
+                                description
+                                  "Helm chart that models the execution environment, in any of the following ways:
+                                   - <helm-repo>/<helm-chart>
+                                   - <helm-chart folder name under helm-charts folder in the package>
+                                   - <helm-chart tgz file (w/ or w/o extension) under helm-charts folder in the package>
+                                   - <URL_where_to_fetch_chart>
+                                  ";
+                                type string;
+                            }
+                            leaf helm-version {
+                                description
+                                  "Helm version to use for this helm-chart, v3 by default";
+                                type enumeration {
+                                  enum "v2";
+                                  enum "v3";
+                                }
+                                default "v3";
+                            }
+                        }
+                    }
+                    leaf metric-service {
+                        description
+                          "Service name in the execution environment. For helm charts, it will be
+                           the name of the kubernetes service used by the exporter to expose metrics
+                           to the OSM collector.
+                          ";
+                        type string;
+                    }
+                    leaf connection-point-ref {
+                        description
+                          "String representing a leaf reference to the particular external connection point
+                           This field should match /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name
+                          ";
+                        type string;
+                    }
                 }
             }
         }
@@ -246,6 +337,22 @@ module common-augments {
                 type string;
             }
 
+            leaf execution-environment-ref {
+                description
+                  "Leaf reference to the particular execution environment";
+                type leafref {
+                  path "../../execution-environment-list/id";
+                }
+            }
+
+            leaf execution-environment-primitive {
+                description
+                  "Name of the primitive in the execution enviroment. If not explicit,
+                   the leaf 'name' will be used as the name of the primitive.";
+                type string;
+            }
+
+
             list parameter {
                 description
                   "List of parameters to the config primitive.";
@@ -279,6 +386,14 @@ module common-augments {
                         type string;
                     }
 
+                    leaf execution-environment-ref {
+                        description
+                          "Leaf reference to the particular execution environment";
+                        type leafref {
+                          path "../../execution-environment-list/id";
+                        }
+                    }
+
                     uses primitive-parameter-value;
 
                     leaf user-defined-script {
@@ -305,6 +420,14 @@ module common-augments {
                 type string;
             }
 
+            leaf execution-environment-ref {
+                description
+                  "Leaf reference to the particular execution environment";
+                type leafref {
+                  path "../../execution-environment-list/id";
+                }
+            }
+
             uses primitive-parameter-value;
 
             leaf user-defined-script {