From: garciaale Date: Mon, 19 Oct 2020 18:47:00 +0000 (-0300) Subject: Updates sol006 branch with master X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=cc20284c7b7b7a91b5c6277dc8e0e115458ad66b;hp=c65c82b9cebded93bf2b11fb0ed53119710df9c8;p=osm%2FIM.git Updates sol006 branch with master Change-Id: I0fc5d6f0dcf1b0827430602847f0f9e627a599e2 Signed-off-by: garciaale --- diff --git a/Makefile b/Makefile index ab9550a..c158738 100644 --- 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 diff --git a/models/yang/instantiation-parameters.yang b/models/yang/instantiation-parameters.yang index 0417bef..c5258ff 100644 --- a/models/yang/instantiation-parameters.yang +++ b/models/yang/instantiation-parameters.yang @@ -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"; diff --git a/models/yang/mano-types.yang b/models/yang/mano-types.yang index a696550..f54a5e9 100644 --- a/models/yang/mano-types.yang +++ b/models/yang/mano-types.yang @@ -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: + - / + - + - + - + "; + 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; } } diff --git a/models/yang/vnfd-base.yang b/models/yang/vnfd-base.yang index 38bede6..aae9b2b 100644 --- a/models/yang/vnfd-base.yang +++ b/models/yang/vnfd-base.yang @@ -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 --- 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 +