docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: freeze> python -m pip freeze --all 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 docs: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: pip==24.1,setuptools==70.1.0,wheel==0.43.0 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 2.9 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.3.8,filelock==3.15.4,identify==2.6.0,nodeenv==1.9.1,pip==24.1,platformdirs==4.2.2,pre-commit==3.8.0,PyYAML==6.0.2,setuptools==70.1.0,virtualenv==20.26.3,wheel==0.43.0 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 [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [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. [INFO] Initializing environment for https://github.com/pre-commit/mirrors-autopep8. [INFO] Initializing environment for https://github.com/perltidy/perltidy. buildcontroller: freeze> python -m pip freeze --all buildcontroller: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.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.12.0-openjdk-amd64 1211 /usr/lib/jvm/java-1.12.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 java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64 [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... 21 21 ok, java is 21 or newer Apache Maven 3.9.8 (36645f6c9b5079805ea5009217e36f2cffd34256) Maven home: /opt/maven Java version: 21.0.4, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.4.0-190-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... [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: freeze> python -m pip freeze --all docs: alabaster==0.7.16,attrs==24.2.0,babel==2.16.0,blockdiag==3.0.0,certifi==2024.8.30,charset-normalizer==3.3.2,contourpy==1.3.0,cycler==0.12.1,docutils==0.20.1,fonttools==4.53.1,funcparserlib==2.0.0a0,future==1.0.0,idna==3.8,imagesize==1.4.1,Jinja2==3.1.4,jsonschema==3.2.0,kiwisolver==1.4.5,lfdocs-conf==0.9.0,MarkupSafe==2.1.5,matplotlib==3.9.2,numpy==2.1.0,nwdiag==3.0.0,packaging==24.1,pillow==10.4.0,pip==24.1,Pygments==2.18.0,pyparsing==3.1.4,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,requests==2.32.3,requests-file==1.5.1,seqdiag==3.0.0,setuptools==70.1.0,six==1.16.0,snowballstemmer==2.2.0,Sphinx==7.4.7,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==2.0.0,sphinx-tabs==3.4.5,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.2.2,webcolors==24.8.0,wheel==0.43.0 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 docs-linkcheck: freeze> python -m pip freeze --all trim trailing whitespace.................................................Passed Tabs remover.............................................................Passed autopep8.................................................................docs-linkcheck: alabaster==0.7.16,attrs==24.2.0,babel==2.16.0,blockdiag==3.0.0,certifi==2024.8.30,charset-normalizer==3.3.2,contourpy==1.3.0,cycler==0.12.1,docutils==0.20.1,fonttools==4.53.1,funcparserlib==2.0.0a0,future==1.0.0,idna==3.8,imagesize==1.4.1,Jinja2==3.1.4,jsonschema==3.2.0,kiwisolver==1.4.5,lfdocs-conf==0.9.0,MarkupSafe==2.1.5,matplotlib==3.9.2,numpy==2.1.0,nwdiag==3.0.0,packaging==24.1,pillow==10.4.0,pip==24.1,Pygments==2.18.0,pyparsing==3.1.4,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,requests==2.32.3,requests-file==1.5.1,seqdiag==3.0.0,setuptools==70.1.0,six==1.16.0,snowballstemmer==2.2.0,Sphinx==7.4.7,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==2.0.0,sphinx-tabs==3.4.5,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.2.2,webcolors==24.8.0,wheel==0.43.0 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: OK ✔ in 34.78 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' Passed perltidy.................................................................Passed docs-linkcheck: OK ✔ in 38 seconds pre-commit: commands[3] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run gitlint-ci --hook-stage manual [INFO] Installing environment for https://github.com/jorisroovers/gitlint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... pylint: freeze> python -m pip freeze --all pylint: astroid==3.2.4,dill==0.3.8,isort==5.13.2,mccabe==0.7.0,pip==24.1,platformdirs==4.2.2,pylint==3.2.6,setuptools==70.1.0,tomlkit==0.13.2,wheel==0.43.0 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}$' '{}' + gitlint..................................................................Passed ------------------------------------ Your code has been rated at 10.00/10 pre-commit: OK ✔ in 43.23 seconds pylint: OK ✔ in 27.34 seconds buildcontroller: OK ✔ in 2 minutes 10.41 seconds sims121: 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 sims221: 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: 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: 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 sims221: freeze> python -m pip freeze --all sims121: freeze> python -m pip freeze --all sims221: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.0 sims221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_sims.sh 2.2.1 Using lighynode version 19.1.0.5 sims121: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.0 sims121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_sims.sh 1.2.1 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory Using lighynode version 19.1.0.5 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory sims121: OK ✔ in 12.98 seconds 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 sims221: OK ✔ in 15.45 seconds build_karaf_tests121: freeze> python -m pip freeze --all sims71: 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: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.0 build_karaf_tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build_karaf_tests221: freeze> python -m pip freeze --all sims71: freeze> python -m pip freeze --all build_karaf_tests221: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.0 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh sims71: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.0 sims71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_sims.sh 7.1 Using lighynode version 19.1.0.5 Removing ./lightynode/lightynode-openroadm-device directory Installing lightynode device to ./lightynode/lightynode-openroadm-device directory sims71: OK ✔ in 14.08 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.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.0 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build_karaf_tests121: OK ✔ in 1 minute 6.18 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 build_karaf_tests221: OK ✔ in 1 minute 4.34 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 build_karaf_tests_hybrid: freeze> python -m pip freeze --all build_karaf_tests_hybrid: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.0 build_karaf_tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh tests_tapi: freeze> python -m pip freeze --all testsPCE: freeze> python -m pip freeze --all tests_tapi: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.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 testsPCE: bcrypt==4.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,click==8.1.7,contourpy==1.3.0,cryptography==3.3.2,cycler==0.12.1,dict2xml==1.7.6,Flask==2.1.3,Flask-Injector==0.14.0,fonttools==4.53.1,gnpy4tpce==2.4.7,idna==3.8,iniconfig==2.0.0,injector==0.22.0,itsdangerous==2.2.0,Jinja2==3.1.4,kiwisolver==1.4.5,lxml==5.3.0,MarkupSafe==2.1.5,matplotlib==3.9.2,netconf-client==3.1.1,networkx==2.8.8,numpy==1.26.4,packaging==24.1,pandas==1.5.3,paramiko==3.4.1,pbr==5.11.1,pillow==10.4.0,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pyparsing==3.1.4,pytest==8.3.2,python-dateutil==2.9.0.post0,pytz==2024.1,requests==2.32.3,scipy==1.14.1,setuptools==50.3.2,six==1.16.0,urllib3==2.2.2,Werkzeug==2.0.3,wheel==0.43.0,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 .................................. [100%] 20 passed in 122.13s (0:02:02) pytest -q transportpce_tests/pce/test02_pce_400G.py ........................... [100%] 9 passed in 39.76s pytest -q transportpce_tests/pce/test03_gnpy.py ............. [100%] 8 passed in 36.94s pytest -q transportpce_tests/pce/test04_pce_bug_fix.py ............. [100%] 50 passed in 227.98s (0:03:47) pytest -q transportpce_tests/tapi/test02_full_topology.py ... [100%] 3 passed in 35.64s build_karaf_tests71: OK ✔ in 1 minute 29.27 seconds build_karaf_tests_hybrid: OK ✔ in 1 minute 1.48 seconds testsPCE: OK ✔ in 5 minutes 35.36 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.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.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 .F.................F... [100%] 21 passed in 453.00s (0:07:33) pytest -q transportpce_tests/1.2.1/test02_topo_portmapping.py F...... [100%] 6 passed in 216.98s (0:03:36) pytest -q transportpce_tests/1.2.1/test03_topology.py FFFFFFFFFFFFFFFFFFFFFFF............F........F........................ [100%] 44 passed in 661.92s (0:11:01) pytest -q transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py F.......F.. [100%] =================================== FAILURES =================================== __________________ TransportPCEtesting.test_01_connect_spdrA ___________________ self = def test_01_connect_spdrA(self): print("Connecting SPDRA") response = test_utils.mount_device("SPDR-SA1", ('spdra', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:174: AssertionError ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! OpenDaylight started ! installing tapi feature... installing feature odl-transportpce-tapi client: JAVA_HOME not set; results may vary odl-transportpce-tapi │ 10.0.0.SNAPSHOT │ x │ Started │ odl-transportpce-tapi │ OpenDaylight :: transportpce :: tapi Restarting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! starting simulator spdra in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in spdra-221.log... Pattern found! simulator for spdra started starting simulator roadma in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadma-221.log... Pattern found! simulator for roadma started starting simulator roadmc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadmc-221.log... Pattern found! simulator for roadmc started starting simulator spdrc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in spdrc-221.log... Pattern found! simulator for spdrc started ---------------------------- Captured stderr setup ----------------------------- SLF4J(W): No SLF4J providers were found. SLF4J(W): Defaulting to no-operation (NOP) logger implementation SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details. SLF4J(W): Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier. SLF4J(W): Ignoring binding found at [jar:file:/w/workspace/transportpce-tox-verify-transportpce-master/karaf221/target/assembly/system/org/apache/karaf/org.apache.karaf.client/4.4.6/org.apache.karaf.client-4.4.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J(W): See https://www.slf4j.org/codes.html#ignoredBindings for an explanation. ----------------------------- Captured stdout call ----------------------------- Connecting SPDRA Searching for pattern 'Triggering notification stream NETCONF for node SPDR-SA1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SA1 still not added to tpce topology... __________________ TransportPCEtesting.test_02_connect_spdrC ___________________ self = def test_02_connect_spdrC(self): print("Connecting SPDRC") response = test_utils.mount_device("SPDR-SC1", ('spdrc', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:180: AssertionError ----------------------------- Captured stdout call ----------------------------- Connecting SPDRC Searching for pattern 'Triggering notification stream NETCONF for node SPDR-SC1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SC1 still not added to tpce topology... ___________________ TransportPCEtesting.test_03_connect_rdmA ___________________ self = def test_03_connect_rdmA(self): print("Connecting ROADMA") response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:186: AssertionError ----------------------------- Captured stdout call ----------------------------- Connecting ROADMA Searching for pattern 'Triggering notification stream NETCONF for node ROADM-A1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-A1 still not added to tpce topology... ___________________ TransportPCEtesting.test_04_connect_rdmC ___________________ self = def test_04_connect_rdmC(self): print("Connecting ROADMC") response = test_utils.mount_device("ROADM-C1", ('roadmc', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:192: AssertionError ----------------------------- Captured stdout call ----------------------------- Connecting ROADMC Searching for pattern 'Triggering notification stream NETCONF for node ROADM-C1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-C1 still not added to tpce topology... _________ TransportPCEtesting.test_05_connect_sprdA_1_N1_to_roadmA_PP1 _________ self = def test_05_connect_sprdA_1_N1_to_roadmA_PP1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_06_connect_roadmA_PP1_to_spdrA_1_N1 _________ self = def test_06_connect_roadmA_PP1_to_spdrA_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_07_connect_sprdC_1_N1_to_roadmC_PP1 _________ self = def test_07_connect_sprdC_1_N1_to_roadmC_PP1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'SPDR-SC1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:214: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_08_connect_roadmC_PP1_to_spdrC_1_N1 _________ self = def test_08_connect_roadmC_PP1_to_spdrC_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'SPDR-SC1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_09_add_omsAttributes_ROADMA_ROADMC __________ self = def test_09_add_omsAttributes_ROADMA_ROADMC(self): # Config ROADMA-ROADMC oms-attributes data = {"span": { "auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{ "SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}} response = test_utils.add_oms_attr_request( "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX", data) > self.assertEqual(response.status_code, requests.codes.created) E AssertionError: 401 != 201 transportpce_tests/tapi/test02_full_topology.py:245: AssertionError _________ TransportPCEtesting.test_10_add_omsAttributes_ROADMC_ROADMA __________ self = def test_10_add_omsAttributes_ROADMC_ROADMA(self): # Config ROADMC-ROADMA oms-attributes data = {"span": { "auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{ "SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}} response = test_utils.add_oms_attr_request( "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX", data) > self.assertEqual(response.status_code, requests.codes.created) E AssertionError: 401 != 201 transportpce_tests/tapi/test02_full_topology.py:261: AssertionError ________________ TransportPCEtesting.test_11_check_otn_topology ________________ self = def test_11_check_otn_topology(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/tapi/test02_full_topology.py:265: AssertionError _____________ TransportPCEtesting.test_12_check_openroadm_topology _____________ self = def test_12_check_openroadm_topology(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/tapi/test02_full_topology.py:271: AssertionError ____________ TransportPCEtesting.test_13_get_tapi_topology_details _____________ self = def test_13_get_tapi_topology_details(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test02_full_topology.py:278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '393f09a4-0a0b-3d82-a4f6-1fbbc14ca1a7'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_14_check_sip_details _________________ self = def test_14_check_sip_details(self): > response = test_utils.transportpce_api_rpc_request( 'tapi-common', 'get-service-interface-point-list', None) transportpce_tests/tapi/test02_full_topology.py:289: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-common', rpc = 'get-service-interface-point-list' payload = None def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-common:output' transportpce_tests/common/test_utils.py:694: KeyError ____ TransportPCEtesting.test_15_create_connectivity_service_PhotonicMedia _____ self = def test_15_create_connectivity_service_PhotonicMedia(self): self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sAOTS self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZOTS > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'create-connectivity-service' payload = {'connectivity-constraint': {'requested-capacity': {'total-size': {'unit': 'tapi-common:CAPACITY_UNIT_GBPS', 'value': ...'PHOTONIC_MEDIA', 'local-id': 'SPDR-SC1-XPDR1', ...}], 'layer-protocol-name': 'PHOTONIC_MEDIA', 'state': 'LOCKED', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError ____________ TransportPCEtesting.test_16_get_service_PhotonicMedia _____________ self = def test_16_get_service_PhotonicMedia(self): > response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.pm)) transportpce_tests/tapi/test02_full_topology.py:329: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'None' def get_ordm_serv_list_attr_request(attribute: str, value: str): url = {'rfc8040': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/{}/{}'} format_args = ('{}', attribute, value) response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:636: KeyError _________ TransportPCEtesting.test_17_create_connectivity_service_ODU __________ self = def test_17_create_connectivity_service_ODU(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][0]["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sAeODU self.cr_serv_input_data["end-point"][1]["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZeODU # self.cr_serv_input_data["connectivity-constraint"]["service-layer"] = "ODU" self.cr_serv_input_data["connectivity-constraint"]["service-level"] = self.uuid_services.pm > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'create-connectivity-service' payload = {'connectivity-constraint': {'requested-capacity': {'total-size': {'unit': 'tapi-common:CAPACITY_UNIT_GBPS', 'value': ...layer-protocol-name': 'ODU', 'local-id': 'SPDR-SC1-XPDR1', ...}], 'layer-protocol-name': 'ODU', 'state': 'LOCKED', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________________ TransportPCEtesting.test_18_get_service_ODU __________________ self = def test_18_get_service_ODU(self): > response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.odu)) transportpce_tests/tapi/test02_full_topology.py:378: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'None' def get_ordm_serv_list_attr_request(attribute: str, value: str): url = {'rfc8040': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/{}/{}'} format_args = ('{}', attribute, value) response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:636: KeyError _________ TransportPCEtesting.test_19_create_connectivity_service_DSR __________ self = def test_19_create_connectivity_service_DSR(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][0]["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sADSR self.cr_serv_input_data["end-point"][1]["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZDSR # self.cr_serv_input_data["connectivity-constraint"]["service-layer"] = "DSR" self.cr_serv_input_data["connectivity-constraint"]["requested-capacity"]["total-size"]["value"] = "10" self.cr_serv_input_data["connectivity-constraint"]["service-level"] = self.uuid_services.odu > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:398: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'create-connectivity-service' payload = {'connectivity-constraint': {'requested-capacity': {'total-size': {'unit': 'tapi-common:CAPACITY_UNIT_GBPS', 'value': ...layer-protocol-name': 'DSR', 'local-id': 'SPDR-SC1-XPDR1', ...}], 'layer-protocol-name': 'DSR', 'state': 'LOCKED', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________________ TransportPCEtesting.test_20_get_service_DSR __________________ self = def test_20_get_service_DSR(self): > response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.dsr)) transportpce_tests/tapi/test02_full_topology.py:431: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'None' def get_ordm_serv_list_attr_request(attribute: str, value: str): url = {'rfc8040': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/{}/{}'} format_args = ('{}', attribute, value) response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:636: KeyError __________ TransportPCEtesting.test_21_get_connectivity_service_list ___________ self = def test_21_get_connectivity_service_list(self): > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) transportpce_tests/tapi/test02_full_topology.py:440: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'get-connectivity-service-list' payload = None def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_22_delete_connectivity_service_DSR __________ self = def test_22_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) transportpce_tests/tapi/test02_full_topology.py:469: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'delete-connectivity-service' payload = {'uuid': 'None'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_23_delete_connectivity_service_ODU __________ self = def test_23_delete_connectivity_service_ODU(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.odu) > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:476: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'delete-connectivity-service' payload = {'uuid': 'None'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError ____ TransportPCEtesting.test_24_delete_connectivity_service_PhotonicMedia _____ self = def test_24_delete_connectivity_service_PhotonicMedia(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.pm) > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:483: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'delete-connectivity-service' payload = {'uuid': 'None'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_25_get_no_tapi_services _______________ self = def test_25_get_no_tapi_services(self): > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) transportpce_tests/tapi/test02_full_topology.py:489: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'get-connectivity-service-list' payload = None def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError ____________ TransportPCEtesting.test_26_get_no_openroadm_services _____________ self = def test_26_get_no_openroadm_services(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/tapi/test02_full_topology.py:499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def get_ordm_serv_list_request(): url = {'rfc8040': '{}/data/org-openroadm-service:service-list?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/'} response = get_request(url[RESTCONF_VERSION]) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:service-list', 'draft-bierman02': 'service-list'} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:620: KeyError _________________ TransportPCEtesting.test_27_disconnect_spdrA _________________ self = def test_27_disconnect_spdrA(self): response = test_utils.unmount_device("SPDR-SA1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:504: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ SPDR\-SA1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SA1 still not deleted from tpce topology... _________________ TransportPCEtesting.test_28_disconnect_spdrC _________________ self = def test_28_disconnect_spdrC(self): response = test_utils.unmount_device("SPDR-SC1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:508: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ SPDR\-SC1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SC1 still not deleted from tpce topology... ________________ TransportPCEtesting.test_29_disconnect_roadmA _________________ self = def test_29_disconnect_roadmA(self): response = test_utils.unmount_device("ROADM-A1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:512: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ ROADM\-A1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-A1 still not deleted from tpce topology... ________________ TransportPCEtesting.test_30_disconnect_roadmC _________________ self = def test_30_disconnect_roadmC(self): response = test_utils.unmount_device("ROADM-C1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:516: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ ROADM\-C1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-C1 still not deleted from tpce topology... --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_01_connect_spdrA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_02_connect_spdrC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_03_connect_rdmA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_04_connect_rdmC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_05_connect_sprdA_1_N1_to_roadmA_PP1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_06_connect_roadmA_PP1_to_spdrA_1_N1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_07_connect_sprdC_1_N1_to_roadmC_PP1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_08_connect_roadmC_PP1_to_spdrC_1_N1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_09_add_omsAttributes_ROADMA_ROADMC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_10_add_omsAttributes_ROADMC_ROADMA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_11_check_otn_topology FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_12_check_openroadm_topology FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_13_get_tapi_topology_details FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_14_check_sip_details FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_15_create_connectivity_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_16_get_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_17_create_connectivity_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_18_get_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_19_create_connectivity_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_20_get_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_21_get_connectivity_service_list FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_22_delete_connectivity_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_23_delete_connectivity_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_24_delete_connectivity_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_25_get_no_tapi_services FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_26_get_no_openroadm_services FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_27_disconnect_spdrA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_28_disconnect_spdrC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_29_disconnect_roadmA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_30_disconnect_roadmC 30 failed in 1571.29s (0:26:11) tests_tapi: exit 1 (1799.96 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi pid=31264 tests_tapi: FAIL ✖ in 30 minutes 21.82 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.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.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%] 24 passed in 255.76s (0:04:15) pytest -q transportpce_tests/1.2.1/test05_olm.py ............ [100%] 12 passed in 40.66s pytest -q transportpce_tests/7.1/test02_otn_renderer.py ................................................................................................... [100%] 62 passed in 167.09s (0:02:47) pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py ... [100%] 40 passed in 190.48s (0:03:10) pytest -q transportpce_tests/1.2.1/test06_end2end.py ................................................................................................ [100%] 48 passed in 321.44s (0:05:21) pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py ...................... [100%] 22 passed in 70.51s (0:01:10) tests71: OK ✔ in 10 minutes 6.71 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.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.1,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==70.1.0,urllib3==2.2.2,wheel==0.43.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 .................................... [100%] 35 passed in 68.90s (0:01:08) pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py ...... [100%] 6 passed in 40.33s pytest -q transportpce_tests/2.2.1/test03_topology.py ........ [100%] 54 passed in 538.77s (0:08:58) ......................................... [100%] 44 passed in 128.45s (0:02:08) pytest -q transportpce_tests/2.2.1/test04_otn_topology.py ............ [100%] 12 passed in 56.91s pytest -q transportpce_tests/2.2.1/test05_flex_grid.py ................ [100%] 16 passed in 111.71s (0:01:51) pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py ............................... [100%] 31 passed in 30.64s pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py .......................... [100%] 26 passed in 88.58s (0:01:28) pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py ...................... [100%] 22 passed in 95.28s (0:01:35) pytest -q transportpce_tests/2.2.1/test09_olm.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [100%] =================================== FAILURES =================================== ______________ TransportOlmTesting.test_01_xpdrA_device_connected ______________ self = def test_01_xpdrA_device_connected(self): response = test_utils.mount_device("XPDR-A1", ('xpdra', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/2.2.1/test09_olm.py:53: AssertionError ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! OpenDaylight started ! starting simulator xpdra in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in xpdra-221.log... Pattern found! simulator for xpdra started starting simulator roadma in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadma-221.log... Pattern found! simulator for roadma started starting simulator roadmc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadmc-221.log... Pattern found! simulator for roadmc started starting simulator xpdrc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in xpdrc-221.log... Pattern found! simulator for xpdrc started ----------------------------- Captured stdout call ----------------------------- execution of test_01_xpdrA_device_connected Searching for pattern 'Triggering notification stream NETCONF for node XPDR-A1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A1 still not added to tpce topology... ______________ TransportOlmTesting.test_02_xpdrC_device_connected ______________ self = def test_02_xpdrC_device_connected(self): response = test_utils.mount_device("XPDR-C1", ('xpdrc', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/2.2.1/test09_olm.py:57: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_02_xpdrC_device_connected Searching for pattern 'Triggering notification stream NETCONF for node XPDR-C1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-C1 still not added to tpce topology... ______________ TransportOlmTesting.test_03_rdmA_device_connected _______________ self = def test_03_rdmA_device_connected(self): response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/2.2.1/test09_olm.py:61: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_03_rdmA_device_connected Searching for pattern 'Triggering notification stream NETCONF for node ROADM-A1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-A1 still not added to tpce topology... ______________ TransportOlmTesting.test_04_rdmC_device_connected _______________ self = def test_04_rdmC_device_connected(self): response = test_utils.mount_device("ROADM-C1", ('roadmc', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/2.2.1/test09_olm.py:65: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_04_rdmC_device_connected Searching for pattern 'Triggering notification stream NETCONF for node ROADM-C1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-C1 still not added to tpce topology... _____________ TransportOlmTesting.test_05_connect_xpdrA_to_roadmA ______________ self = def test_05_connect_xpdrA_to_roadmA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/2.2.1/test09_olm.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_05_connect_xpdrA_to_roadmA _____________ TransportOlmTesting.test_06_connect_roadmA_to_xpdrA ______________ self = def test_06_connect_roadmA_to_xpdrA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/2.2.1/test09_olm.py:75: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_06_connect_roadmA_to_xpdrA _____________ TransportOlmTesting.test_07_connect_xpdrC_to_roadmC ______________ self = def test_07_connect_xpdrC_to_roadmC(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-C1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/2.2.1/test09_olm.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_07_connect_xpdrC_to_roadmC _____________ TransportOlmTesting.test_08_connect_roadmC_to_xpdrC ______________ self = def test_08_connect_roadmC_to_xpdrC(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-C1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/2.2.1/test09_olm.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_08_connect_roadmC_to_xpdrC ________________ TransportOlmTesting.test_09_create_OTS_ROADMA _________________ self = def test_09_create_OTS_ROADMA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'create-ots-oms', { 'node-id': 'ROADM-A1', 'logical-connection-point': 'DEG1-TTP-TXRX' }) transportpce_tests/2.2.1/test09_olm.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'create-ots-oms' payload = {'logical-connection-point': 'DEG1-TTP-TXRX', 'node-id': 'ROADM-A1'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_09_create_OTS_ROADMA ________________ TransportOlmTesting.test_10_create_OTS_ROADMC _________________ self = def test_10_create_OTS_ROADMC(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'create-ots-oms', { 'node-id': 'ROADM-C1', 'logical-connection-point': 'DEG2-TTP-TXRX' }) transportpce_tests/2.2.1/test09_olm.py:105: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'create-ots-oms' payload = {'logical-connection-point': 'DEG2-TTP-TXRX', 'node-id': 'ROADM-C1'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_10_create_OTS_ROADMC __________________ TransportOlmTesting.test_11_get_PM_ROADMA ___________________ self = def test_11_get_PM_ROADMA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'get-pm', { 'node-id': 'ROADM-A1', 'resource-type': 'interface', 'granularity': '15min', 'resource-identifier': { 'resource-name': 'OTS-DEG2-TTP-TXRX' } }) transportpce_tests/2.2.1/test09_olm.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'get-pm' payload = {'granularity': '15min', 'node-id': 'ROADM-A1', 'resource-identifier': {'resource-name': 'OTS-DEG2-TTP-TXRX'}, 'resource-type': 'interface'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_11_get_PM_ROADMA __________________ TransportOlmTesting.test_12_get_PM_ROADMC ___________________ self = def test_12_get_PM_ROADMC(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'get-pm', { 'node-id': 'ROADM-C1', 'resource-type': 'interface', 'granularity': '15min', 'resource-identifier': { 'resource-name': 'OTS-DEG1-TTP-TXRX' } }) transportpce_tests/2.2.1/test09_olm.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'get-pm' payload = {'granularity': '15min', 'node-id': 'ROADM-C1', 'resource-identifier': {'resource-name': 'OTS-DEG1-TTP-TXRX'}, 'resource-type': 'interface'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_12_get_PM_ROADMC ______ TransportOlmTesting.test_13_calculate_span_loss_base_ROADMA_ROADMC ______ self = def test_13_calculate_span_loss_base_ROADMA_ROADMC(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'calculate-spanloss-base', { 'src-type': 'link', 'link-id': 'ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX' }) transportpce_tests/2.2.1/test09_olm.py:161: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'calculate-spanloss-base' payload = {'link-id': 'ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX', 'src-type': 'link'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_13_calculate_span_loss_base_ROADMA_ROADMC ___________ TransportOlmTesting.test_14_calculate_span_loss_base_all ___________ self = def test_14_calculate_span_loss_base_all(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'calculate-spanloss-base', { 'src-type': 'all' }) transportpce_tests/2.2.1/test09_olm.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'calculate-spanloss-base' payload = {'src-type': 'all'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_14_calculate_span_loss_base_all ___________ TransportOlmTesting.test_15_get_OTS_DEG2_TTP_TXRX_ROADMA ___________ self = def test_15_get_OTS_DEG2_TTP_TXRX_ROADMA(self): > response = test_utils.check_node_attribute2_request( 'ROADM-A1', 'interface', 'OTS-DEG2-TTP-TXRX', 'org-openroadm-optical-transport-interfaces:ots') transportpce_tests/2.2.1/test09_olm.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'ROADM-A1', attribute = 'interface' attribute_value = 'OTS-DEG2-TTP-TXRX' attribute2 = 'org-openroadm-optical-transport-interfaces:ots' def check_node_attribute2_request(node: str, attribute: str, attribute_value: str, attribute2: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}/{}?content=config', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}/{}'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value, attribute2)) res = response.json() if attribute2 in res.keys(): response_attribute = res[attribute2] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:426: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_15_get_OTS_DEG2_TTP_TXRX_ROADMA ___________ TransportOlmTesting.test_16_get_OTS_DEG1_TTP_TXRX_ROADMC ___________ self = def test_16_get_OTS_DEG1_TTP_TXRX_ROADMC(self): > response = test_utils.check_node_attribute2_request( 'ROADM-C1', 'interface', 'OTS-DEG1-TTP-TXRX', 'org-openroadm-optical-transport-interfaces:ots') transportpce_tests/2.2.1/test09_olm.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'ROADM-C1', attribute = 'interface' attribute_value = 'OTS-DEG1-TTP-TXRX' attribute2 = 'org-openroadm-optical-transport-interfaces:ots' def check_node_attribute2_request(node: str, attribute: str, attribute_value: str, attribute2: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}/{}?content=config', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}/{}'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value, attribute2)) res = response.json() if attribute2 in res.keys(): response_attribute = res[attribute2] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:426: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_16_get_OTS_DEG1_TTP_TXRX_ROADMC _____________ TransportOlmTesting.test_17_servicePath_create_AToZ ______________ self = def test_17_servicePath_create_AToZ(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'test', 'wave-number': '1', 'modulation-format': 'dp-qpsk', 'operation': 'create', 'nodes': [{'node-id': 'XPDR-A1', 'dest-tp': 'XPDR1-NETWORK1', 'src-tp': 'XPDR1-CLIENT1'}, {'node-id': 'ROADM-A1', 'dest-tp': 'DEG2-TTP-TXRX', 'src-tp': 'SRG1-PP1-TXRX'}, {'node-id': 'ROADM-C1', 'dest-tp': 'SRG1-PP1-TXRX', 'src-tp': 'DEG1-TTP-TXRX'}, {'node-id': 'XPDR-C1', 'dest-tp': 'XPDR1-CLIENT1', 'src-tp': 'XPDR1-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 40, 'min-freq': 196.075, 'max-freq': 196.125, 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 }) transportpce_tests/2.2.1/test09_olm.py:210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'service-path' payload = {'center-freq': 196.1, 'higher-spectral-slot-number': 768, 'lower-spectral-slot-number': 761, 'max-freq': 196.125, ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_17_servicePath_create_AToZ _____________ TransportOlmTesting.test_18_servicePath_create_ZToA ______________ self = def test_18_servicePath_create_ZToA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'test', 'wave-number': '1', 'modulation-format': 'dp-qpsk', 'operation': 'create', 'nodes': [{'node-id': 'XPDR-C1', 'dest-tp': 'XPDR1-NETWORK1', 'src-tp': 'XPDR1-CLIENT1'}, {'node-id': 'ROADM-C1', 'dest-tp': 'DEG1-TTP-TXRX', 'src-tp': 'SRG1-PP1-TXRX'}, {'node-id': 'ROADM-A1', 'src-tp': 'DEG2-TTP-TXRX', 'dest-tp': 'SRG1-PP1-TXRX'}, {'node-id': 'XPDR-A1', 'src-tp': 'XPDR1-NETWORK1', 'dest-tp': 'XPDR1-CLIENT1'}], 'center-freq': 196.1, 'nmc-width': 40, 'min-freq': 196.075, 'max-freq': 196.125, 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 }) transportpce_tests/2.2.1/test09_olm.py:238: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'service-path' payload = {'center-freq': 196.1, 'higher-spectral-slot-number': 768, 'lower-spectral-slot-number': 761, 'max-freq': 196.125, ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_18_servicePath_create_ZToA _________ TransportOlmTesting.test_19_service_power_setup_XPDRA_XPDRC __________ self = def test_19_service_power_setup_XPDRA_XPDRC(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'service-power-setup', { 'service-name': 'test', 'wave-number': 1, 'nodes': [ { 'dest-tp': 'XPDR1-NETWORK1', 'src-tp': 'XPDR1-CLIENT1', 'node-id': 'XPDR-A1' }, { 'dest-tp': 'DEG2-TTP-TXRX', 'src-tp': 'SRG1-PP1-TXRX', 'node-id': 'ROADM-A1' }, { 'dest-tp': 'SRG1-PP1-TXRX', 'src-tp': 'DEG1-TTP-TXRX', 'node-id': 'ROADM-C1' }, { 'dest-tp': 'XPDR1-CLIENT1', 'src-tp': 'XPDR1-NETWORK1', 'node-id': 'XPDR-C1' } ], 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 }) transportpce_tests/2.2.1/test09_olm.py:266: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'service-power-setup' payload = {'higher-spectral-slot-number': 768, 'lower-spectral-slot-number': 761, 'nodes': [{'dest-tp': 'XPDR1-NETWORK1', 'node-...P-TXRX'}, {'dest-tp': 'XPDR1-CLIENT1', 'node-id': 'XPDR-C1', 'src-tp': 'XPDR1-NETWORK1'}], 'service-name': 'test', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_19_service_power_setup_XPDRA_XPDRC ________ TransportOlmTesting.test_20_get_interface_XPDRA_XPDR1_NETWORK1 ________ self = def test_20_get_interface_XPDRA_XPDR1_NETWORK1(self): > response = test_utils.check_node_attribute2_request( 'XPDR-A1', 'interface', 'XPDR1-NETWORK1-761:768', 'org-openroadm-optical-channel-interfaces:och') transportpce_tests/2.2.1/test09_olm.py:300: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A1', attribute = 'interface' attribute_value = 'XPDR1-NETWORK1-761:768' attribute2 = 'org-openroadm-optical-channel-interfaces:och' def check_node_attribute2_request(node: str, attribute: str, attribute_value: str, attribute2: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}/{}?content=config', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}/{}'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value, attribute2)) res = response.json() if attribute2 in res.keys(): response_attribute = res[attribute2] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:426: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_20_get_interface_XPDRA_XPDR1_NETWORK1 ____________ TransportOlmTesting.test_21_get_roadmconnection_ROADMA ____________ self = def test_21_get_roadmconnection_ROADMA(self): response = test_utils.check_node_attribute_request( 'ROADM-A1', 'roadm-connections', 'SRG1-PP1-TXRX-DEG2-TTP-TXRX-761:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test09_olm.py:309: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_21_get_roadmconnection_ROADMA Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=ROADM-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/roadm-connections=SRG1-PP1-TXRX-DEG2-TTP-TXRX-761:768 ____________ TransportOlmTesting.test_22_get_roadmconnection_ROADMC ____________ self = def test_22_get_roadmconnection_ROADMC(self): response = test_utils.check_node_attribute_request( 'ROADM-C1', 'roadm-connections', 'DEG1-TTP-TXRX-SRG1-PP1-TXRX-761:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test09_olm.py:316: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_22_get_roadmconnection_ROADMC Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=ROADM-C1/yang-ext:mount/org-openroadm-device:org-openroadm-device/roadm-connections=DEG1-TTP-TXRX-SRG1-PP1-TXRX-761:768 _________ TransportOlmTesting.test_23_service_power_setup_XPDRC_XPDRA __________ self = def test_23_service_power_setup_XPDRC_XPDRA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'service-power-setup', { 'service-name': 'test', 'wave-number': 1, 'nodes': [ { 'dest-tp': 'XPDR1-NETWORK1', 'src-tp': 'XPDR1-CLIENT1', 'node-id': 'XPDR-C1' }, { 'dest-tp': 'DEG1-TTP-TXRX', 'src-tp': 'SRG1-PP1-TXRX', 'node-id': 'ROADM-C1' }, { 'src-tp': 'DEG2-TTP-TXRX', 'dest-tp': 'SRG1-PP1-TXRX', 'node-id': 'ROADM-A1' }, { 'src-tp': 'XPDR1-NETWORK1', 'dest-tp': 'XPDR1-CLIENT1', 'node-id': 'XPDR-A1' } ], 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 }) transportpce_tests/2.2.1/test09_olm.py:320: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'service-power-setup' payload = {'higher-spectral-slot-number': 768, 'lower-spectral-slot-number': 761, 'nodes': [{'dest-tp': 'XPDR1-NETWORK1', 'node-...P-TXRX'}, {'dest-tp': 'XPDR1-CLIENT1', 'node-id': 'XPDR-A1', 'src-tp': 'XPDR1-NETWORK1'}], 'service-name': 'test', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_23_service_power_setup_XPDRC_XPDRA ________ TransportOlmTesting.test_24_get_interface_XPDRC_XPDR1_NETWORK1 ________ self = def test_24_get_interface_XPDRC_XPDR1_NETWORK1(self): > response = test_utils.check_node_attribute2_request( 'XPDR-C1', 'interface', 'XPDR1-NETWORK1-761:768', 'org-openroadm-optical-channel-interfaces:och') transportpce_tests/2.2.1/test09_olm.py:354: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-C1', attribute = 'interface' attribute_value = 'XPDR1-NETWORK1-761:768' attribute2 = 'org-openroadm-optical-channel-interfaces:och' def check_node_attribute2_request(node: str, attribute: str, attribute_value: str, attribute2: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}/{}?content=config', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}/{}'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value, attribute2)) res = response.json() if attribute2 in res.keys(): response_attribute = res[attribute2] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:426: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_24_get_interface_XPDRC_XPDR1_NETWORK1 ____________ TransportOlmTesting.test_25_get_roadmconnection_ROADMC ____________ self = def test_25_get_roadmconnection_ROADMC(self): response = test_utils.check_node_attribute_request( 'ROADM-C1', 'roadm-connections', 'SRG1-PP1-TXRX-DEG1-TTP-TXRX-761:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test09_olm.py:363: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_25_get_roadmconnection_ROADMC Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=ROADM-C1/yang-ext:mount/org-openroadm-device:org-openroadm-device/roadm-connections=SRG1-PP1-TXRX-DEG1-TTP-TXRX-761:768 ________ TransportOlmTesting.test_26_service_power_turndown_XPDRA_XPDRC ________ self = def test_26_service_power_turndown_XPDRA_XPDRC(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'service-power-turndown', { 'service-name': 'test', 'wave-number': 1, 'nodes': [ { 'dest-tp': 'XPDR1-NETWORK1', 'src-tp': 'XPDR1-CLIENT1', 'node-id': 'XPDR-A1' }, { 'dest-tp': 'DEG2-TTP-TXRX', 'src-tp': 'SRG1-PP1-TXRX', 'node-id': 'ROADM-A1' }, { 'dest-tp': 'SRG1-PP1-TXRX', 'src-tp': 'DEG1-TTP-TXRX', 'node-id': 'ROADM-C1' }, { 'dest-tp': 'XPDR1-CLIENT1', 'src-tp': 'XPDR1-NETWORK1', 'node-id': 'XPDR-C1' } ], 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 }) transportpce_tests/2.2.1/test09_olm.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'service-power-turndown' payload = {'higher-spectral-slot-number': 768, 'lower-spectral-slot-number': 761, 'nodes': [{'dest-tp': 'XPDR1-NETWORK1', 'node-...P-TXRX'}, {'dest-tp': 'XPDR1-CLIENT1', 'node-id': 'XPDR-C1', 'src-tp': 'XPDR1-NETWORK1'}], 'service-name': 'test', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_26_service_power_turndown_XPDRA_XPDRC ____________ TransportOlmTesting.test_27_get_roadmconnection_ROADMA ____________ self = def test_27_get_roadmconnection_ROADMA(self): response = test_utils.check_node_attribute_request( 'ROADM-A1', 'roadm-connections', 'SRG1-PP1-TXRX-DEG2-TTP-TXRX-761:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test09_olm.py:404: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_27_get_roadmconnection_ROADMA Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=ROADM-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/roadm-connections=SRG1-PP1-TXRX-DEG2-TTP-TXRX-761:768 ____________ TransportOlmTesting.test_28_get_roadmconnection_ROADMC ____________ self = def test_28_get_roadmconnection_ROADMC(self): response = test_utils.check_node_attribute_request( 'ROADM-C1', 'roadm-connections', 'DEG1-TTP-TXRX-SRG1-PP1-TXRX-761:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test09_olm.py:411: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_28_get_roadmconnection_ROADMC Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=ROADM-C1/yang-ext:mount/org-openroadm-device:org-openroadm-device/roadm-connections=DEG1-TTP-TXRX-SRG1-PP1-TXRX-761:768 _____________ TransportOlmTesting.test_29_servicePath_delete_AToZ ______________ self = def test_29_servicePath_delete_AToZ(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'test', 'wave-number': '1', 'modulation-format': 'dp-qpsk', 'operation': 'delete', 'nodes': [{'node-id': 'XPDR-A1', 'dest-tp': 'XPDR1-NETWORK1', 'src-tp': 'XPDR1-CLIENT1'}, {'node-id': 'ROADM-A1', 'dest-tp': 'DEG2-TTP-TXRX', 'src-tp': 'SRG1-PP1-TXRX'}, {'node-id': 'ROADM-C1', 'dest-tp': 'SRG1-PP1-TXRX', 'src-tp': 'DEG1-TTP-TXRX'}, {'node-id': 'XPDR-C1', 'dest-tp': 'XPDR1-CLIENT1', 'src-tp': 'XPDR1-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 40, 'min-freq': 196.075, 'max-freq': 196.125, 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 }) transportpce_tests/2.2.1/test09_olm.py:415: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'service-path' payload = {'center-freq': 196.1, 'higher-spectral-slot-number': 768, 'lower-spectral-slot-number': 761, 'max-freq': 196.125, ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_29_servicePath_delete_AToZ _____________ TransportOlmTesting.test_30_servicePath_delete_ZToA ______________ self = def test_30_servicePath_delete_ZToA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'test', 'wave-number': '1', 'modulation-format': 'dp-qpsk', 'operation': 'delete', 'nodes': [{'node-id': 'XPDR-C1', 'dest-tp': 'XPDR1-NETWORK1', 'src-tp': 'XPDR1-CLIENT1'}, {'node-id': 'ROADM-C1', 'dest-tp': 'DEG1-TTP-TXRX', 'src-tp': 'SRG1-PP1-TXRX'}, {'node-id': 'ROADM-A1', 'src-tp': 'DEG2-TTP-TXRX', 'dest-tp': 'SRG1-PP1-TXRX'}, {'node-id': 'XPDR-A1', 'src-tp': 'XPDR1-NETWORK1', 'dest-tp': 'XPDR1-CLIENT1'}], 'center-freq': 196.1, 'nmc-width': 40, 'min-freq': 196.075, 'max-freq': 196.125, 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 }) transportpce_tests/2.2.1/test09_olm.py:443: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'service-path' payload = {'center-freq': 196.1, 'higher-spectral-slot-number': 768, 'lower-spectral-slot-number': 761, 'max-freq': 196.125, ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_30_servicePath_delete_ZToA _____________ TransportOlmTesting.test_31_connect_xpdrA_to_roadmA ______________ self = def test_31_connect_xpdrA_to_roadmA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/2.2.1/test09_olm.py:473: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_31_connect_xpdrA_to_roadmA _____________ TransportOlmTesting.test_32_connect_roadmA_to_xpdrA ______________ self = def test_32_connect_roadmA_to_xpdrA(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/2.2.1/test09_olm.py:480: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_32_connect_roadmA_to_xpdrA _____________ TransportOlmTesting.test_33_servicePath_create_AToZ ______________ self = def test_33_servicePath_create_AToZ(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'test2', 'wave-number': '2', 'modulation-format': 'dp-qpsk', 'operation': 'create', 'nodes': [{'node-id': 'XPDR-A1', 'dest-tp': 'XPDR1-NETWORK2', 'src-tp': 'XPDR1-CLIENT2'}, {'node-id': 'ROADM-A1', 'dest-tp': 'DEG2-TTP-TXRX', 'src-tp': 'SRG1-PP2-TXRX'}], 'center-freq': 196.1, 'nmc-width': 40, 'min-freq': 196.075, 'max-freq': 196.125, 'lower-spectral-slot-number': 753, 'higher-spectral-slot-number': 760 }) transportpce_tests/2.2.1/test09_olm.py:487: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'service-path' payload = {'center-freq': 196.1, 'higher-spectral-slot-number': 760, 'lower-spectral-slot-number': 753, 'max-freq': 196.125, ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_33_servicePath_create_AToZ ________ TransportOlmTesting.test_34_get_interface_XPDRA_XPDR1_NETWORK2 ________ self = def test_34_get_interface_XPDRA_XPDR1_NETWORK2(self): > response = test_utils.check_node_attribute2_request( 'XPDR-A1', 'interface', 'XPDR1-NETWORK2-753:760', 'org-openroadm-optical-channel-interfaces:och') transportpce_tests/2.2.1/test09_olm.py:511: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A1', attribute = 'interface' attribute_value = 'XPDR1-NETWORK2-753:760' attribute2 = 'org-openroadm-optical-channel-interfaces:och' def check_node_attribute2_request(node: str, attribute: str, attribute_value: str, attribute2: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}/{}?content=config', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}/{}'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value, attribute2)) res = response.json() if attribute2 in res.keys(): response_attribute = res[attribute2] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:426: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_34_get_interface_XPDRA_XPDR1_NETWORK2 _____________ TransportOlmTesting.test_35_servicePath_delete_AToZ ______________ self = def test_35_servicePath_delete_AToZ(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'test2', 'wave-number': '2', 'modulation-format': 'dp-qpsk', 'operation': 'delete', 'nodes': [{'node-id': 'XPDR-A1', 'dest-tp': 'XPDR1-NETWORK2', 'src-tp': 'XPDR1-CLIENT2'}, {'node-id': 'ROADM-A1', 'dest-tp': 'DEG2-TTP-TXRX', 'src-tp': 'SRG1-PP2-TXRX'}], 'center-freq': 196.1, 'nmc-width': 40, 'min-freq': 196.075, 'max-freq': 196.125, 'lower-spectral-slot-number': 753, 'higher-spectral-slot-number': 760 }) transportpce_tests/2.2.1/test09_olm.py:518: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-device-renderer', rpc = 'service-path' payload = {'center-freq': 196.1, 'higher-spectral-slot-number': 760, 'lower-spectral-slot-number': 753, 'max-freq': 196.125, ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-device-renderer:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_35_servicePath_delete_AToZ ____________ TransportOlmTesting.test_36_xpdrA_device_disconnected _____________ self = def test_36_xpdrA_device_disconnected(self): response = test_utils.unmount_device("XPDR-A1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/2.2.1/test09_olm.py:543: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_36_xpdrA_device_disconnected Searching for pattern 'onDeviceDisConnected:\ XPDR\-A1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A1 still not deleted from tpce topology... ____________ TransportOlmTesting.test_37_xpdrC_device_disconnected _____________ self = def test_37_xpdrC_device_disconnected(self): response = test_utils.unmount_device("XPDR-C1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/2.2.1/test09_olm.py:547: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_37_xpdrC_device_disconnected Searching for pattern 'onDeviceDisConnected:\ XPDR\-C1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-C1 still not deleted from tpce topology... ___________ TransportOlmTesting.test_38_calculate_span_loss_current ____________ self = def test_38_calculate_span_loss_current(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'calculate-spanloss-current', None) transportpce_tests/2.2.1/test09_olm.py:550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-olm', rpc = 'calculate-spanloss-current' payload = None def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-olm:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_38_calculate_span_loss_current _____________ TransportOlmTesting.test_39_rdmA_device_disconnected _____________ self = def test_39_rdmA_device_disconnected(self): response = test_utils.unmount_device("ROADM-A1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/2.2.1/test09_olm.py:560: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_39_rdmA_device_disconnected Searching for pattern 'onDeviceDisConnected:\ ROADM\-A1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-A1 still not deleted from tpce topology... _____________ TransportOlmTesting.test_40_rdmC_device_disconnected _____________ self = def test_40_rdmC_device_disconnected(self): response = test_utils.unmount_device("ROADM-C1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/2.2.1/test09_olm.py:564: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_40_rdmC_device_disconnected Searching for pattern 'onDeviceDisConnected:\ ROADM\-C1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-C1 still not deleted from tpce topology... --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_01_xpdrA_device_connected FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_02_xpdrC_device_connected FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_03_rdmA_device_connected FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_04_rdmC_device_connected FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_05_connect_xpdrA_to_roadmA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_06_connect_roadmA_to_xpdrA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_07_connect_xpdrC_to_roadmC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_08_connect_roadmC_to_xpdrC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_09_create_OTS_ROADMA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_10_create_OTS_ROADMC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_11_get_PM_ROADMA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_12_get_PM_ROADMC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_13_calculate_span_loss_base_ROADMA_ROADMC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_14_calculate_span_loss_base_all FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_15_get_OTS_DEG2_TTP_TXRX_ROADMA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_16_get_OTS_DEG1_TTP_TXRX_ROADMC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_17_servicePath_create_AToZ FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_18_servicePath_create_ZToA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_19_service_power_setup_XPDRA_XPDRC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_20_get_interface_XPDRA_XPDR1_NETWORK1 FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_21_get_roadmconnection_ROADMA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_22_get_roadmconnection_ROADMC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_23_service_power_setup_XPDRC_XPDRA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_24_get_interface_XPDRC_XPDR1_NETWORK1 FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_25_get_roadmconnection_ROADMC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_26_service_power_turndown_XPDRA_XPDRC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_27_get_roadmconnection_ROADMA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_28_get_roadmconnection_ROADMC FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_29_servicePath_delete_AToZ FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_30_servicePath_delete_ZToA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_31_connect_xpdrA_to_roadmA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_32_connect_roadmA_to_xpdrA FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_33_servicePath_create_AToZ FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_34_get_interface_XPDRA_XPDR1_NETWORK2 FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_35_servicePath_delete_AToZ FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_36_xpdrA_device_disconnected FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_37_xpdrC_device_disconnected FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_38_calculate_span_loss_current FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_39_rdmA_device_disconnected FAILED transportpce_tests/2.2.1/test09_olm.py::TransportOlmTesting::test_40_rdmC_device_disconnected 40 failed in 1512.22s (0:25:12) tests121: OK ✔ in 38 minutes 46.72 seconds tests221: exit 1 (2135.06 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 pid=45845 tests221: FAIL ✖ in 35 minutes 41.28 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.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.2,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==72.1.0,urllib3==2.2.2,wheel==0.43.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 142.82s (0:02:22) pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py ........................................................................ [ 66%] ..................................... [100%] 109 passed in 424.87s (0:07:04) pytest -q transportpce_tests/hybrid/test03_autonomous_reroute.py ..................................................... [100%] 53 passed in 253.78s (0:04:13) tests_hybrid: OK ✔ in 13 minutes 47.99 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.2.0,certifi==2024.8.30,cffi==1.17.0,charset-normalizer==3.3.2,cryptography==43.0.0,dict2xml==1.7.6,idna==3.8,iniconfig==2.0.0,lxml==5.3.0,netconf-client==3.1.1,packaging==24.1,paramiko==3.4.1,pip==24.2,pluggy==1.5.0,psutil==6.0.0,pycparser==2.22,PyNaCl==1.5.0,pytest==8.3.2,requests==2.32.3,setuptools==72.1.0,urllib3==2.2.2,wheel==0.43.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh buildcontroller: OK (130.41=setup[9.02]+cmd[121.39] seconds) testsPCE: OK (335.36=setup[99.50]+cmd[235.86] seconds) sims121: OK (12.98=setup[8.30]+cmd[4.68] seconds) build_karaf_tests121: OK (66.18=setup[15.84]+cmd[50.33] seconds) tests121: OK (2326.72=setup[8.31]+cmd[2318.40] seconds) sims221: OK (15.45=setup[8.30]+cmd[7.15] seconds) build_karaf_tests221: OK (64.34=setup[13.27]+cmd[51.07] seconds) tests_tapi: FAIL code 1 (1821.82=setup[21.87]+cmd[1799.96] seconds) tests221: FAIL code 1 (2141.28=setup[6.22]+cmd[2135.06] seconds) sims71: OK (14.08=setup[11.07]+cmd[3.01] seconds) build_karaf_tests71: OK (89.27=setup[14.16]+cmd[75.11] seconds) tests71: OK (606.71=setup[6.09]+cmd[600.62] seconds) build_karaf_tests_hybrid: OK (61.48=setup[14.86]+cmd[46.62] seconds) tests_hybrid: OK (827.99=setup[5.83]+cmd[822.16] seconds) buildlighty: OK (28.18=setup[5.83]+cmd[22.34] seconds) docs: OK (34.78=setup[32.46]+cmd[2.32] seconds) docs-linkcheck: OK (38.00=setup[33.84]+cmd[4.16] seconds) checkbashisms: OK (2.90=setup[1.85]+cmd[0.02,0.09,0.94] seconds) pre-commit: OK (43.23=setup[3.63]+cmd[0.00,0.02,31.54,8.04] seconds) pylint: OK (27.34=setup[5.18]+cmd[22.16] seconds) evaluation failed :( (5633.80 seconds)