docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt checkbashisms: freeze> python -m pip freeze --all docs: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: pip==25.1.1,setuptools==80.3.1 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'command checkbashisms>/dev/null || sudo yum install -y devscripts-checkbashisms || sudo yum install -y devscripts-minimal || sudo yum install -y devscripts || sudo yum install -y https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/31/Everything/x86_64/os/Packages/d/devscripts-checkbashisms-2.19.6-2.fc31.x86_64.rpm || (echo "checkbashisms command not found - please install it (e.g. sudo apt-get install devscripts | yum install devscripts-minimal )" >&2 && exit 1)' checkbashisms: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + checkbashisms: OK ✔ in 3.19 seconds pre-commit: install_deps> python -I -m pip install pre-commit pre-commit: freeze> python -m pip freeze --all pre-commit: cfgv==3.4.0,distlib==0.4.0,filelock==3.18.0,identify==2.6.12,nodeenv==1.9.1,pip==25.1.1,platformdirs==4.3.8,pre_commit==4.2.0,PyYAML==6.0.2,setuptools==80.3.1,virtualenv==20.31.2 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh pre-commit: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'which cpan || sudo yum install -y perl-CPAN || (echo "cpan command not found - please install it (e.g. sudo apt-get install perl-modules | yum install perl-CPAN )" >&2 && exit 1)' /usr/bin/cpan pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure [WARNING] hook id `remove-tabs` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [WARNING] hook id `perltidy` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [WARNING] repo `https://github.com/pre-commit/pre-commit-hooks` uses deprecated stage names (commit, push) which will be removed in a future version. Hint: often `pre-commit autoupdate --repo https://github.com/pre-commit/pre-commit-hooks` will fix this. if it does not -- consider reporting an issue to that repo. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. buildcontroller: freeze> python -m pip freeze --all [INFO] Initializing environment for https://github.com/pre-commit/mirrors-autopep8. buildcontroller: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64 [INFO] Initializing environment for https://github.com/perltidy/perltidy. 21 21 ok, java is 21 or newer [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b) Maven home: /opt/maven Java version: 21.0.5, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-131-generic", arch: "amd64", family: "unix" [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/pre-commit/mirrors-autopep8. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs-linkcheck: freeze> python -m pip freeze --all docs-linkcheck: alabaster==1.0.0,attrs==25.3.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.7.14,charset-normalizer==3.4.2,contourpy==1.3.2,cycler==0.12.1,docutils==0.21.2,fonttools==4.59.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.10,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.8,lfdocs-conf==0.9.0,MarkupSafe==3.0.2,matplotlib==3.10.3,numpy==2.3.1,nwdiag==3.0.0,packaging==25.0,pillow==11.3.0,pip==25.1.1,Pygments==2.19.2,pyparsing==3.2.3,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,requests==2.32.4,requests-file==1.5.1,roman-numerals-py==3.1.0,seqdiag==3.0.0,setuptools==80.3.1,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.30,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.5.0,webcolors==24.11.1 docs-linkcheck: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/linkcheck docs: freeze> python -m pip freeze --all docs: alabaster==1.0.0,attrs==25.3.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.7.14,charset-normalizer==3.4.2,contourpy==1.3.2,cycler==0.12.1,docutils==0.21.2,fonttools==4.59.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.10,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.8,lfdocs-conf==0.9.0,MarkupSafe==3.0.2,matplotlib==3.10.3,numpy==2.3.1,nwdiag==3.0.0,packaging==25.0,pillow==11.3.0,pip==25.1.1,Pygments==2.19.2,pyparsing==3.2.3,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,requests==2.32.4,requests-file==1.5.1,roman-numerals-py==3.1.0,seqdiag==3.0.0,setuptools==80.3.1,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.30,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.5.0,webcolors==24.11.1 docs: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/html [INFO] Installing environment for https://github.com/perltidy/perltidy. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs: OK ✔ in 28.13 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' docs-linkcheck: OK ✔ in 29.16 seconds pylint: freeze> python -m pip freeze --all pylint: astroid==3.3.11,dill==0.4.0,isort==6.0.1,mccabe==0.7.0,pip==25.1.1,platformdirs==4.3.8,pylint==3.3.7,setuptools==80.3.1,tomlkit==0.13.3 pylint: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find transportpce_tests/ -name '*.py' -exec pylint --fail-under=10 --max-line-length=120 --disable=missing-docstring,import-error --disable=fixme --disable=duplicate-code '--module-rgx=([a-z0-9_]+$)|([0-9.]{1,30}$)' '--method-rgx=(([a-z_][a-zA-Z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-zA-Z][a-zA-Z0-9_]+__))$' '--variable-rgx=[a-zA-Z_][a-zA-Z0-9_]{1,30}$' '{}' + trim trailing whitespace.................................................Passed Tabs remover.............................................................Passed autopep8.................................................................Passed perltidy.................................................................Passed pre-commit: commands[3] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run gitlint-ci --hook-stage manual [WARNING] hook id `remove-tabs` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [WARNING] hook id `perltidy` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [INFO] Installing environment for https://github.com/jorisroovers/gitlint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... gitlint..................................................................Passed ************* Module 2.2.1.test04_otn_topology transportpce_tests/2.2.1/test04_otn_topology.py:187:22: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) transportpce_tests/2.2.1/test04_otn_topology.py:118:4: R0912: Too many branches (14/12) (too-many-branches) ------------------------------------ Your code has been rated at 10.00/10 pre-commit: OK ✔ in 48.71 seconds pylint: exit 1 (26.02 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> find transportpce_tests/ -name '*.py' -exec pylint --fail-under=10 --max-line-length=120 --disable=missing-docstring,import-error --disable=fixme --disable=duplicate-code '--module-rgx=([a-z0-9_]+$)|([0-9.]{1,30}$)' '--method-rgx=(([a-z_][a-zA-Z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-zA-Z][a-zA-Z0-9_]+__))$' '--variable-rgx=[a-zA-Z_][a-zA-Z0-9_]{1,30}$' '{}' + pid=3267 pylint: FAIL ✖ in 30.24 seconds buildcontroller: OK ✔ in 1 minute 44.85 seconds testsPCE: install_deps> python -I -m pip install gnpy4tpce==2.4.7 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt sims: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: freeze> python -m pip freeze --all sims: freeze> python -m pip freeze --all build_karaf_tests221: freeze> python -m pip freeze --all build_karaf_tests121: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 build_karaf_tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf121 with ./karaf121.env sims: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 sims: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_lightynode.sh Using lighynode version 20.1.0.5 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory build_karaf_tests221: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf221 with ./karaf221.env sims: OK ✔ in 10.27 seconds build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests71: freeze> python -m pip freeze --all build_karaf_tests71: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf71 with ./karaf71.env build_karaf_tests221: OK ✔ in 53.32 seconds build_karaf_tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: OK ✔ in 54.02 seconds build_karaf_tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt testsPCE: freeze> python -m pip freeze --all testsPCE: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,click==8.2.1,contourpy==1.3.2,cryptography==3.3.2,cycler==0.12.1,dict2xml==1.7.7,Flask==2.1.3,Flask-Injector==0.14.0,fonttools==4.59.0,gnpy4tpce==2.4.7,idna==3.10,iniconfig==2.1.0,injector==0.22.0,itsdangerous==2.2.0,Jinja2==3.1.6,kiwisolver==1.4.8,lxml==6.0.0,MarkupSafe==3.0.2,matplotlib==3.10.3,netconf-client==3.3.0,networkx==2.8.8,numpy==1.26.4,packaging==25.0,pandas==1.5.3,paramiko==3.5.1,pbr==5.11.1,pillow==11.3.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pyparsing==3.2.3,pytest==8.4.1,python-dateutil==2.9.0.post0,pytz==2025.2,requests==2.32.4,scipy==1.16.0,setuptools==50.3.2,six==1.17.0,urllib3==2.5.0,Werkzeug==2.0.3,xlrd==1.2.0 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pytest -q transportpce_tests/pce/test01_pce.py build_karaf_tests190: freeze> python -m pip freeze --all build_karaf_tests190: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 build_karaf_tests190: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karafoc with ./karafoc.env build_karaf_tests_hybrid: freeze> python -m pip freeze --all build_karaf_tests_hybrid: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 build_karaf_tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf_hybrid with ./karaf121.env build_karaf_tests71: OK ✔ in 53.18 seconds build_karaf_tests190: OK ✔ in 49.52 seconds tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt .......build_karaf_tests_hybrid: OK ✔ in 49.56 seconds tests190: freeze> python -m pip freeze --all tests190: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 tests190: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc using environment variables from ./karafoc.env pytest -q transportpce_tests/oc/test01_portmapping.py ...................... [100%] 10 passed in 41.86s pytest -q transportpce_tests/oc/test02_topology.py . [100%] 20 passed in 121.27s (0:02:01) pytest -q transportpce_tests/pce/test02_pce_400G.py ...............F......... [100%] 12 passed in 55.69s pytest -q transportpce_tests/pce/test03_gnpy.py . [100%] =================================== FAILURES =================================== ____________ TestTransportPCETopology.test_07_getNodes_OtnTopology _____________ self = def test_07_getNodes_OtnTopology(self): # pylint: disable=redundant-unittest-assert response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) self.assertEqual(len(response['network'][0]['node']), 1) listNode = ['XPDR-OC-XPDR1'] CHECK_LIST = { 'XPDR-OC-XPDR1': { 'node-type': 'MUXPDR', 'xpdr-number': 1, 'network_nb': 1, 'nbl_nb': 4, 'tp-checklist': ['XPDR1-NETWORK1', 'XPDR1-CLIENT1'], 'tp-unchecklist': ['XPDR1-CLIENT2'] } } for node in response['network'][0]['node']: nodeId = node['node-id'] self.assertEqual(node['org-openroadm-common-network:node-type'], CHECK_LIST[nodeId]['node-type']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDR-OC'}, node['supporting-node']) self.assertIn({'network-ref': 'openroadm-topology', 'node-ref': nodeId}, node['supporting-node']) self.assertIn({'network-ref': 'clli-network', 'node-ref': '1'}, node['supporting-node']) self.assertEqual(node['org-openroadm-otn-network-topology:xpdr-attributes']['xpdr-number'], CHECK_LIST[nodeId]['xpdr-number']) client = 0 network = 0 for tp in node['ietf-network-topology:termination-point']: tpType = tp['org-openroadm-common-network:tp-type'] tpId = tp['tp-id'] if tpType == 'XPONDER-CLIENT': client += 1 elif tpType == 'XPONDER-NETWORK': network += 1 self.assertEqual((tp['org-openroadm-otn-network-topology:tp-supported-interfaces'] ['supported-interface-capability'][0]['if-cap-type']), 'org-openroadm-port-types:if-OTUCn-ODUCn') self.assertEqual((tp['supporting-termination-point'][0]['network-ref']), 'openroadm-topology') self.assertEqual((tp['supporting-termination-point'][0]['node-ref']), nodeId) self.assertEqual((tp['supporting-termination-point'][0]['tp-ref']), tpId) self.assertTrue(client == 4) self.assertTrue(network == CHECK_LIST[nodeId]['network_nb']) self.assertEqual( len(node['org-openroadm-otn-network-topology:switching-pools'] ['odu-switching-pools'][0]['non-blocking-list']), CHECK_LIST[nodeId]['nbl_nb']) # pylint: disable=line-too-long for nbl in node['org-openroadm-otn-network-topology:switching-pools']['odu-switching-pools'][0]['non-blocking-list']: if nbl['nbl-number'] == 1: > self.assertEqual(nbl['available-interconnect-bandwidth'], 10) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E KeyError: 'available-interconnect-bandwidth' transportpce_tests/oc/test02_topology.py:172: KeyError =========================== short test summary info ============================ FAILED transportpce_tests/oc/test02_topology.py::TestTransportPCETopology::test_07_getNodes_OtnTopology 1 failed, 13 passed in 65.21s (0:01:05) tests190: exit 1 (107.64 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc pid=5711 ........ [100%] 8 passed in 37.49s pytest -q transportpce_tests/pce/test04_pce_bug_fix.py ... [100%] 3 passed in 36.28s tests190: FAIL ✖ in 2 minutes 16.43 seconds testsPCE: OK ✔ in 5 minutes 10.71 seconds tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests_tapi: freeze> python -m pip freeze --all tests_tapi: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi using environment variables from ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py ................................................... [100%] 51 passed in 435.56s (0:07:15) pytest -q transportpce_tests/tapi/test02_full_topology.py .......................FFFF..F...... [100%] =================================== FAILURES =================================== _ TestTransportPCEFullTopology.test_23_get_tapi_node_details_at_DSR_Service_creation _ self = def test_23_get_tapi_node_details_at_DSR_Service_creation(self): response = test_utils.get_tapi_topology_node(test_utils.T0_FULL_MULTILAYER_TOPO_UUID, self.uuidSpdrSA1xpdr1, self.uuidOnepSpdrSA1xpdr1eODUC1, "nonconfig") time.sleep(2) self.assertEqual(response['onep'][0]['name'][0]['value'], 'SPDR-SA1-XPDR1+eODU+XPDR1-CLIENT1') self.assertEqual(response['onep'][0]['administrative-state'], 'UNLOCKED') self.assertEqual(response['onep'][0]['operational-state'], 'ENABLED') > self.assertEqual(response['onep'][0]['available-payload-structure'][0]['number-of-cep-instances'], '0') E AssertionError: '1' != '0' E - 1 E + 0 transportpce_tests/tapi/test02_full_topology.py:612: AssertionError _____________ TestTransportPCEFullTopology.test_24_get_service_DSR _____________ self = def test_24_get_service_DSR(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.dsr)) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test02_full_topology.py:642: AssertionError ______ TestTransportPCEFullTopology.test_25_get_connectivity_service_list ______ self = def test_25_get_connectivity_service_list(self): response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) self.assertEqual(response['status_code'], requests.codes.ok) liste_service = response['output']['service'] for ele in liste_service: if ele['uuid'] == self.uuid_services.pm: self.assertEqual(ele['operational-state'], 'ENABLED') # self.assertEqual(ele['service-layer'], 'PHOTONIC_MEDIA') self.assertEqual(ele['layer-protocol-name'], 'PHOTONIC_MEDIA') nbconnection = len(ele['connection']) self.assertEqual(nbconnection, 4, 'There should be 4 connections') elif ele['uuid'] == self.uuid_services.odu: self.assertEqual(ele['operational-state'], 'ENABLED') # self.assertEqual(ele['service-layer'], 'ODU') self.assertEqual(ele['layer-protocol-name'], 'ODU') nbconnection = len(ele['connection']) self.assertEqual(nbconnection, 1, 'There should be 1 connections') elif ele['uuid'] == self.uuid_services.dsr: > self.assertEqual(ele['operational-state'], 'ENABLED') E AssertionError: 'DISABLED' != 'ENABLED' E - DISABLED E + ENABLED transportpce_tests/tapi/test02_full_topology.py:668: AssertionError _____ TestTransportPCEFullTopology.test_26_delete_connectivity_service_DSR _____ self = def test_26_delete_connectivity_service_DSR(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.dsr) response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) > self.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) E AssertionError: 500 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:681: AssertionError __________ TestTransportPCEFullTopology.test_29_get_no_tapi_services ___________ self = def test_29_get_no_tapi_services(self): response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) > self.assertEqual(response['status_code'], requests.codes.internal_server_error) E AssertionError: 200 != 500 transportpce_tests/tapi/test02_full_topology.py:701: AssertionError =========================== short test summary info ============================ FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_23_get_tapi_node_details_at_DSR_Service_creation FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_24_get_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_25_get_connectivity_service_list FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_26_delete_connectivity_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_29_get_no_tapi_services 5 failed, 31 passed in 299.07s (0:04:59) tests_tapi: exit 1 (735.25 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi pid=9065 tests_tapi: FAIL ✖ in 12 minutes 22.8 seconds tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests71: freeze> python -m pip freeze --all tests71: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 using environment variables from ./karaf71.env pytest -q transportpce_tests/7.1/test01_portmapping.py ............ [100%] 12 passed in 43.39s pytest -q transportpce_tests/7.1/test02_otn_renderer.py .............................................................. [100%] 62 passed in 155.83s (0:02:35) pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py ................................................ [100%] 48 passed in 135.63s (0:02:15) pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py ...................... [100%] 22 passed in 72.78s (0:01:12) tests71: OK ✔ in 6 minutes 55.24 seconds tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests221: freeze> python -m pip freeze --all tests221: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 using environment variables from ./karaf221.env pytest -q transportpce_tests/2.2.1/test01_portmapping.py .................FFF............... [100%] =================================== FAILURES =================================== __________ TestTransportPCEPortmapping.test_18_spdr_switching_pool_1 ___________ self = def test_18_spdr_switching_pool_1(self): response = test_utils.get_portmapping_node_attr("SPDR-SA1", "switching-pool-lcp", "1") self.assertEqual(response['status_code'], requests.codes.ok) self.assertEqual("blocking", response['switching-pool-lcp'][0]['switching-pool-type']) self.assertEqual(4, len(response['switching-pool-lcp'][0]['non-blocking-list'])) expected = { 'nbl-number': 11, 'lcp-list': ['XPDR1-CLIENT1', 'XPDR1-NETWORK1'], 'interconnect-bandwidth-unit': 1000000000, 'interconnect-bandwidth': 0 } expected_sorted = test_utils.recursive_sort(expected) response_sorted = [ test_utils.recursive_sort(item) for item in response['switching-pool-lcp'][0]['non-blocking-list'] ] > self.assertIn(expected_sorted, response_sorted) E AssertionError: {'interconnect-bandwidth': 0, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR1-CLIENT1', 'XPDR1-NETWORK1'], 'nbl-number': 11} not found in [{'interconnect-bandwidth': 10, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR1-CLIENT1', 'XPDR1-NETWORK1'], 'nbl-number': 11}, {'interconnect-bandwidth': 10, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR1-CLIENT4', 'XPDR1-NETWORK1'], 'nbl-number': 14}, {'interconnect-bandwidth': 10, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR1-CLIENT2', 'XPDR1-NETWORK1'], 'nbl-number': 12}, {'interconnect-bandwidth': 10, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR1-CLIENT3', 'XPDR1-NETWORK1'], 'nbl-number': 13}] transportpce_tests/2.2.1/test01_portmapping.py:220: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_18_spdr_switching_pool_1 __________ TestTransportPCEPortmapping.test_19_spdr_switching_pool_2 ___________ self = def test_19_spdr_switching_pool_2(self): response = test_utils.get_portmapping_node_attr("SPDR-SA1", "switching-pool-lcp", "2") self.assertEqual(response['status_code'], requests.codes.ok) self.assertEqual("non-blocking", response['switching-pool-lcp'][0]['switching-pool-type']) self.assertEqual(1, len(response['switching-pool-lcp'][0]['non-blocking-list'])) expected_sorted_list = ['XPDR2-CLIENT1', 'XPDR2-CLIENT2', 'XPDR2-CLIENT3', 'XPDR2-CLIENT4', 'XPDR2-NETWORK1', 'XPDR2-NETWORK2', 'XPDR2-NETWORK3', 'XPDR2-NETWORK4'] expected_subset_response = { "nbl-number": 2, "interconnect-bandwidth-unit": 1000000000, "interconnect-bandwidth": 0} subset = {k: v for k, v in response['switching-pool-lcp'][0]['non-blocking-list'][0].items() if k in expected_subset_response} > self.assertDictEqual(subset, expected_subset_response) E AssertionError: {'nbl[23 chars]ect-bandwidth': 100, 'interconnect-bandwidth-unit': 1000000000} != {'nbl[23 chars]ect-bandwidth-unit': 1000000000, 'interconnect-bandwidth': 0} E - {'interconnect-bandwidth': 100, E ? -- E E + {'interconnect-bandwidth': 0, E 'interconnect-bandwidth-unit': 1000000000, E 'nbl-number': 2} transportpce_tests/2.2.1/test01_portmapping.py:237: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_19_spdr_switching_pool_2 __________ TestTransportPCEPortmapping.test_20_spdr_switching_pool_3 ___________ self = def test_20_spdr_switching_pool_3(self): response = test_utils.get_portmapping_node_attr("SPDR-SA1", "switching-pool-lcp", "3") self.assertEqual(response['status_code'], requests.codes.ok) self.assertEqual("blocking", response['switching-pool-lcp'][0]['switching-pool-type']) self.assertEqual(4, len(response['switching-pool-lcp'][0]['non-blocking-list'])) > self.assertIn( {'nbl-number': 83, 'interconnect-bandwidth': 0, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR3-CLIENT3', 'XPDR3-NETWORK1']}, response['switching-pool-lcp'][0]['non-blocking-list']) E AssertionError: {'nbl-number': 83, 'interconnect-bandwidth': 0, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR3-CLIENT3', 'XPDR3-NETWORK1']} not found in [{'nbl-number': 82, 'interconnect-bandwidth': 1, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR3-CLIENT2', 'XPDR3-NETWORK1']}, {'nbl-number': 83, 'interconnect-bandwidth': 1, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR3-CLIENT3', 'XPDR3-NETWORK1']}, {'nbl-number': 81, 'interconnect-bandwidth': 1, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR3-CLIENT1', 'XPDR3-NETWORK1']}, {'nbl-number': 84, 'interconnect-bandwidth': 1, 'interconnect-bandwidth-unit': 1000000000, 'lcp-list': ['XPDR3-CLIENT4', 'XPDR3-NETWORK1']}] transportpce_tests/2.2.1/test01_portmapping.py:248: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_20_spdr_switching_pool_3 =========================== short test summary info ============================ FAILED transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_18_spdr_switching_pool_1 FAILED transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_19_spdr_switching_pool_2 FAILED transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_20_spdr_switching_pool_3 3 failed, 32 passed in 75.40s (0:01:15) tests221: exit 1 (75.68 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 pid=16327 tests221: FAIL ✖ in 1 minute 21.95 seconds tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests121: freeze> python -m pip freeze --all tests121: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 1.2.1 using environment variables from ./karaf121.env pytest -q transportpce_tests/1.2.1/test01_portmapping.py ..................... [100%] 21 passed in 84.92s (0:01:24) pytest -q transportpce_tests/1.2.1/test02_topo_portmapping.py ...... [100%] 6 passed in 44.62s pytest -q transportpce_tests/1.2.1/test03_topology.py ............................................ [100%] 44 passed in 136.40s (0:02:16) pytest -q transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py ........................ [100%] 24 passed in 82.39s (0:01:22) pytest -q transportpce_tests/1.2.1/test05_olm.py ........................................ [100%] 40 passed in 360.94s (0:06:00) pytest -q transportpce_tests/1.2.1/test06_end2end.py ...................................................... [100%] 54 passed in 533.48s (0:08:53) tests121: OK ✔ in 20 minutes 50.76 seconds tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests_hybrid: freeze> python -m pip freeze --all tests_hybrid: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.3.1,urllib3==2.5.0 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid using environment variables from ./karaf121.env pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py ................................................... [100%] 51 passed in 151.81s (0:02:31) pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py ........................................................................ [ 66%] ..................................... [100%] 109 passed in 428.53s (0:07:08) pytest -q transportpce_tests/hybrid/test03_autonomous_reroute.py ..................................................... [100%] 53 passed in 258.20s (0:04:18) tests_hybrid: OK ✔ in 14 minutes 6.64 seconds buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt buildlighty: freeze> python -m pip freeze --all buildlighty: bcrypt==4.3.0,certifi==2025.7.14,cffi==1.17.1,charset-normalizer==3.4.2,cryptography==45.0.5,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,lxml==6.0.0,netconf-client==3.3.0,packaging==25.0,paramiko==3.5.1,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh buildcontroller: OK (104.85=setup[7.71]+cmd[97.14] seconds) testsPCE: OK (310.71=setup[58.65]+cmd[252.06] seconds) sims: OK (10.26=setup[7.39]+cmd[2.87] seconds) build_karaf_tests121: OK (54.02=setup[7.36]+cmd[46.66] seconds) tests121: OK (1250.76=setup[6.36]+cmd[1244.40] seconds) build_karaf_tests221: OK (53.32=setup[7.50]+cmd[45.82] seconds) tests_tapi: FAIL code 1 (742.80=setup[7.55]+cmd[735.25] seconds) tests221: FAIL code 1 (81.95=setup[6.27]+cmd[75.68] seconds) build_karaf_tests71: OK (53.18=setup[15.75]+cmd[37.43] seconds) tests71: OK (415.24=setup[6.48]+cmd[408.76] seconds) build_karaf_tests190: OK (49.52=setup[6.74]+cmd[42.77] seconds) tests190: FAIL code 1 (136.43=setup[28.78]+cmd[107.64] seconds) build_karaf_tests_hybrid: OK (49.56=setup[6.44]+cmd[43.12] seconds) tests_hybrid: OK (846.64=setup[7.23]+cmd[839.41] seconds) buildlighty: OK (24.80=setup[6.79]+cmd[18.02] seconds) docs: OK (28.13=setup[25.68]+cmd[2.45] seconds) docs-linkcheck: OK (29.16=setup[25.18]+cmd[3.98] seconds) checkbashisms: OK (3.19=setup[1.95]+cmd[0.02,0.06,1.16] seconds) pre-commit: OK (48.71=setup[2.73]+cmd[0.01,0.01,38.34,7.62] seconds) pylint: FAIL code 1 (30.24=setup[4.22]+cmd[26.02] seconds) evaluation failed :( (3777.84 seconds)