From 9a62007a1e370259856cf85422321f43a3bda55b Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Tue, 25 Apr 2023 01:14:45 +0200 Subject: [PATCH 01/16] Support of Python 3.10 Adds a patch to pyangbind to continue to work with updated packages Change-Id: I0b33375ddbb96734ae72669baaef744bf2152bb1 Signed-off-by: garciadeblas Signed-off-by: Mark Beierl --- Dockerfile | 14 ++++++----- devops-stages/stage-archive.sh | 2 -- devops-stages/stage-build.sh | 2 +- pyangbind.patch | 46 ++++++++++++++++++++++++++++++++++ tox.ini | 4 ++- 5 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 pyangbind.patch diff --git a/Dockerfile b/Dockerfile index 3ca4992..9623f7f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ # devops-stages/stage-build.sh # -FROM ubuntu:20.04 +FROM ubuntu:22.04 ARG APT_PROXY RUN if [ ! -z $APT_PROXY ] ; then \ @@ -34,13 +34,15 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ debhelper \ dh-python \ git \ - python3.8 \ + python3 \ python3-all \ - python3.8-dev \ - python3-setuptools + python3-dev \ + python3-setuptools \ + python3-pip \ + tox -RUN python3 -m easy_install pip==21.3.1 -RUN pip install tox==3.24.5 +ENV LC_ALL C.UTF-8 +ENV LANG C.UTF-8 RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -y install wget build-essential dh-make \ diff --git a/devops-stages/stage-archive.sh b/devops-stages/stage-archive.sh index a64b87b..2e7a6fd 100755 --- a/devops-stages/stage-archive.sh +++ b/devops-stages/stage-archive.sh @@ -20,5 +20,3 @@ rm -rf pool rm -rf dists mkdir -p pool/$MDG mv deb_dist/*.deb pool/$MDG/ -mv *.deb pool/$MDG/ - diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh index e8b397b..6268698 100755 --- a/devops-stages/stage-build.sh +++ b/devops-stages/stage-build.sh @@ -15,4 +15,4 @@ rm -rf dist deb_dist osm*.tar.gz *.egg-info .eggs -tox -e dist +tox -e dist --recreate diff --git a/pyangbind.patch b/pyangbind.patch new file mode 100644 index 0000000..3077299 --- /dev/null +++ b/pyangbind.patch @@ -0,0 +1,46 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +####################################################################################### + +*** .tox/cover/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py 2023-05-10 06:50:57.876027148 -0400 +--- .tox/cover/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py 2023-05-10 06:51:11.772022417 -0400 +*************** limitations under the License. +*** 22,27 **** +--- 22,28 ---- + from __future__ import unicode_literals + + import collections ++ from six.moves import collections_abc + import copy + import uuid + from decimal import Decimal +*************** def TypedListType(*args, **kwargs): +*** 372,378 **** + if not isinstance(allowed_type, list): + allowed_type = [allowed_type] + +! class TypedList(collections.MutableSequence): + _pybind_generated_by = "TypedListType" + _list = list() + +--- 373,379 ---- + if not isinstance(allowed_type, list): + allowed_type = [allowed_type] + +! class TypedList(collections_abc.MutableSequence): + _pybind_generated_by = "TypedListType" + _list = list() + diff --git a/tox.ini b/tox.ini index aa926aa..7eb9118 100644 --- a/tox.ini +++ b/tox.ini @@ -23,7 +23,7 @@ toxworkdir = /tmp/.tox [testenv] usedevelop = True -basepython = python3.8 +basepython = python3.10 setenv = VIRTUAL_ENV={envdir} PYTHONDONTWRITEBYTECODE = 1 passenv = HOME @@ -43,6 +43,7 @@ skip_install = false deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt commands = + sh -c "patch {toxworkdir}/cover/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py < pyangbind.patch" sh -c 'make clean' sh -c 'make models Q=""' sh -c 'rm -f nosetests.xml' @@ -99,6 +100,7 @@ deps = {[testenv]deps} # In the commands, we copy the requirements.txt to be presented as a source file (.py) # so it gets included in the .deb package for others to consume commands = + sh -c "patch {toxworkdir}/dist/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py < pyangbind.patch" sh -c 'make clean' sh -c 'make Q=""' sh -c 'cp requirements.txt osm_im/requirements.txt' -- 2.17.1 From beff3a1d931816e07c2bef2e02964951892ba472 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Wed, 10 May 2023 17:41:51 +0200 Subject: [PATCH 02/16] Update IM requirements Change-Id: I7cb28c3262a4d52f2565a8656b52c39cb759222e Signed-off-by: garciadeblas --- requirements-test.txt | 4 ++-- requirements.txt | 4 ++-- tox.ini | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/requirements-test.txt b/requirements-test.txt index 464774a..6006e33 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### -coverage==7.1.0 +coverage==7.2.5 # via -r requirements-test.in -nose2==0.12.0 +nose2==0.13.0 # via -r requirements-test.in diff --git a/requirements.txt b/requirements.txt index 99695f7..fb24668 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### -bitarray==2.6.2 +bitarray==2.7.3 # via pyangbind enum34==1.1.10 # via pyangbind @@ -30,7 +30,7 @@ pyangbind==0.8.1 # via -r requirements.in pyyaml==5.4.1 # via -r requirements.in -regex==2022.10.31 +regex==2023.5.5 # via pyangbind six==1.16.0 # via pyangbind diff --git a/tox.ini b/tox.ini index 7eb9118..d6ce5d5 100644 --- a/tox.ini +++ b/tox.ini @@ -78,7 +78,7 @@ commands = ####################################################################################### [testenv:pip-compile] -deps = pip-tools==6.6.2 +deps = pip-tools==6.13.0 skip_install = true allowlist_externals = bash [ @@ -86,7 +86,7 @@ commands = - bash -c "for file in requirements*.in ; do \ UNSAFE="" ; \ if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \ - pip-compile -rU --no-header $UNSAFE $file ;\ + pip-compile --resolver=backtracking -rU --no-header $UNSAFE $file ;\ out=`echo $file | sed 's/.in/.txt/'` ; \ sed -i -e '1 e head -16 tox.ini' $out ;\ done" -- 2.17.1 From 215c0ca1d541a7ee7da0b6452615f6bd48ccbdef Mon Sep 17 00:00:00 2001 From: elumalai Date: Tue, 25 Apr 2023 16:12:06 +0530 Subject: [PATCH 03/16] Feature 10979: Static IPv6 Dual Stack Assignment Added support to modify ip-address type from leaf to leaf-list Change-Id: I5b4d4d662802a6816f7879362de42bf3bd99f17e Signed-off-by: elumalai --- models/augments/ns-vld.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/augments/ns-vld.yang b/models/augments/ns-vld.yang index b85acbf..ac3cc4c 100644 --- a/models/augments/ns-vld.yang +++ b/models/augments/ns-vld.yang @@ -102,9 +102,9 @@ module ns-vld { element"; } - leaf ip-address { + leaf-list ip-address { description - "IP address assigned to the internal connection point"; + "IP address list assigned to the internal connection point"; type inet:ip-address; } } -- 2.17.1 From e01365213b22d5c26d3b750d3a0f12d1f3b57b86 Mon Sep 17 00:00:00 2001 From: "k4.rahul" Date: Wed, 19 Apr 2023 17:04:06 +0530 Subject: [PATCH 04/16] Feature 10945: Service KPI of VNF using exporter endpoint This change has to be merged with this LCM change https://osm.etsi.org/gerrit/#/c/osm/LCM/+/13236/ Change-Id: Id1851a4f3dceddefc6c50d8f8d5335c64e01da99 Signed-off-by: k4.rahul --- models/augments/exporters.yang | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 models/augments/exporters.yang diff --git a/models/augments/exporters.yang b/models/augments/exporters.yang new file mode 100644 index 0000000..13651db --- /dev/null +++ b/models/augments/exporters.yang @@ -0,0 +1,49 @@ +/* + Copyright 2020 Tata Elxsi + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +module exporters { + yang-version 1.1; + namespace "urn:etsi:osm:yang:augments:exporters"; + prefix "exporters"; + + import etsi-nfv-vnfd { + prefix vnfd; + } + + grouping extended-exporters-endpoints { + container exporters-endpoints { + leaf metric-path { + type string; + description "The path to scrape metric from VNF"; + } + leaf metric-port { + type uint16; + description "Port to scrape metric from VNF"; + } + leaf external-connection-point-ref { + type leafref { + path "/vnfd:vnfd/vnfd:ext-cpd/vnfd:id"; + } + description "Representing a leafref reference to the particular external connection point"; + } + } + } + + augment "/vnfd:vnfd/vnfd:df" { + uses extended-exporters-endpoints; + } +} -- 2.17.1 From d4b10b3b97df3c2b03828209526772d78a98c632 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Tue, 30 May 2023 17:20:32 +0200 Subject: [PATCH 05/16] Feature 10972: Support of volume multi-attach This change describes the new keys and values than can be used in a VDU storage volume to identify that the volume can be attached to several virtual machines. Change-Id: If271910f7c0ecebc07cf7e8405b15861b45c1e19 Signed-off-by: garciadeblas --- models/augments/common-augments.yang | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/models/augments/common-augments.yang b/models/augments/common-augments.yang index cf883b9..d83c50d 100644 --- a/models/augments/common-augments.yang +++ b/models/augments/common-augments.yang @@ -730,10 +730,17 @@ module common-augments { list vdu-storage-requirements { description "Array of key-value pairs that articulate the storage - deployment requirements. If the storage type is persistent-storage - following setting holds the persistent volume upon VM deletion: - key: keep-volume - value: true"; + deployment requirements. + + If the storage type is persistent-storage, the following setting + holds the persistent volume upon VM deletion: + key: keep-volume + value: true + + If storage volume can be attached to several VMs, the following setting + will allow it: + key: multiattach + value: true"; key "key"; -- 2.17.1 From bd458dbed1a932a5a97fb245f378f5a16d6642d4 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Tue, 30 May 2023 08:17:47 -0300 Subject: [PATCH 06/16] Remove unused code Change-Id: I4c741169fef307d8756343452fdf57fecc23bcdc Signed-off-by: Daniel Arndt --- setup.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/setup.py b/setup.py index ec75988..4d1c9e9 100644 --- a/setup.py +++ b/setup.py @@ -30,12 +30,6 @@ class Install_osm_im(install): subprocess.call([sys.executable, "-m", "pip", "install", package]) def run(self): - self.pipinstall('pyang') - self.pipinstall('pyangbind') - import pyangbind - print("Using dir {}/{} for python artifacts".format(os.getcwd(), self.im_dir)) - path = "{}/{}".format(os.getcwd(), self.im_dir) - protoc_command = ["make", "models"] if subprocess.call(protoc_command) != 0: sys.exit(-1) -- 2.17.1 From c1987d8d80efa56ff2e6ee7987aefff0ea0bf9fd Mon Sep 17 00:00:00 2001 From: beierlm Date: Tue, 20 Jun 2023 21:31:53 +0200 Subject: [PATCH 07/16] Revert "Remove unused code" This reverts commit bd458dbed1a932a5a97fb245f378f5a16d6642d4. Reason for revert: Build failures - https://osm.etsi.org/jenkins/job/NBI-stage_2-merge/job/master/509/ - https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/master/385/ Change-Id: I271aa7111db3ce8090269627da102788d9324c28 Signed-off-by: Mark Beierl --- setup.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/setup.py b/setup.py index 4d1c9e9..ec75988 100644 --- a/setup.py +++ b/setup.py @@ -30,6 +30,12 @@ class Install_osm_im(install): subprocess.call([sys.executable, "-m", "pip", "install", package]) def run(self): + self.pipinstall('pyang') + self.pipinstall('pyangbind') + import pyangbind + print("Using dir {}/{} for python artifacts".format(os.getcwd(), self.im_dir)) + path = "{}/{}".format(os.getcwd(), self.im_dir) + protoc_command = ["make", "models"] if subprocess.call(protoc_command) != 0: sys.exit(-1) -- 2.17.1 From 34cfdb5a5c1b65196e3e5fd572371813bf85e1d7 Mon Sep 17 00:00:00 2001 From: Mark Beierl Date: Fri, 21 Jul 2023 17:13:06 +0000 Subject: [PATCH 08/16] Update version of PyYAML Change-Id: I80c3238d9a7c0985fc261900507ff2e2d0487056 Signed-off-by: Mark Beierl --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 94c2eb9..128194b 100644 --- a/requirements.in +++ b/requirements.in @@ -15,4 +15,4 @@ pyang pyangbind -pyyaml==5.4.1 \ No newline at end of file +pyyaml>6 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index fb24668..f22c8a3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,7 +28,7 @@ pyang==2.5.3 # pyangbind pyangbind==0.8.1 # via -r requirements.in -pyyaml==5.4.1 +pyyaml==6.0.1 # via -r requirements.in regex==2023.5.5 # via pyangbind -- 2.17.1 From 91d4a7ce0218a0a72dc4e3c0a360e8569601ff31 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Thu, 20 Jul 2023 17:19:11 +0200 Subject: [PATCH 09/16] Fix stage-archive.sh to archive osm-imdocs deb package Change-Id: I20bc1463dca447dfb452a835441b9097e8585c3f Signed-off-by: garciadeblas (cherry picked from commit defb0b8eae307cf7feebc2cbf79cb504e6ac6eb7) --- build-docs.sh | 8 ++++---- debian/control | 24 ++++++++++++++++++++---- devops-stages/stage-archive.sh | 3 +++ 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/build-docs.sh b/build-docs.sh index 6f21939..623e98f 100755 --- a/build-docs.sh +++ b/build-docs.sh @@ -1,6 +1,6 @@ #!/bin/bash # Copyright 2018 Sandvine -# All Rights Reserved. +# Copyright ETSI Contributors and Others. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -18,8 +18,8 @@ PKG_DIRECTORIES="osm_im_trees models" MDG_NAME=im PKG_NAME=osm-${MDG_NAME}docs DEB_INSTALL=debian/${PKG_NAME}.install -export DEBEMAIL="mmarchetti@sandvine.com" -export DEBFULLNAME="Michael Marchetti" +export DEBEMAIL="OSMSupport@etsi.org" +export DEBFULLNAME="ETSI OSM" PKG_VERSION=$(git describe --match "v*" --tags --abbrev=0) PKG_VERSION_FULL=$(git describe --match "v*" --tags --long) @@ -53,5 +53,5 @@ cp -R debian $PKG_DIR/. cd $PKG_DIR dh_make -y --indep --createorig --a -c apache sed -i -e "s/${PKG_VERSION_PREFIX}${POST_UPDATE}-1/$PKG_VERSION_PREFIX${POST_UPDATE}-${PKG_VERSION_FIELDS[2]}/g" debian/changelog -dpkg-buildpackage -uc -us -tc -rfakeroot +dpkg-buildpackage -uc -us -tc -rfakeroot cd - diff --git a/debian/control b/debian/control index 10fb75b..f06583a 100644 --- a/debian/control +++ b/debian/control @@ -1,12 +1,28 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +####################################################################################### Source: osm-imdocs Section: devel Priority: optional Maintainer: Michael Marchetti -Build-Depends: debhelper (>=9) +Build-Depends: debhelper-compat (= 13) Standards-Version: 3.9.6 -Homepage: http://osm.etsi.org +Homepage: + Package: osm-imdocs -Architecture: all +Architecture: any Depends: ${misc:Depends} Description: osm-imdocs is the Information Model package for OSM, providing base classes derived from YANG models to be used by other modules. - diff --git a/devops-stages/stage-archive.sh b/devops-stages/stage-archive.sh index 2e7a6fd..3999e8d 100755 --- a/devops-stages/stage-archive.sh +++ b/devops-stages/stage-archive.sh @@ -19,4 +19,7 @@ MDG=IM rm -rf pool rm -rf dists mkdir -p pool/$MDG +# Move python3-osm-im deb package to pool/$MDG folder mv deb_dist/*.deb pool/$MDG/ +# Move osm-imdocs deb package to pool/$MDG folder +mv *.deb pool/$MDG/ -- 2.17.1 From 96baef501849145c730103f58c44c3f13e26131e Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Thu, 31 Aug 2023 17:08:57 +0200 Subject: [PATCH 10/16] Update pyangbind version to 0.8.3.post1 Change-Id: Iae1ffeaacf39861e7ea05426d891035766daf07a Signed-off-by: garciadeblas --- pyangbind.patch | 46 ------------------------------------------- requirements-test.txt | 2 +- requirements.txt | 8 +++----- tox.ini | 2 -- 4 files changed, 4 insertions(+), 54 deletions(-) delete mode 100644 pyangbind.patch diff --git a/pyangbind.patch b/pyangbind.patch deleted file mode 100644 index 3077299..0000000 --- a/pyangbind.patch +++ /dev/null @@ -1,46 +0,0 @@ -####################################################################################### -# Copyright ETSI Contributors and Others. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. -####################################################################################### - -*** .tox/cover/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py 2023-05-10 06:50:57.876027148 -0400 ---- .tox/cover/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py 2023-05-10 06:51:11.772022417 -0400 -*************** limitations under the License. -*** 22,27 **** ---- 22,28 ---- - from __future__ import unicode_literals - - import collections -+ from six.moves import collections_abc - import copy - import uuid - from decimal import Decimal -*************** def TypedListType(*args, **kwargs): -*** 372,378 **** - if not isinstance(allowed_type, list): - allowed_type = [allowed_type] - -! class TypedList(collections.MutableSequence): - _pybind_generated_by = "TypedListType" - _list = list() - ---- 373,379 ---- - if not isinstance(allowed_type, list): - allowed_type = [allowed_type] - -! class TypedList(collections_abc.MutableSequence): - _pybind_generated_by = "TypedListType" - _list = list() - diff --git a/requirements-test.txt b/requirements-test.txt index 6006e33..4a1f035 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### -coverage==7.2.5 +coverage==7.3.0 # via -r requirements-test.in nose2==0.13.0 # via -r requirements-test.in diff --git a/requirements.txt b/requirements.txt index f22c8a3..da4aa3a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,11 +14,9 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### -bitarray==2.7.3 - # via pyangbind enum34==1.1.10 # via pyangbind -lxml==4.9.2 +lxml==4.9.3 # via # pyang # pyangbind @@ -26,11 +24,11 @@ pyang==2.5.3 # via # -r requirements.in # pyangbind -pyangbind==0.8.1 +pyangbind==0.8.3.post1 # via -r requirements.in pyyaml==6.0.1 # via -r requirements.in -regex==2023.5.5 +regex==2023.8.8 # via pyangbind six==1.16.0 # via pyangbind diff --git a/tox.ini b/tox.ini index d6ce5d5..1109b9c 100644 --- a/tox.ini +++ b/tox.ini @@ -43,7 +43,6 @@ skip_install = false deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt commands = - sh -c "patch {toxworkdir}/cover/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py < pyangbind.patch" sh -c 'make clean' sh -c 'make models Q=""' sh -c 'rm -f nosetests.xml' @@ -100,7 +99,6 @@ deps = {[testenv]deps} # In the commands, we copy the requirements.txt to be presented as a source file (.py) # so it gets included in the .deb package for others to consume commands = - sh -c "patch {toxworkdir}/dist/lib/python3.10/site-packages/pyangbind/lib/yangtypes.py < pyangbind.patch" sh -c 'make clean' sh -c 'make Q=""' sh -c 'cp requirements.txt osm_im/requirements.txt' -- 2.17.1 From 624136298751a937036185545309fb16bebe4b71 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Thu, 28 Sep 2023 18:15:47 +0200 Subject: [PATCH 11/16] Update requirements-test.txt to pass stage2 in all repos Change-Id: I23561d6a21bd4f44ca4951955babaef836b8ed11 Signed-off-by: garciadeblas --- requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-test.txt b/requirements-test.txt index 4a1f035..77ae576 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### -coverage==7.3.0 +coverage==7.3.1 # via -r requirements-test.in nose2==0.13.0 # via -r requirements-test.in -- 2.17.1 From 36311053906840f3036fe8af258fb7028068bdb2 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Mon, 16 Oct 2023 09:02:46 +0200 Subject: [PATCH 12/16] Fix osm-im installation from setup Change-Id: Id690fbda457952ad2cebfbd904161f438a6d69f4 Signed-off-by: garciadeblas --- devops-stages/stage-archive.sh | 4 ++-- setup.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/devops-stages/stage-archive.sh b/devops-stages/stage-archive.sh index 3999e8d..84e1041 100755 --- a/devops-stages/stage-archive.sh +++ b/devops-stages/stage-archive.sh @@ -20,6 +20,6 @@ rm -rf pool rm -rf dists mkdir -p pool/$MDG # Move python3-osm-im deb package to pool/$MDG folder -mv deb_dist/*.deb pool/$MDG/ +mv deb_dist/python3-osm-im*.deb pool/$MDG/ # Move osm-imdocs deb package to pool/$MDG folder -mv *.deb pool/$MDG/ +mv osm-imdocs*.deb pool/$MDG/ diff --git a/setup.py b/setup.py index ec75988..e32360b 100644 --- a/setup.py +++ b/setup.py @@ -30,8 +30,8 @@ class Install_osm_im(install): subprocess.call([sys.executable, "-m", "pip", "install", package]) def run(self): - self.pipinstall('pyang') - self.pipinstall('pyangbind') + self.pipinstall('pyang==6.0.1') + self.pipinstall('pyangbind==0.8.3.post1') import pyangbind print("Using dir {}/{} for python artifacts".format(os.getcwd(), self.im_dir)) path = "{}/{}".format(os.getcwd(), self.im_dir) -- 2.17.1 From ef549b00e893633145fd9d6362b761dbe8b85446 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Mon, 16 Oct 2023 16:07:36 +0200 Subject: [PATCH 13/16] Fix pyang version in setup.py Change-Id: Idc1599d156b17a9014333c8b68a19d65cc436210 Signed-off-by: garciadeblas --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e32360b..4cd2be2 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ class Install_osm_im(install): subprocess.call([sys.executable, "-m", "pip", "install", package]) def run(self): - self.pipinstall('pyang==6.0.1') + self.pipinstall('pyang==2.5.3') self.pipinstall('pyangbind==0.8.3.post1') import pyangbind print("Using dir {}/{} for python artifacts".format(os.getcwd(), self.im_dir)) -- 2.17.1 From a183de070f586875d953d43fa9d14ed031d483a8 Mon Sep 17 00:00:00 2001 From: Luis Vega Date: Thu, 12 Oct 2023 20:17:51 +0000 Subject: [PATCH 14/16] Feature 11002: Deprecate helmv2 Change-Id: If69d6cb4c27ef5b433638e20dca11eac43053494 Signed-off-by: Luis Vega --- models/augments/common-augments.yang | 1 - models/augments/kdu.yang | 1 - models/yang/mano-types.yang | 1 - models/yang/vnfd-base.yang | 1 - 4 files changed, 4 deletions(-) diff --git a/models/augments/common-augments.yang b/models/augments/common-augments.yang index d83c50d..18481a9 100644 --- a/models/augments/common-augments.yang +++ b/models/augments/common-augments.yang @@ -348,7 +348,6 @@ module common-augments { description "Helm version to use for this helm-chart, v3 by default"; type enumeration { - enum "v2"; enum "v3"; } default "v3"; diff --git a/models/augments/kdu.yang b/models/augments/kdu.yang index 1b5c084..9dc512f 100644 --- a/models/augments/kdu.yang +++ b/models/augments/kdu.yang @@ -74,7 +74,6 @@ module kdu { description "Helm version to use for this helm-chart, v3 by default"; type enumeration { - enum v2; enum v3; } default v3; diff --git a/models/yang/mano-types.yang b/models/yang/mano-types.yang index 7fc0e50..d1cbb86 100644 --- a/models/yang/mano-types.yang +++ b/models/yang/mano-types.yang @@ -383,7 +383,6 @@ module mano-types description "Helm version to use for this helm-chart, v3 by default"; type enumeration { - enum v2; enum v3; } default v3; diff --git a/models/yang/vnfd-base.yang b/models/yang/vnfd-base.yang index 28a4961..e38bac9 100644 --- a/models/yang/vnfd-base.yang +++ b/models/yang/vnfd-base.yang @@ -676,7 +676,6 @@ module vnfd-base description "Helm version to use for this helm-chart, v3 by default"; type enumeration { - enum v2; enum v3; } default v3; -- 2.17.1 From 09d797997f5a11557374e64cc94cf7b341beaabd Mon Sep 17 00:00:00 2001 From: sritharan Date: Fri, 28 Apr 2023 10:57:01 +0000 Subject: [PATCH 15/16] Feature 10980: Service Function Chaining Change-Id: I77f9f77cad1f35b471488a5c796088e664259421 Signed-off-by: sritharan --- models/augments/vnffgd.yang | 166 ++++++++++++++++++++++++++++++++++ tests/examples/dest_vnfd.yaml | 79 ++++++++++++++++ tests/examples/mid_vnfd.yaml | 79 ++++++++++++++++ tests/examples/sfc_nsd.yaml | 86 ++++++++++++++++++ tests/examples/src_vnfd.yaml | 80 ++++++++++++++++ 5 files changed, 490 insertions(+) create mode 100644 models/augments/vnffgd.yang create mode 100644 tests/examples/dest_vnfd.yaml create mode 100644 tests/examples/mid_vnfd.yaml create mode 100644 tests/examples/sfc_nsd.yaml create mode 100644 tests/examples/src_vnfd.yaml diff --git a/models/augments/vnffgd.yang b/models/augments/vnffgd.yang new file mode 100644 index 0000000..3000b3b --- /dev/null +++ b/models/augments/vnffgd.yang @@ -0,0 +1,166 @@ +/* + # Copyright ETSI Contributors and Others. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +module vnffgd { + yang-version 1.1; + namespace "urn:etsi:osm:yang:augments:vnffgd"; + prefix "vnffgd"; + + import etsi-nfv-nsd { + prefix nsd; + } + + import ietf-inet-types { + prefix inet; + } + + grouping match { + list match-attributes { + description + "List of match attributes."; + + key "id"; + leaf id { + description + "Identifier for the classifier match attribute rule."; + type string; + } + + leaf ip-proto { + description + "IP Protocol."; + type uint8; + } + + leaf source-ip-address { + description + "Source IP address."; + type inet:ip-address; + } + + leaf destination-ip-address { + description + "Destination IP address."; + type inet:ip-address; + } + + leaf source-port { + description + "Source port number."; + type inet:port-number; + } + + leaf destination-port { + description + "Destination port number."; + type inet:port-number; + } + + leaf constituent-base-element-id { + description + "Refer to the profile of source NS constituent."; + type leafref { + path "/nsd:nsd/nsd:nsd/nsd:df/nsd:vnf-profile/nsd:id"; + } + } + + leaf constituent-cpd-id { + description + "Logical source port."; + type string; + } + //TODO: Add more match criteria + } //match-attributes + + } + + grouping extended-position-element { + + leaf-list nfp-position-element-id { + type leafref { + path "../../../nfp-position-element/id"; + } + description + "References one or a pair of CPDs or SAPDs."; + reference + "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc + information element"; + } + } + + grouping extended-nfp-position { + list nfp-position-element { + key "id"; + leaf id { + type string; + description + "Identifier of this NfpPositionElemen information + element. It uniquely identifies an + NfpPositionElement."; + reference + "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement + information element"; + } + } + + } + + grouping extended-cpe { + leaf constituent-base-element-id { + type leafref { + path "/nsd:nsd/nsd:nsd/nsd:vnffgd/nsd:vnf-profile-id"; + } + } + + leaf order { + type uint8; + description + "A number that denotes the order of a VNF in a chain"; + } + + leaf ingress-constituent-cpd-id { + description + "A reference to a connection point name + in a vnfd."; + + type string; + } + + leaf egress-constituent-cpd-id { + description + "A reference to a connection point name + in a vnfd."; + + type string; + } + } + + augment "/nsd:nsd/nsd:nsd/nsd:vnffgd/nsd:nfpd/nsd:position-desc-id" { + uses match; + } + + augment "/nsd:nsd/nsd:nsd/nsd:vnffgd" { + uses extended-nfp-position; + } + + augment "/nsd:nsd/nsd:nsd/nsd:vnffgd/nsd:nfpd/nsd:position-desc-id" { + uses extended-position-element; + } + + augment "/nsd:nsd/nsd:nsd/nsd:vnffgd/nsd:nfpd/nsd:position-desc-id/nsd:cp-profile-id/nsd:constituent-profile-elements"{ + uses extended-cpe; + } +} diff --git a/tests/examples/dest_vnfd.yaml b/tests/examples/dest_vnfd.yaml new file mode 100644 index 0000000..4ee94e9 --- /dev/null +++ b/tests/examples/dest_vnfd.yaml @@ -0,0 +1,79 @@ +# Copyright ETSI Contributors and Others +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +vnfd: + description: Destination vnf descriptor + df: + - id: default-df + instantiation-level: + - id: default-instantiation-level + vdu-level: + - number-of-instances: 1 + vdu-id: dest_vnf-VM + vdu-profile: + - id: dest_vnf-VM + min-number-of-instances: 1 + ext-cpd: + - id: eth0-ext + int-cpd: + cpd: eth0-int + vdu-id: dest_vnf-VM + id: dest_vnf + mgmt-cp: eth0-ext + product-name: dest_vnf + provider: OSM + sw-image-desc: + - id: bionic + image: bionic + name: bionic + - id: ubuntu20.04-aws + name: ubuntu20.04-aws + image: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509 + vim-type: aws + - id: ubuntu20.04-azure + name: ubuntu20.04-azure + image: Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest + vim-type: azure + vdu: + - id: dest_vnf-VM + cloud-init-file: cloud-config + description: dest_vnf-VM + int-cpd: + - id: eth0-int + virtual-network-interface-requirement: + - name: eth0 + virtual-interface: + bandwidth: 0 + type: VIRTIO + vpci: 0000:00:0a.0 + name: dest_vnf-VM + sw-image-desc: bionic + alternative-sw-image-desc: + - ubuntu20.04-aws + - ubuntu20.04-azure + virtual-compute-desc: dest_vnf-VM-compute + virtual-storage-desc: + - dest_vnf-VM-storage + version: '1.0' + software-version: 1.2 + virtual-compute-desc: + - id: dest_vnf-VM-compute + virtual-cpu: + num-virtual-cpu: 1 + virtual-memory: + size: 2 + virtual-storage-desc: + - id: dest_vnf-VM-storage + size-of-storage: 10 diff --git a/tests/examples/mid_vnfd.yaml b/tests/examples/mid_vnfd.yaml new file mode 100644 index 0000000..f1ddf8c --- /dev/null +++ b/tests/examples/mid_vnfd.yaml @@ -0,0 +1,79 @@ +# Copyright ETSI Contributors and Others +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +vnfd: + description: SFC Middle VNF descriptor + df: + - id: default-df + instantiation-level: + - id: default-instantiation-level + vdu-level: + - number-of-instances: 1 + vdu-id: mid_vnf-VM + vdu-profile: + - id: mid_vnf-VM + min-number-of-instances: 1 + ext-cpd: + - id: eth0-ext + int-cpd: + cpd: eth0-int + vdu-id: mid_vnf-VM + id: mid_vnf + mgmt-cp: eth0-ext + product-name: mid_vnf + provider: OSM + sw-image-desc: + - id: bionic + image: bionic + name: bionic + - id: ubuntu20.04-aws + name: ubuntu20.04-aws + image: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509 + vim-type: aws + - id: ubuntu20.04-azure + name: ubuntu20.04-azure + image: Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest + vim-type: azure + vdu: + - id: mid_vnf-VM + cloud-init-file: cloud-config + description: mid_vnf-VM + int-cpd: + - id: eth0-int + virtual-network-interface-requirement: + - name: eth0 + virtual-interface: + bandwidth: 0 + type: VIRTIO + vpci: 0000:00:0a.0 + name: mid_vnf-VM + sw-image-desc: bionic + alternative-sw-image-desc: + - ubuntu20.04-aws + - ubuntu20.04-azure + virtual-compute-desc: mid_vnf-VM-compute + virtual-storage-desc: + - mid_vnf-VM-storage + version: '1.0' + software-version: 1.2 + virtual-compute-desc: + - id: mid_vnf-VM-compute + virtual-cpu: + num-virtual-cpu: 1 + virtual-memory: + size: 2 + virtual-storage-desc: + - id: mid_vnf-VM-storage + size-of-storage: 10 diff --git a/tests/examples/sfc_nsd.yaml b/tests/examples/sfc_nsd.yaml new file mode 100644 index 0000000..746d87f --- /dev/null +++ b/tests/examples/sfc_nsd.yaml @@ -0,0 +1,86 @@ +# Copyright ETSI Contributors and Others +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +nsd: + nsd: + - description: sfc_nsd Network Service + designer: TATA ELXSI + df: + - id: default-df + vnf-profile: + - id: vnf1 + vnfd-id: src_vnf + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: vnf1 + constituent-cpd-id: eth0-ext + ip-address: 20.20.20.10 + virtual-link-profile-id: private + - id: vnf2 + vnfd-id: mid_vnf + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: vnf2 + constituent-cpd-id: eth0-ext + ip-address: 20.20.20.20 + virtual-link-profile-id: private + - id: vnf3 + vnfd-id: dest_vnf + virtual-link-connectivity: + - constituent-cpd-id: + - constituent-base-element-id: vnf3 + constituent-cpd-id: eth0-ext + ip-address: 20.20.20.30 + virtual-link-profile-id: private + vnffgd: + - id: vnffg1 + vnf-profile-id: + - vnf2 + nfp-position-element: + - id: test + nfpd: + - id: forwardingpath1 + position-desc-id: + - id: position1 + nfp-position-element-id: + - test + match-attributes: + - id: rule1_80 + ip-proto: 6 + source-ip-address: 20.20.20.10 + destination-ip-address: 20.20.20.30 + source-port: 0 + destination-port: 80 + constituent-base-element-id: vnf1 + constituent-cpd-id: eth0-ext + cp-profile-id: + - id: cpprofile2 + constituent-profile-elements: + - id: cp1 + order: 0 + constituent-base-element-id: vnf2 + ingress-constituent-cpd-id: eth0-ext + egress-constituent-cpd-id: eth0-ext + id: sfc_nsd + name: sfc_nsd + version: '1.0' + virtual-link-desc: + - id: private + mgmt-network: 'true' + vim-network-name: private + vnfd-id: + - src_vnf + - mid_vnf + - dest_vnf diff --git a/tests/examples/src_vnfd.yaml b/tests/examples/src_vnfd.yaml new file mode 100644 index 0000000..33ca97a --- /dev/null +++ b/tests/examples/src_vnfd.yaml @@ -0,0 +1,80 @@ +# Copyright ETSI Contributors and Others +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +vnfd: + description: Source vnf descriptor + df: + - id: default-df + instantiation-level: + - id: default-instantiation-level + vdu-level: + - number-of-instances: 1 + vdu-id: src_vnf-VM + vdu-profile: + - id: src_vnf-VM + min-number-of-instances: 1 + ext-cpd: + - id: eth0-ext + int-cpd: + cpd: eth0-int + vdu-id: src_vnf-VM + id: src_vnf + mgmt-cp: eth0-ext + product-name: src_vnf + provider: OSM + sw-image-desc: + - id: bionic + image: bionic + name: bionic + - id: ubuntu20.04-aws + name: ubuntu20.04-aws + image: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509 + vim-type: aws + - id: ubuntu20.04-azure + name: ubuntu20.04-azure + image: Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest + vim-type: azure + vdu: + - id: src_vnf-VM + cloud-init-file: cloud-config + description: src_vnf-VM + id: src_vnf-VM + int-cpd: + - id: eth0-int + virtual-network-interface-requirement: + - name: eth0 + virtual-interface: + bandwidth: 0 + type: VIRTIO + vpci: 0000:00:0a.0 + name: src_vnf_vnfd-VM + sw-image-desc: bionic + alternative-sw-image-desc: + - ubuntu20.04-aws + - ubuntu20.04-azure + virtual-compute-desc: src_vnf-VM-compute + virtual-storage-desc: + - src_vnf-VM-storage + version: '1.0' + software-version: 1.2 + virtual-compute-desc: + - id: src_vnf-VM-compute + virtual-cpu: + num-virtual-cpu: 1 + virtual-memory: + size: 2 + virtual-storage-desc: + - id: src_vnf-VM-storage + size-of-storage: 10 -- 2.17.1 From 90ffed24477703d8b77f8805c567cdaba0798ea6 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Thu, 14 Mar 2024 19:50:59 +0100 Subject: [PATCH 16/16] Update openjdk version to 19 and yang2swagger version to 2.1.0 Change-Id: I16dc02009cc61f8452f3a0787b288d9c140c4ea8 Signed-off-by: garciadeblas --- Dockerfile | 8 +++----- Makefile | 16 ++++++---------- requirements-dist.in | 3 ++- requirements-dist.txt | 4 ++++ 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9623f7f..01475b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,10 +41,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ python3-pip \ tox -ENV LC_ALL C.UTF-8 -ENV LANG C.UTF-8 - RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -y install wget build-essential dh-make \ - openjdk-8-jdk maven -RUN update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64 + openjdk-19-jdk maven +RUN update-java-alternatives --jre-headless --set /usr/lib/jvm/java-1.19.0-openjdk-amd64 + diff --git a/Makefile b/Makefile index 90cd86a..683a624 100644 --- a/Makefile +++ b/Makefile @@ -16,8 +16,8 @@ # NOTE: pyang and pyangbind are required for build -.PHONY: all clean package trees deps yang-ietf openapi_schemas yang2swagger -JAVA := /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java +.PHONY: all clean package trees yang-ietf openapi_schemas yang2swagger +JAVA := /usr/lib/jvm/java-19-openjdk-amd64/bin/java PYANG := pyang ifeq ($(OS),Windows_NT) # is Windows_NT on XP, 2000, 7, Vista, 10... PYTHON_INTERPRETER := python @@ -94,7 +94,7 @@ $(TREES_DIR): osm.yaml: yang-ietf yang2swagger $(Q)echo generating $@ - $(Q)$(JAVA) -jar ${HOME}/.m2/repository/com/mrv/yangtools/swagger-generator-cli/1.1.14/swagger-generator-cli-1.1.14-executable.jar -yang-dir $(MODEL_DIR) -output $(OUT_DIR)/$@ + $(Q)$(JAVA) -jar ${HOME}/.m2/repository/com/mrv/yangtools/swagger-generator-cli/2.1.0/swagger-generator-cli-2.1.0-executable.jar -yang-dir $(MODEL_DIR) -output $(OUT_DIR)/$@ yang-ietf: $(Q)wget -q https://raw.githubusercontent.com/YangModels/yang/master/standard/ietf/RFC/ietf-yang-types%402013-07-15.yang -O $(MODEL_DIR)/ietf-yang-types.yang @@ -105,17 +105,13 @@ yang-ietf: yang2swagger: $(Q)mkdir -p ${HOME}/.m2 $(Q)wget -q -O ${HOME}/.m2/settings.xml https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml - git clone https://github.com/bartoszm/yang2swagger.git - git -C yang2swagger checkout tags/1.1.14 - mvn -f yang2swagger/pom.xml clean install + $(Q)git clone https://github.com/bartoszm/yang2swagger.git + $(Q)git -C yang2swagger checkout tags/2.1.0 + $(Q)mvn -f yang2swagger/pom.xml clean install package: ./build-docs.sh -deps: - $(Q)mkdir -p ${HOME}/.m2 - $(Q)cp -n ${HOME}/.m2/settings.xml ${HOME}/.m2/settings.xml.orig ; wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ${HOME}/.m2/settings.xml - sol006_deps: $(Q)git clone --single-branch --branch v2.6.1 https://forge.etsi.org/rep/nfv/SOL006.git sol006_model $(Q)patch -p2 < patch/deref_warnings.patch diff --git a/requirements-dist.in b/requirements-dist.in index 4f8784f..28d0ce1 100644 --- a/requirements-dist.in +++ b/requirements-dist.in @@ -15,4 +15,5 @@ stdeb setuptools-version-command -setuptools<60 \ No newline at end of file +setuptools<60 +pyang diff --git a/requirements-dist.txt b/requirements-dist.txt index 8192b48..05bfb57 100644 --- a/requirements-dist.txt +++ b/requirements-dist.txt @@ -14,6 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### +lxml==4.9.3 + # via pyang +pyang==2.5.3 + # via -r requirements-dist.in setuptools-version-command==99.9 # via -r requirements-dist.in stdeb==0.10.0 -- 2.17.1