Updates sol006 branch with master 86/9886/2
authorgarciaale <agarcia@whitestack.com>
Mon, 19 Oct 2020 18:47:00 +0000 (15:47 -0300)
committergarciaale <agarcia@whitestack.com>
Tue, 20 Oct 2020 21:39:45 +0000 (18:39 -0300)
Change-Id: I0fc5d6f0dcf1b0827430602847f0f9e627a599e2
Signed-off-by: garciaale <agarcia@whitestack.com>
Makefile
models/yang/instantiation-parameters.yang
models/yang/mano-types.yang
models/yang/vnfd-base.yang
tox.ini

index ab9550a..c158738 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -103,7 +103,6 @@ yang2swagger:
 
 package:
        tox -e build
-       tox -e build3
        ./build-docs.sh
 
 deps:
@@ -113,7 +112,7 @@ deps:
        $(Q)sudo -H python3 -m pip install -U pyang pyangbind stdeb
        $(Q)sudo -H python2 -m pip install -U pyang pyangbind stdeb
        $(Q)mkdir -p ~/.m2
-       $(Q)cp -n ~/.m2/settings.xml{,.orig} ; wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ~/.m2/settings.xml
+       $(Q)cp -n ~/.m2/settings.xml ~/.m2/settings.xml.orig ; wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ~/.m2/settings.xml
 
 sol006_deps:
        $(Q)git clone --single-branch --branch v2.6.1 https://forge.etsi.org/rep/nfv/SOL006.git sol006_model
index 0417bef..c5258ff 100644 (file)
@@ -179,7 +179,7 @@ module instantiation-parameters {
       type inet:ip-prefix;
     }
     leaf gateway-address {
-      type inet:ip-prefix;
+      type inet:ip-address;
     }
     list dns-server {
       key "address";
index a696550..f54a5e9 100644 (file)
@@ -268,6 +268,18 @@ module mano-types
           "Name of the metric, as defined in the Juju charm.";
         type string;
       }
+      leaf execution-environment-ref {
+        description
+          "Leaf reference to the particular execution environment getting that metric";
+        type leafref {
+          path "../../execution-environment-list/id";
+        }
+      }
+      leaf execution-environment-metric {
+        description
+          "Metric in the execution environment referenced by execution-environment-ref";
+        type string;
+      }
     }
   } // END - grouping vca-metrics
 
@@ -305,8 +317,91 @@ module mano-types
             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 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;
+            // type leafref {
+            //   path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name";
+            // }
+          }
         }
       }
+
     }
   }
 
@@ -359,6 +454,21 @@ module mano-types
         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.";
@@ -388,10 +498,18 @@ module mano-types
         case primitive-definition {
           leaf name {
             description
-              "Name of the configuration primitive.";
+              "Name of the configuration primitive in the execution environment.";
             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 {
@@ -414,10 +532,18 @@ module mano-types
       }
       leaf name {
         description
-          "Name of the configuration primitive.";
+          "Name of the configuration primitive in the execution environment.";
         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 {
@@ -433,15 +559,17 @@ module mano-types
   typedef virtual-link-type {
     description
         "Type of virtual link
-         ELAN: A multipoint service connecting a set of VNFs
-         ELINE: For a simple point to point connection
-         //        between a VNF and the existing network.
+         ELAN: A multipoint service connecting a set of elements
+         ELINE: A point-to-point service connecting two elements
+         L3: A service providing either Layer-3 visibility (IP) between
+             VDUs/VNFs or explicit interconnection between two ELAN VLDs.";
          // ETREE: A multipoint service connecting one or
          //        more roots and a set of leaves, but
          //        preventing inter-leaf communication.";
     type enumeration {
       enum ELAN;
       enum ELINE;
+      enum L3;
       // enum ETREE;
     }
   }
index 38bede6..aae9b2b 100644 (file)
@@ -1,7 +1,7 @@
-
 /*
  *
  *   Copyright 2017 RIFT.IO Inc
+ *   Copyright 2018-2020 ETSI
  *
  *   Licensed under the Apache License, Version 2.0 (the "License");
  *   you may not use this file except in compliance with the License.
@@ -677,6 +677,38 @@ module vnfd-base
           }
         }
 
+        list service {
+          description
+            "List of Kubernetes services exposed by the KDU.
+             If empty, all services are assumed to be exposed in the CP associated to the first network
+             in k8s-cluster.nets.";
+          key name;
+
+          leaf name {
+            description "Name of the Kubernetes service exposed by he KDU model";
+            type string;
+          }
+
+          leaf mgmt-service {
+            description
+                "Flag to indicate that this Kubernetes service is a mgmt service
+                to be used for KDU configuration. Defaults to false (if no present).
+                All services with mgmt-service set to true will be passed to the execution
+                environment in charge of the KDU configuration.";
+            type boolean;
+            default false;
+          }
+
+          leaf external-connection-point-ref {
+            description
+              "Leaf Ref to the particular external connection point";
+            type leafref {
+              path "../../../connection-point/name";
+            }
+          }
+
+        }
+
       }
 
       container k8s-cluster {
diff --git a/tox.ini b/tox.ini
index 5f3bc3a..2a96a59 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -12,7 +12,7 @@
 # limitations under the License.
 
 [tox]
-envlist = py27,py3
+envlist = py3
 toxworkdir={homedir}/.tox
 
 [testenv]
@@ -22,7 +22,7 @@ deps=nose
 commands=nosetests
 
 [testenv:flake8]
-basepython = python
+basepython = python3
 deps = flake8
 commands =
     flake8 setup.py
@@ -39,3 +39,4 @@ basepython = python3
 deps = stdeb
        setuptools-version-command
 commands = python3 setup.py --command-packages=stdeb.command bdist_deb
+