docs: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: freeze> python -m pip freeze --all docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/tests/test-requirements.txt checkbashisms: pip==24.1,setuptools==70.1.0,wheel==0.43.0 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-calcium/tests> ./fixCIcentOS8reposMirrors.sh checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-calcium/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-calcium/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + checkbashisms: OK ✔ in 2.54 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-calcium/tests> ./fixCIcentOS8reposMirrors.sh pre-commit: commands[1] /w/workspace/transportpce-tox-verify-calcium/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-calcium/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. buildcontroller: freeze> python -m pip freeze --all [INFO] Initializing environment for https://github.com/pre-commit/mirrors-autopep8. [INFO] Initializing environment for https://github.com/perltidy/perltidy. 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-calcium/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-linkcheck: freeze> python -m pip freeze --all 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-calcium/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-calcium/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-calcium/docs/_build/linkcheck 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-calcium/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-calcium/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-calcium/docs/_build/html trim trailing whitespace.................................................Passed Tabs remover.............................................................Passed autopep8.................................................................docs: OK ✔ in 33.57 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' Passed perltidy.................................................................Passed docs-linkcheck: OK ✔ in 34.61 seconds pre-commit: commands[3] /w/workspace/transportpce-tox-verify-calcium/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.7,setuptools==70.1.0,tomlkit==0.13.2,wheel==0.43.0 pylint: commands[0] /w/workspace/transportpce-tox-verify-calcium/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 42.98 seconds pylint: OK ✔ in 26.72 seconds buildcontroller: OK ✔ in 2 minutes 4.6 seconds sims121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/tests/test-requirements.txt sims221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/tests/test-requirements.txt build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/tests/test-requirements.txt sims121: freeze> python -m pip freeze --all build_karaf_tests121: freeze> python -m pip freeze --all sims221: freeze> python -m pip freeze --all 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-calcium/tests> ./install_sims.sh 1.2.1 Using lighynode version 19.1.0.5 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory 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-calcium/tests> ./build_karaf_for_tests.sh 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-calcium/tests> ./install_sims.sh 2.2.1 Using lighynode version 19.1.0.5 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory sims121: OK ✔ in 10.2 seconds build_karaf_tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/tests/test-requirements.txt sims221: OK ✔ in 10.75 seconds sims71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/tests/test-requirements.txt sims71: freeze> python -m pip freeze --all build_karaf_tests221: 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-calcium/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-calcium/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 10.25 seconds build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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-calcium/tests> ./build_karaf_for_tests.sh build_karaf_tests121: OK ✔ in 50.47 seconds build_karaf_tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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-calcium/tests> ./build_karaf_for_tests.sh build_karaf_tests221: OK ✔ in 54.61 seconds tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/tests/test-requirements.txt testsPCE: freeze> python -m pip freeze --all 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-calcium/tests> ./launch_tests.sh pce pytest -q transportpce_tests/pce/test01_pce.py tests_tapi: 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-calcium/tests> ./launch_tests.sh tapi using environment variables from ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py ........................ [100%] 20 passed in 116.45s (0:01:56) pytest -q transportpce_tests/pce/test02_pce_400G.py ......... [100%] 9 passed in 37.52s pytest -q transportpce_tests/pce/test03_gnpy.py ........ [100%] 8 passed in 36.58s pytest -q transportpce_tests/pce/test04_pce_bug_fix.py ... [100%] 3 passed in 35.47s build_karaf_tests71: OK ✔ in 1 minute 1.12 seconds build_karaf_tests_hybrid: OK ✔ in 59.93 seconds testsPCE: OK ✔ in 4 minutes 59.79 seconds tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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-calcium/tests> ./launch_tests.sh 1.2.1 using environment variables from ./karaf121.env pytest -q transportpce_tests/1.2.1/test01_portmapping.py .............................................. [100%] 50 passed in 388.67s (0:06:28) pytest -q transportpce_tests/tapi/test02_full_topology.py ............................................... [100%] 21 passed in 437.64s (0:07:17) pytest -q transportpce_tests/1.2.1/test02_topo_portmapping.py .... [100%] 30 passed in 441.85s (0:07:21) pytest -q transportpce_tests/tapi/test03_tapi_device_change_notifications.py ........ [100%] 6 passed in 217.06s (0:03:37) pytest -q transportpce_tests/1.2.1/test03_topology.py .................................................................... [100%] 70 passed in 263.31s (0:04:23) tests_tapi: OK ✔ in 18 minutes 23.96 seconds tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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-calcium/tests> ./launch_tests.sh 7.1 using environment variables from ./karaf71.env pytest -q transportpce_tests/7.1/test01_portmapping.py ........................ [100%] 12 passed in 40.31s pytest -q transportpce_tests/7.1/test02_otn_renderer.py .............................................................. [100%] 62 passed in 153.37s (0:02:33) pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py ........................................................ [100%] 48 passed in 129.89s (0:02:09) pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py ...................... [100%] 22 passed in 69.86s (0:01:09) tests71: OK ✔ in 6 minutes 40.01 seconds tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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-calcium/tests> ./launch_tests.sh 2.2.1 using environment variables from ./karaf221.env pytest -q transportpce_tests/2.2.1/test01_portmapping.py .............................................. [100%] 44 passed in 666.81s (0:11:06) pytest -q transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py ............. [100%] 35 passed in 68.93s (0:01:08) pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py ...... [100%] 6 passed in 45.69s pytest -q transportpce_tests/2.2.1/test03_topology.py ............................................ [100%] 44 passed in 128.31s (0:02:08) pytest -q transportpce_tests/2.2.1/test04_otn_topology.py ............................... [100%] 12 passed in 57.68s pytest -q transportpce_tests/2.2.1/test05_flex_grid.py ..... [100%] 24 passed in 259.06s (0:04:19) pytest -q transportpce_tests/1.2.1/test05_olm.py ...................................... [100%] 16 passed in 117.45s (0:01:57) pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py ...................................... [100%] 31 passed in 32.40s pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py .................................... [100%] 26 passed in 88.60s (0:01:28) pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py ..................... [100%] 40 passed in 360.26s (0:06:00) pytest -q transportpce_tests/1.2.1/test06_end2end.py ............................... [100%] 22 passed in 274.47s (0:04:34) pytest -q transportpce_tests/2.2.1/test09_olm.py ........................................................... [100%] 40 passed in 173.70s (0:02:53) pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py ...... [100%] 54 passed in 524.85s (0:08:44) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 74%] FFFFFFFFFFFFFFFFFFFFFFFFF [100%] =================================== FAILURES =================================== __________________ TransportPCEtesting.test_01_connect_spdrA ___________________ self = def test_01_connect_spdrA(self): 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/2.2.1/test11_otn_end2end.py:158: 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 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 stdout call ----------------------------- 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): 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/2.2.1/test11_otn_end2end.py:163: AssertionError ----------------------------- Captured stdout call ----------------------------- 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): 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/test11_otn_end2end.py:168: AssertionError ----------------------------- Captured stdout call ----------------------------- 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): 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/test11_otn_end2end.py:173: AssertionError ----------------------------- Captured stdout call ----------------------------- 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/2.2.1/test11_otn_end2end.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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/2.2.1/test11_otn_end2end.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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/2.2.1/test11_otn_end2end.py:191: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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/2.2.1/test11_otn_end2end.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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/2.2.1/test11_otn_end2end.py:218: 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/2.2.1/test11_otn_end2end.py:234: 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/2.2.1/test11_otn_end2end.py:239: AssertionError _____________ TransportPCEtesting.test_12_create_OCH_OTU4_service ______________ self = def test_12_create_OCH_OTU4_service(self): > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:244: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'infrastructure', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ______________ TransportPCEtesting.test_13_get_OCH_OTU4_service1 _______________ self = def test_13_get_OCH_OTU4_service1(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-OCH-OTU4") transportpce_tests/2.2.1/test11_otn_end2end.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service1-OCH-OTU4' 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_14_check_interface_och_spdra _____________ self = def test_14_check_interface_och_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-761:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:267: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-761:768 ____________ TransportPCEtesting.test_15_check_interface_OTU4_spdra ____________ self = def test_15_check_interface_OTU4_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-OTU') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:288: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-OTU ____________ TransportPCEtesting.test_16_check_interface_och_spdrc _____________ self = def test_16_check_interface_och_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR1-NETWORK1-761:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:311: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-761:768 ____________ TransportPCEtesting.test_17_check_interface_OTU4_spdrc ____________ self = def test_17_check_interface_OTU4_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR1-NETWORK1-OTU') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:332: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-OTU __________ TransportPCEtesting.test_18_check_no_interface_ODU4_spdra ___________ self = def test_18_check_no_interface_ODU4_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:355: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODU4 ____________ TransportPCEtesting.test_19_check_openroadm_topo_spdra ____________ self = def test_19_check_openroadm_topo_spdra(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'SPDR-SA1-XPDR1', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:359: AssertionError _________ TransportPCEtesting.test_20_check_openroadm_topo_ROADMA_SRG __________ self = def test_20_check_openroadm_topo_ROADMA_SRG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-SRG1', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:371: AssertionError _________ TransportPCEtesting.test_21_check_openroadm_topo_ROADMA_DEG __________ self = def test_21_check_openroadm_topo_ROADMA_DEG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-DEG2', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:388: AssertionError ____________ TransportPCEtesting.test_22_check_otn_topo_otu4_links _____________ self = def test_22_check_otn_topo_otu4_links(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/2.2.1/test11_otn_end2end.py:408: AssertionError _______________ TransportPCEtesting.test_23_create_ODU4_service ________________ self = def test_23_create_ODU4_service(self): self.cr_serv_input_data["service-name"] = "service1-ODU4" self.cr_serv_input_data["service-a-end"]["service-format"] = "ODU" del self.cr_serv_input_data["service-a-end"]["otu-service-rate"] self.cr_serv_input_data["service-a-end"]["odu-service-rate"] = "org-openroadm-otn-common-types:ODU4" self.cr_serv_input_data["service-z-end"]["service-format"] = "ODU" del self.cr_serv_input_data["service-z-end"]["otu-service-rate"] self.cr_serv_input_data["service-z-end"]["odu-service-rate"] = "org-openroadm-otn-common-types:ODU4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:435: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'infrastructure', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_24_get_ODU4_service1 _________________ self = def test_24_get_ODU4_service1(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-ODU4") transportpce_tests/2.2.1/test11_otn_end2end.py:442: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service1-ODU4' 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_25_check_interface_ODU4_spdra ____________ self = def test_25_check_interface_ODU4_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:457: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODU4 ____________ TransportPCEtesting.test_26_check_interface_ODU4_spdrc ____________ self = def test_26_check_interface_ODU4_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR1-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:488: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODU4 _______________ TransportPCEtesting.test_27_check_otn_topo_links _______________ self = def test_27_check_otn_topo_links(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/2.2.1/test11_otn_end2end.py:518: AssertionError ________________ TransportPCEtesting.test_28_check_otn_topo_tp _________________ self = def test_28_check_otn_topo_tp(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/2.2.1/test11_otn_end2end.py:546: AssertionError _______________ TransportPCEtesting.test_29_create_10GE_service ________________ self = def test_29_create_10GE_service(self): self.cr_serv_input_data["service-name"] = "service1-10GE" self.cr_serv_input_data["connection-type"] = "service" self.cr_serv_input_data["service-a-end"]["service-rate"] = "10" self.cr_serv_input_data["service-a-end"]["service-format"] = "Ethernet" del self.cr_serv_input_data["service-a-end"]["odu-service-rate"] self.cr_serv_input_data["service-a-end"]["ethernet-encoding"] = "10GBASE-R" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR1-CLIENT1" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR1-CLIENT1" self.cr_serv_input_data["service-z-end"]["service-rate"] = "10" self.cr_serv_input_data["service-z-end"]["service-format"] = "Ethernet" del self.cr_serv_input_data["service-z-end"]["odu-service-rate"] self.cr_serv_input_data["service-z-end"]["ethernet-encoding"] = "10GBASE-R" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR1-CLIENT1" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR1-CLIENT1" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:575: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'service', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_30_get_10GE_service1 _________________ self = def test_30_get_10GE_service1(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-10GE") transportpce_tests/2.2.1/test11_otn_end2end.py:582: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service1-10GE' 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_31_check_interface_10GE_CLIENT_spdra _________ self = def test_31_check_interface_10GE_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-CLIENT1-ETHERNET10G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:597: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ETHERNET10G ________ TransportPCEtesting.test_32_check_interface_ODU2E_CLIENT_spdra ________ self = def test_32_check_interface_ODU2E_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-CLIENT1-ODU2e:service1-10GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:613: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ODU2e:service1-10GE _______ TransportPCEtesting.test_33_check_interface_ODU2E_NETWORK_spdra ________ self = def test_33_check_interface_ODU2E_NETWORK_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-ODU2e:service1-10GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:637: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODU2e:service1-10GE ___________ TransportPCEtesting.test_34_check_ODU2E_connection_spdra ___________ self = def test_34_check_ODU2E_connection_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'odu-connection', 'XPDR1-CLIENT1-ODU2e-x-XPDR1-NETWORK1-ODU2e') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:665: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR1-CLIENT1-ODU2e-x-XPDR1-NETWORK1-ODU2e ________ TransportPCEtesting.test_35_check_interface_10GE_CLIENT_spdrc _________ self = def test_35_check_interface_10GE_CLIENT_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR1-CLIENT1-ETHERNET10G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:682: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ETHERNET10G ________ TransportPCEtesting.test_36_check_interface_ODU2E_CLIENT_spdrc ________ self = def test_36_check_interface_ODU2E_CLIENT_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR1-CLIENT1-ODU2e:service1-10GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:698: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ODU2e:service1-10GE _______ TransportPCEtesting.test_37_check_interface_ODU2E_NETWORK_spdrc ________ self = def test_37_check_interface_ODU2E_NETWORK_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR1-NETWORK1-ODU2e:service1-10GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:722: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODU2e:service1-10GE ___________ TransportPCEtesting.test_38_check_ODU2E_connection_spdrc ___________ self = def test_38_check_ODU2E_connection_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'odu-connection', 'XPDR1-CLIENT1-ODU2e-x-XPDR1-NETWORK1-ODU2e') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:754: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR1-CLIENT1-ODU2e-x-XPDR1-NETWORK1-ODU2e _______________ TransportPCEtesting.test_39_check_otn_topo_links _______________ self = def test_39_check_otn_topo_links(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/2.2.1/test11_otn_end2end.py:770: AssertionError ________________ TransportPCEtesting.test_40_check_otn_topo_tp _________________ self = def test_40_check_otn_topo_tp(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/2.2.1/test11_otn_end2end.py:783: AssertionError _______________ TransportPCEtesting.test_41_delete_10GE_service ________________ self = def test_41_delete_10GE_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service1-10GE" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:801: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba... 'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service1-10GE', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_42_check_service_list ________________ self = def test_42_check_service_list(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/2.2.1/test11_otn_end2end.py:808: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_43_check_no_ODU2e_connection_spdra __________ self = def test_43_check_no_ODU2e_connection_spdra(self): > response = test_utils.check_node_request("SPDR-SA1") transportpce_tests/2.2.1/test11_otn_end2end.py:813: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'SPDR-SA1' def check_node_request(node: 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)) res = response.json() return_key = {'rfc8040': 'org-openroadm-device:org-openroadm-device', 'draft-bierman02': 'org-openroadm-device'} 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:392: KeyError ______ TransportPCEtesting.test_44_check_no_interface_ODU2E_NETWORK_spdra ______ self = def test_44_check_no_interface_ODU2E_NETWORK_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-ODU2e-service1') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:820: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODU2e-service1 ______ TransportPCEtesting.test_45_check_no_interface_ODU2E_CLIENT_spdra _______ self = def test_45_check_no_interface_ODU2E_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-CLIENT1-ODU2e-service1') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:825: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ODU2e-service1 _______ TransportPCEtesting.test_46_check_no_interface_10GE_CLIENT_spdra _______ self = def test_46_check_no_interface_10GE_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-CLIENT1-ETHERNET10G') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:830: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ETHERNET10G _______________ TransportPCEtesting.test_47_check_otn_topo_links _______________ self = def test_47_check_otn_topo_links(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/2.2.1/test11_otn_end2end.py:834: AssertionError ________________ TransportPCEtesting.test_48_check_otn_topo_tp _________________ self = def test_48_check_otn_topo_tp(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/2.2.1/test11_otn_end2end.py:847: AssertionError _______________ TransportPCEtesting.test_49_delete_ODU4_service ________________ self = def test_49_delete_ODU4_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service1-ODU4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:860: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba... 'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service1-ODU4', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_50_check_service_list ________________ self = def test_50_check_service_list(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/2.2.1/test11_otn_end2end.py:867: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_51_check_no_interface_ODU4_spdra ___________ self = def test_51_check_no_interface_ODU4_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:874: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODU4 _______________ TransportPCEtesting.test_52_check_otn_topo_links _______________ self = def test_52_check_otn_topo_links(self): > self.test_22_check_otn_topo_otu4_links() transportpce_tests/2.2.1/test11_otn_end2end.py:877: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/2.2.1/test11_otn_end2end.py:408: in test_22_check_otn_topo_otu4_links self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 ________________ TransportPCEtesting.test_53_check_otn_topo_tp _________________ self = def test_53_check_otn_topo_tp(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/2.2.1/test11_otn_end2end.py:881: AssertionError _____________ TransportPCEtesting.test_54_delete_OCH_OTU4_service ______________ self = def test_54_delete_OCH_OTU4_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service1-OCH-OTU4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:894: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba...c-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service1-OCH-OTU4', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError __________________ TransportPCEtesting.test_55_get_no_service __________________ self = def test_55_get_no_service(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/2.2.1/test11_otn_end2end.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_56_check_no_interface_OTU4_spdra ___________ self = def test_56_check_no_interface_OTU4_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-OTU') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:907: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-OTU ___________ TransportPCEtesting.test_57_check_no_interface_OCH_spdra ___________ self = def test_57_check_no_interface_OCH_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR1-NETWORK1-1') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:912: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-1 _______________ TransportPCEtesting.test_58_getLinks_OtnTopology _______________ self = def test_58_getLinks_OtnTopology(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/2.2.1/test11_otn_end2end.py:916: AssertionError ____________ TransportPCEtesting.test_59_check_openroadm_topo_spdra ____________ self = def test_59_check_openroadm_topo_spdra(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'SPDR-SA1-XPDR1', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:921: AssertionError _________ TransportPCEtesting.test_60_check_openroadm_topo_ROADMA_SRG __________ self = def test_60_check_openroadm_topo_ROADMA_SRG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-SRG1', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:929: AssertionError _________ TransportPCEtesting.test_61_check_openroadm_topo_ROADMA_DEG __________ self = def test_61_check_openroadm_topo_ROADMA_DEG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-DEG2', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:945: AssertionError _________ TransportPCEtesting.test_62_connect_sprdA_3_N1_to_roadmA_PP2 _________ self = def test_62_connect_sprdA_3_N1_to_roadmA_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '3', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/2.2.1/test11_otn_end2end.py:965: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 _________ TransportPCEtesting.test_63_connect_roadmA_PP2_to_spdrA_3_N1 _________ self = def test_63_connect_roadmA_PP2_to_spdrA_3_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '3', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/2.2.1/test11_otn_end2end.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 _________ TransportPCEtesting.test_64_connect_sprdC_3_N1_to_roadmC_PP2 _________ self = def test_64_connect_sprdC_3_N1_to_roadmC_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'SPDR-SC1', 'xpdr-num': '3', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/2.2.1/test11_otn_end2end.py:979: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 _________ TransportPCEtesting.test_65_connect_roadmC_PP2_to_spdrC_3_N1 _________ self = def test_65_connect_roadmC_PP2_to_spdrC_3_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'SPDR-SC1', 'xpdr-num': '3', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/2.2.1/test11_otn_end2end.py:986: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 ____________ TransportPCEtesting.test_66_create_OCH_OTU4_service_2 _____________ self = def test_66_create_OCH_OTU4_service_2(self): # pylint: disable=line-too-long self.cr_serv_input_data["service-name"] = "service2-OCH-OTU4" self.cr_serv_input_data["connection-type"] = "infrastructure" self.cr_serv_input_data["service-a-end"]["service-rate"] = "100" self.cr_serv_input_data["service-a-end"]["service-format"] = "OTU" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-device-name"] = "SPDR-SA1-XPDR3" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-device-name"] = "SPDR-SA1-XPDR3" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" self.cr_serv_input_data["service-a-end"]["otu-service-rate"] = "org-openroadm-otn-common-types:OTU4" self.cr_serv_input_data["service-z-end"]["service-rate"] = "100" self.cr_serv_input_data["service-z-end"]["service-format"] = "OTU" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-device-name"] = "SPDR-SC1-XPDR3" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-device-name"] = "SPDR-SC1-XPDR3" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" self.cr_serv_input_data["service-z-end"]["otu-service-rate"] = "org-openroadm-otn-common-types:OTU4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:1010: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'infrastructure', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ______________ TransportPCEtesting.test_67_get_OCH_OTU4_service2 _______________ self = def test_67_get_OCH_OTU4_service2(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service2-OCH-OTU4") transportpce_tests/2.2.1/test11_otn_end2end.py:1017: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service2-OCH-OTU4' 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_68_create_ODU4_service_2 _______________ self = def test_68_create_ODU4_service_2(self): # pylint: disable=line-too-long self.cr_serv_input_data["service-name"] = "service2-ODU4" self.cr_serv_input_data["service-a-end"]["service-format"] = "ODU" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-device-name"] = "SPDR-SA1-XPDR3" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-device-name"] = "SPDR-SA1-XPDR3" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" self.cr_serv_input_data["service-a-end"]["odu-service-rate"] = "org-openroadm-otn-common-types:ODU4" del self.cr_serv_input_data["service-a-end"]["otu-service-rate"] self.cr_serv_input_data["service-z-end"]["service-format"] = "ODU" self.cr_serv_input_data["service-z-end"]["odu-service-rate"] = "org-openroadm-otn-common-types:ODU4" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-device-name"] = "SPDR-SC1-XPDR3" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-device-name"] = "SPDR-SC1-XPDR3" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR3-NETWORK1" del self.cr_serv_input_data["service-z-end"]["otu-service-rate"] > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:1046: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'infrastructure', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_69_get_ODU4_service2 _________________ self = def test_69_get_ODU4_service2(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service2-ODU4") transportpce_tests/2.2.1/test11_otn_end2end.py:1053: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service2-ODU4' 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_70_create_1GE_service ________________ self = def test_70_create_1GE_service(self): # pylint: disable=line-too-long self.cr_serv_input_data["service-name"] = "service1-1GE" self.cr_serv_input_data["connection-type"] = "service" self.cr_serv_input_data["service-a-end"]["service-rate"] = "1" self.cr_serv_input_data["service-a-end"]["service-format"] = "Ethernet" self.cr_serv_input_data["service-z-end"]["service-rate"] = "1" self.cr_serv_input_data["service-z-end"]["service-format"] = "Ethernet" del self.cr_serv_input_data["service-a-end"]["odu-service-rate"] self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-device-name"] = "SPDR-SA1-XPDR3" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR3-CLIENT1" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-device-name"] = "SPDR-SA1-XPDR3" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR3-CLIENT1" del self.cr_serv_input_data["service-z-end"]["odu-service-rate"] self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-device-name"] = "SPDR-SC1-XPDR3" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR3-CLIENT1" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-device-name"] = "SPDR-SC1-XPDR3" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR3-CLIENT1" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:1083: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'service', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _________________ TransportPCEtesting.test_71_get_1GE_service1 _________________ self = def test_71_get_1GE_service1(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-1GE") transportpce_tests/2.2.1/test11_otn_end2end.py:1090: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service1-1GE' 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_72_check_interface_1GE_CLIENT_spdra _________ self = def test_72_check_interface_1GE_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR3-CLIENT1-ETHERNET1G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1105: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-CLIENT1-ETHERNET1G ________ TransportPCEtesting.test_73_check_interface_ODU0_CLIENT_spdra _________ self = def test_73_check_interface_ODU0_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR3-CLIENT1-ODU0:service1-1GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1121: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-CLIENT1-ODU0:service1-1GE ________ TransportPCEtesting.test_74_check_interface_ODU0_NETWORK_spdra ________ self = def test_74_check_interface_ODU0_NETWORK_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR3-NETWORK1-ODU0:service1-1GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1144: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-NETWORK1-ODU0:service1-1GE ___________ TransportPCEtesting.test_75_check_ODU0_connection_spdra ____________ self = def test_75_check_ODU0_connection_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'odu-connection', 'XPDR3-CLIENT1-ODU0-x-XPDR3-NETWORK1-ODU0') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1171: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR3-CLIENT1-ODU0-x-XPDR3-NETWORK1-ODU0 _________ TransportPCEtesting.test_76_check_interface_1GE_CLIENT_spdrc _________ self = def test_76_check_interface_1GE_CLIENT_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR3-CLIENT1-ETHERNET1G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1187: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-CLIENT1-ETHERNET1G ________ TransportPCEtesting.test_77_check_interface_ODU0_CLIENT_spdrc _________ self = def test_77_check_interface_ODU0_CLIENT_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR3-CLIENT1-ODU0:service1-1GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1203: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-CLIENT1-ODU0:service1-1GE ________ TransportPCEtesting.test_78_check_interface_ODU0_NETWORK_spdrc ________ self = def test_78_check_interface_ODU0_NETWORK_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'interface', 'XPDR3-NETWORK1-ODU0:service1-1GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1226: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-NETWORK1-ODU0:service1-1GE ___________ TransportPCEtesting.test_79_check_ODU0_connection_spdrc ____________ self = def test_79_check_ODU0_connection_spdrc(self): response = test_utils.check_node_attribute_request( 'SPDR-SC1', 'odu-connection', 'XPDR3-CLIENT1-ODU0-x-XPDR3-NETWORK1-ODU0') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/2.2.1/test11_otn_end2end.py:1256: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR3-CLIENT1-ODU0-x-XPDR3-NETWORK1-ODU0 _______________ TransportPCEtesting.test_80_check_otn_topo_links _______________ self = def test_80_check_otn_topo_links(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/2.2.1/test11_otn_end2end.py:1271: AssertionError ________________ TransportPCEtesting.test_81_check_otn_topo_tp _________________ self = def test_81_check_otn_topo_tp(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/2.2.1/test11_otn_end2end.py:1284: AssertionError ________________ TransportPCEtesting.test_82_delete_1GE_service ________________ self = def test_82_delete_1GE_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service1-1GE" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:1302: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba..., 'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service1-1GE', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_83_check_service_list ________________ self = def test_83_check_service_list(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/2.2.1/test11_otn_end2end.py:1309: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_84_check_no_ODU0_connection_spdra __________ self = def test_84_check_no_ODU0_connection_spdra(self): > response = test_utils.check_node_request("SPDR-SA1") transportpce_tests/2.2.1/test11_otn_end2end.py:1314: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'SPDR-SA1' def check_node_request(node: 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)) res = response.json() return_key = {'rfc8040': 'org-openroadm-device:org-openroadm-device', 'draft-bierman02': 'org-openroadm-device'} 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:392: KeyError ______ TransportPCEtesting.test_85_check_no_interface_ODU0_NETWORK_spdra _______ self = def test_85_check_no_interface_ODU0_NETWORK_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR3-NETWORK1-ODU0:service1-1GE') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:1321: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-NETWORK1-ODU0:service1-1GE _______ TransportPCEtesting.test_86_check_no_interface_ODU0_CLIENT_spdra _______ self = def test_86_check_no_interface_ODU0_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR3-CLIENT1-ODU0:service1-1GE') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:1326: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-CLIENT1-ODU0:service1-1GE _______ TransportPCEtesting.test_87_check_no_interface_10GE_CLIENT_spdra _______ self = def test_87_check_no_interface_10GE_CLIENT_spdra(self): response = test_utils.check_node_attribute_request( 'SPDR-SA1', 'interface', 'XPDR3-CLIENT1-ETHERNET1G') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/2.2.1/test11_otn_end2end.py:1331: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR3-CLIENT1-ETHERNET1G _______________ TransportPCEtesting.test_88_check_otn_topo_links _______________ self = def test_88_check_otn_topo_links(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/2.2.1/test11_otn_end2end.py:1335: AssertionError ________________ TransportPCEtesting.test_89_check_otn_topo_tp _________________ self = def test_89_check_otn_topo_tp(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/2.2.1/test11_otn_end2end.py:1348: AssertionError _______________ TransportPCEtesting.test_90_delete_ODU4_service ________________ self = def test_90_delete_ODU4_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service2-ODU4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:1361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba... 'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service2-ODU4', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _____________ TransportPCEtesting.test_91_delete_OCH_OTU4_service ______________ self = def test_91_delete_OCH_OTU4_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service2-OCH-OTU4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/2.2.1/test11_otn_end2end.py:1369: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba...c-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service2-OCH-OTU4', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError __________ TransportPCEtesting.test_92_disconnect_xponders_from_roadm __________ self = def test_92_disconnect_xponders_from_roadm(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/2.2.1/test11_otn_end2end.py:1377: AssertionError _____________ TransportPCEtesting.test_93_check_openroadm_topology _____________ self = def test_93_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/2.2.1/test11_otn_end2end.py:1387: AssertionError _________________ TransportPCEtesting.test_94_disconnect_spdrA _________________ self = def test_94_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/2.2.1/test11_otn_end2end.py:1394: 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_95_disconnect_spdrC _________________ self = def test_95_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/2.2.1/test11_otn_end2end.py:1398: 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_96_disconnect_roadmA _________________ self = def test_96_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/2.2.1/test11_otn_end2end.py:1402: 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_97_disconnect_roadmC _________________ self = def test_97_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/2.2.1/test11_otn_end2end.py:1406: 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/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_01_connect_spdrA FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_02_connect_spdrC FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_03_connect_rdmA FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_04_connect_rdmC FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_05_connect_sprdA_1_N1_to_roadmA_PP1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_06_connect_roadmA_PP1_to_spdrA_1_N1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_07_connect_sprdC_1_N1_to_roadmC_PP1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_08_connect_roadmC_PP1_to_spdrC_1_N1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_09_add_omsAttributes_ROADMA_ROADMC FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_10_add_omsAttributes_ROADMC_ROADMA FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_11_check_otn_topology FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_12_create_OCH_OTU4_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_13_get_OCH_OTU4_service1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_14_check_interface_och_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_15_check_interface_OTU4_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_16_check_interface_och_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_17_check_interface_OTU4_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_18_check_no_interface_ODU4_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_19_check_openroadm_topo_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_20_check_openroadm_topo_ROADMA_SRG FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_21_check_openroadm_topo_ROADMA_DEG FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_22_check_otn_topo_otu4_links FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_23_create_ODU4_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_24_get_ODU4_service1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_25_check_interface_ODU4_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_26_check_interface_ODU4_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_27_check_otn_topo_links FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_28_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_29_create_10GE_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_30_get_10GE_service1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_31_check_interface_10GE_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_32_check_interface_ODU2E_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_33_check_interface_ODU2E_NETWORK_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_34_check_ODU2E_connection_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_35_check_interface_10GE_CLIENT_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_36_check_interface_ODU2E_CLIENT_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_37_check_interface_ODU2E_NETWORK_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_38_check_ODU2E_connection_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_39_check_otn_topo_links FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_40_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_41_delete_10GE_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_42_check_service_list FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_43_check_no_ODU2e_connection_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_44_check_no_interface_ODU2E_NETWORK_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_45_check_no_interface_ODU2E_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_46_check_no_interface_10GE_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_47_check_otn_topo_links FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_48_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_49_delete_ODU4_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_50_check_service_list FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_51_check_no_interface_ODU4_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_52_check_otn_topo_links FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_53_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_54_delete_OCH_OTU4_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_55_get_no_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_56_check_no_interface_OTU4_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_57_check_no_interface_OCH_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_58_getLinks_OtnTopology FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_59_check_openroadm_topo_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_60_check_openroadm_topo_ROADMA_SRG FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_61_check_openroadm_topo_ROADMA_DEG FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_62_connect_sprdA_3_N1_to_roadmA_PP2 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_63_connect_roadmA_PP2_to_spdrA_3_N1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_64_connect_sprdC_3_N1_to_roadmC_PP2 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_65_connect_roadmC_PP2_to_spdrC_3_N1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_66_create_OCH_OTU4_service_2 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_67_get_OCH_OTU4_service2 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_68_create_ODU4_service_2 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_69_get_ODU4_service2 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_70_create_1GE_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_71_get_1GE_service1 FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_72_check_interface_1GE_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_73_check_interface_ODU0_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_74_check_interface_ODU0_NETWORK_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_75_check_ODU0_connection_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_76_check_interface_1GE_CLIENT_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_77_check_interface_ODU0_CLIENT_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_78_check_interface_ODU0_NETWORK_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_79_check_ODU0_connection_spdrc FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_80_check_otn_topo_links FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_81_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_82_delete_1GE_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_83_check_service_list FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_84_check_no_ODU0_connection_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_85_check_no_interface_ODU0_NETWORK_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_86_check_no_interface_ODU0_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_87_check_no_interface_10GE_CLIENT_spdra FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_88_check_otn_topo_links FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_89_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_90_delete_ODU4_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_91_delete_OCH_OTU4_service FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_92_disconnect_xponders_from_roadm FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_93_check_openroadm_topology FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_94_disconnect_spdrA FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_95_disconnect_spdrC FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_96_disconnect_roadmA FAILED transportpce_tests/2.2.1/test11_otn_end2end.py::TransportPCEtesting::test_97_disconnect_roadmC 97 failed in 1670.31s (0:27:50) tests121: OK ✔ in 41 minutes 13.14 seconds tests221: exit 1 (2659.76 seconds) /w/workspace/transportpce-tox-verify-calcium/tests> ./launch_tests.sh 2.2.1 pid=58097 tests221: FAIL ✖ in 44 minutes 25.53 seconds tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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.44.0 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-calcium/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 323.01s (0:05:23) pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 66%] FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [100%] =================================== FAILURES =================================== _________________ TransportPCEtesting.test_001_connect_xpdra2 __________________ self = def test_001_connect_xpdra2(self): response = test_utils.mount_device("XPDR-A2", ('xpdra2', self.NODE_VERSION_71)) > 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/hybrid/test02_B100G_end2end.py:160: 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 xpdra2 in OpenROADM device version 7.1... Searching for pattern 'Data tree change listeners registered' in xpdra2-71.log... Pattern found! simulator for xpdra2 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 xpdrc2 in OpenROADM device version 7.1... Searching for pattern 'Data tree change listeners registered' in xpdrc2-71.log... Pattern found! simulator for xpdrc2 started ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'Triggering notification stream NETCONF for node XPDR-A2' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A2 still not added to tpce topology... _________________ TransportPCEtesting.test_002_connect_xpdrc2 __________________ self = def test_002_connect_xpdrc2(self): response = test_utils.mount_device("XPDR-C2", ('xpdrc2', self.NODE_VERSION_71)) > 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/hybrid/test02_B100G_end2end.py:165: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'Triggering notification stream NETCONF for node XPDR-C2' in karaf.log... Pattern not found after 180 seconds! Node XPDR-C2 still not added to tpce topology... __________________ TransportPCEtesting.test_003_connect_rdma ___________________ self = def test_003_connect_rdma(self): response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION_221)) > 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/hybrid/test02_B100G_end2end.py:170: AssertionError ----------------------------- Captured stdout call ----------------------------- 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_004_connect_rdmc ___________________ self = def test_004_connect_rdmc(self): response = test_utils.mount_device("ROADM-C1", ('roadmc', self.NODE_VERSION_221)) > 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/hybrid/test02_B100G_end2end.py:175: AssertionError ----------------------------- Captured stdout call ----------------------------- 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_005_connect_xpdra2_2_N1_to_roadma_PP2 ________ self = def test_005_connect_xpdra2_2_N1_to_roadma_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-A2', 'xpdr-num': '2', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 ________ TransportPCEtesting.test_006_connect_roadma_PP2_to_xpdra2_2_N1 ________ self = def test_006_connect_roadma_PP2_to_xpdra2_2_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-A2', 'xpdr-num': '2', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 ________ TransportPCEtesting.test_007_connect_xpdrc2_2_N1_to_roadmc_PP2 ________ self = def test_007_connect_xpdrc2_2_N1_to_roadmc_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-C2', 'xpdr-num': '2', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 ________ TransportPCEtesting.test_008_connect_roadmc_PP2_to_xpdrc2_2_N1 ________ self = def test_008_connect_roadmc_PP2_to_xpdrc2_2_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-C2', 'xpdr-num': '2', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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-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 _________ TransportPCEtesting.test_009_add_omsAttributes_roadma_roadmc _________ self = def test_009_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/hybrid/test02_B100G_end2end.py:224: AssertionError _________ TransportPCEtesting.test_010_add_omsAttributes_roadmc_roadma _________ self = def test_010_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/hybrid/test02_B100G_end2end.py:240: AssertionError _______________ TransportPCEtesting.test_011_check_otn_topology ________________ self = def test_011_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/hybrid/test02_B100G_end2end.py:245: AssertionError ______________ TransportPCEtesting.test_012_create_OTUC4_service _______________ self = def test_012_create_OTUC4_service(self): > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:250: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'infrastructure', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_013_get_OTUC4_service1 ________________ self = def test_013_get_OTUC4_service1(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-OTUC4") transportpce_tests/hybrid/test02_B100G_end2end.py:259: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service1-OTUC4' 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_014_check_interface_otsi_xpdra2 ___________ self = def test_014_check_interface_otsi_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-755:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:277: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-755:768 ________ TransportPCEtesting.test_015_check_interface_OTSI_GROUP_xpdra2 ________ self = def test_015_check_interface_OTSI_GROUP_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-OTSIGROUP-400G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:294: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTSIGROUP-400G __________ TransportPCEtesting.test_016_check_interface_OTUC4_xpdra2 ___________ self = def test_016_check_interface_OTUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-OTUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:315: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC4 ___________ TransportPCEtesting.test_017_check_interface_otsi_xpdrc2 ___________ self = def test_017_check_interface_otsi_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-755:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:341: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-755:768 ________ TransportPCEtesting.test_018_check_interface_OTSI_GROUP_xpdrc2 ________ self = def test_018_check_interface_OTSI_GROUP_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-OTSIGROUP-400G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:359: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTSIGROUP-400G __________ TransportPCEtesting.test_019_check_interface_OTUC4_xpdrc2 ___________ self = def test_019_check_interface_OTUC4_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-OTUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:380: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC4 _________ TransportPCEtesting.test_020_check_no_interface_ODUC4_xpdra2 _________ self = def test_020_check_no_interface_ODUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:408: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC4 ___________ TransportPCEtesting.test_021_check_openroadm_topo_xpdra2 ___________ self = def test_021_check_openroadm_topo_xpdra2(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'XPDR-A2-XPDR2', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:412: AssertionError ___________ TransportPCEtesting.test_022_check_otn_topo_OTUC4_links ____________ self = def test_022_check_otn_topo_OTUC4_links(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/hybrid/test02_B100G_end2end.py:424: AssertionError ______________ TransportPCEtesting.test_023_create_ODUC4_service _______________ self = def test_023_create_ODUC4_service(self): self.cr_serv_input_data["service-name"] = "service1-ODUC4" self.cr_serv_input_data["service-a-end"]["service-format"] = "ODU" del self.cr_serv_input_data["service-a-end"]["otu-service-rate"] self.cr_serv_input_data["service-a-end"]["odu-service-rate"] = "org-openroadm-otn-common-types:ODUCn" self.cr_serv_input_data["service-z-end"]["service-format"] = "ODU" del self.cr_serv_input_data["service-z-end"]["otu-service-rate"] self.cr_serv_input_data["service-z-end"]["odu-service-rate"] = "org-openroadm-otn-common-types:ODUCn" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'infrastructure', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_024_get_ODUC4_service1 ________________ self = def test_024_get_ODUC4_service1(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-ODUC4") transportpce_tests/hybrid/test02_B100G_end2end.py:454: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service1-ODUC4' 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_025_check_interface_ODUC4_xpdra2 ___________ self = def test_025_check_interface_ODUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:471: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC4 __________ TransportPCEtesting.test_026_check_interface_ODUC4_xpdrc2 ___________ self = def test_026_check_interface_ODUC4_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:497: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC4 ______________ TransportPCEtesting.test_027_check_otn_topo_links _______________ self = def test_027_check_otn_topo_links(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/hybrid/test02_B100G_end2end.py:522: AssertionError ________________ TransportPCEtesting.test_028_check_otn_topo_tp ________________ self = def test_028_check_otn_topo_tp(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/hybrid/test02_B100G_end2end.py:550: AssertionError _____________ TransportPCEtesting.test_029_create_100GE_service_1 ______________ self = def test_029_create_100GE_service_1(self): self.cr_serv_input_data["service-name"] = "service-100GE" self.cr_serv_input_data["connection-type"] = "service" self.cr_serv_input_data["service-a-end"]["service-rate"] = "100" self.cr_serv_input_data["service-a-end"]["service-format"] = "Ethernet" del self.cr_serv_input_data["service-a-end"]["odu-service-rate"] self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT1" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT1" self.cr_serv_input_data["service-z-end"]["service-rate"] = "100" self.cr_serv_input_data["service-z-end"]["service-format"] = "Ethernet" del self.cr_serv_input_data["service-z-end"]["odu-service-rate"] self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT1" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT1" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:577: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'service', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_030_get_100GE_service_1 _______________ self = def test_030_get_100GE_service_1(self): > response = test_utils.get_ordm_serv_list_attr_request( "services", "service-100GE") transportpce_tests/hybrid/test02_B100G_end2end.py:586: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service-100GE' 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_031_check_interface_100GE_CLIENT_xpdra2 _______ self = def test_031_check_interface_100GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:597: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ETHERNET-100G _______ TransportPCEtesting.test_032_check_interface_ODU4_CLIENT_xpdra2 ________ self = def test_032_check_interface_ODU4_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:614: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ODU4:service-100GE _______ TransportPCEtesting.test_033_check_interface_ODU4_NETWORK_xpdra2 _______ self = def test_033_check_interface_ODU4_NETWORK_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:638: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODU4:service-100GE __________ TransportPCEtesting.test_034_check_ODU4_connection_xpdra2 ___________ self = def test_034_check_ODU4_connection_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'odu-connection', 'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:668: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4 _______ TransportPCEtesting.test_035_check_interface_100GE_CLIENT_xpdrc2 _______ self = def test_035_check_interface_100GE_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT1-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:685: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ETHERNET-100G _______ TransportPCEtesting.test_036_check_interface_ODU4_CLIENT_xpdrc2 ________ self = def test_036_check_interface_ODU4_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:702: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ODU4:service-100GE _______ TransportPCEtesting.test_037_check_interface_ODU4_NETWORK_xpdrc2 _______ self = def test_037_check_interface_ODU4_NETWORK_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:726: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODU4:service-100GE __________ TransportPCEtesting.test_038_check_ODU4_connection_xpdrc2 ___________ self = def test_038_check_ODU4_connection_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'odu-connection', 'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:762: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4 ______________ TransportPCEtesting.test_039_check_otn_topo_links _______________ self = def test_039_check_otn_topo_links(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/hybrid/test02_B100G_end2end.py:778: AssertionError ________________ TransportPCEtesting.test_040_check_otn_topo_tp ________________ self = def test_040_check_otn_topo_tp(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/hybrid/test02_B100G_end2end.py:791: AssertionError _____________ TransportPCEtesting.test_041_create_100GE_service_2 ______________ self = def test_041_create_100GE_service_2(self): self.cr_serv_input_data["service-name"] = "service-100GE2" self.cr_serv_input_data["connection-type"] = "service" self.cr_serv_input_data["service-a-end"]["service-rate"] = "100" self.cr_serv_input_data["service-a-end"]["service-format"] = "Ethernet" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT2" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT2" self.cr_serv_input_data["service-z-end"]["service-rate"] = "100" self.cr_serv_input_data["service-z-end"]["service-format"] = "Ethernet" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT2" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT2" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:819: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'service', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_042_get_100GE_service_2 _______________ self = def test_042_get_100GE_service_2(self): > response = test_utils.get_ordm_serv_list_attr_request("services", "service-100GE2") transportpce_tests/hybrid/test02_B100G_end2end.py:828: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service-100GE2' 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_043_check_service_list ________________ self = def test_043_check_service_list(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/hybrid/test02_B100G_end2end.py:837: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_044_check_otn_topo_links _______________ self = def test_044_check_otn_topo_links(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/hybrid/test02_B100G_end2end.py:843: AssertionError ________________ TransportPCEtesting.test_045_check_otn_topo_tp ________________ self = def test_045_check_otn_topo_tp(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/hybrid/test02_B100G_end2end.py:856: AssertionError _____________ TransportPCEtesting.test_046_delete_100GE_service_2 ______________ self = def test_046_delete_100GE_service_2(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-100GE2" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:874: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba...'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service-100GE2', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _____________ TransportPCEtesting.test_047_delete_100GE_service_1 ______________ self = def test_047_delete_100GE_service_1(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-100GE" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:884: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba... 'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service-100GE', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_048_check_service_list ________________ self = def test_048_check_service_list(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/hybrid/test02_B100G_end2end.py:893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_049_check_no_ODU4_connection_xpdra2 _________ self = def test_049_check_no_ODU4_connection_xpdra2(self): > response = test_utils.check_node_request("XPDR-A2") transportpce_tests/hybrid/test02_B100G_end2end.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2' def check_node_request(node: 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)) res = response.json() return_key = {'rfc8040': 'org-openroadm-device:org-openroadm-device', 'draft-bierman02': 'org-openroadm-device'} 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:392: KeyError _____ TransportPCEtesting.test_050_check_no_interface_ODU4_NETWORK_xpdra2 ______ self = def test_050_check_no_interface_ODU4_NETWORK_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:905: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODU4:service-100GE ______ TransportPCEtesting.test_051_check_no_interface_ODU4_CLIENT_xpdra2 ______ self = def test_051_check_no_interface_ODU4_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:910: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ODU4:service-100GE _____ TransportPCEtesting.test_052_check_no_interface_100GE_CLIENT_xpdra2 ______ self = def test_052_check_no_interface_100GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:915: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ETHERNET-100G ______________ TransportPCEtesting.test_053_check_otn_topo_links _______________ self = def test_053_check_otn_topo_links(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/hybrid/test02_B100G_end2end.py:919: AssertionError ________________ TransportPCEtesting.test_054_check_otn_topo_tp ________________ self = def test_054_check_otn_topo_tp(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/hybrid/test02_B100G_end2end.py:932: AssertionError _____________ TransportPCEtesting.test_055_create_100GE_service_3 ______________ self = def test_055_create_100GE_service_3(self): self.cr_serv_input_data["service-name"] = "service-100GE3" self.cr_serv_input_data["connection-type"] = "service" self.cr_serv_input_data["service-a-end"]["service-rate"] = "100" self.cr_serv_input_data["service-a-end"]["service-format"] = "Ethernet" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT1" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT1" self.cr_serv_input_data["service-z-end"]["service-rate"] = "100" self.cr_serv_input_data["service-z-end"]["service-format"] = "Ethernet" self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT2" self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR2-CLIENT2" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:955: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'service', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_056_get_100GE_service_3 _______________ self = def test_056_get_100GE_service_3(self): > response = test_utils.get_ordm_serv_list_attr_request("services", "service-100GE3") transportpce_tests/hybrid/test02_B100G_end2end.py:964: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service-100GE3' 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_057_check_service_list ________________ self = def test_057_check_service_list(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/hybrid/test02_B100G_end2end.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_058_check_interface_100GE_CLIENT_xpdra2 _______ self = def test_058_check_interface_100GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:980: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ETHERNET-100G _______ TransportPCEtesting.test_059_check_interface_ODU4_CLIENT_xpdra2 ________ self = def test_059_check_interface_ODU4_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:997: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT1-ODU4:service-100GE3 _______ TransportPCEtesting.test_060_check_interface_ODU4_NETWORK_xpdra2 _______ self = def test_060_check_interface_ODU4_NETWORK_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1021: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODU4:service-100GE3 __________ TransportPCEtesting.test_061_check_ODU4_connection_xpdra2 ___________ self = def test_061_check_ODU4_connection_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'odu-connection', 'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1051: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4 _______ TransportPCEtesting.test_062_check_interface_100GE_CLIENT_xpdrc2 _______ self = def test_062_check_interface_100GE_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT2-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1068: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT2-ETHERNET-100G _______ TransportPCEtesting.test_063_check_interface_ODU4_CLIENT_xpdrc2 ________ self = def test_063_check_interface_ODU4_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT2-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1085: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-CLIENT2-ODU4:service-100GE3 _______ TransportPCEtesting.test_064_check_interface_ODU4_NETWORK_xpdrc2 _______ self = def test_064_check_interface_ODU4_NETWORK_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1109: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODU4:service-100GE3 __________ TransportPCEtesting.test_065_check_ODU4_connection_xpdrc2 ___________ self = def test_065_check_ODU4_connection_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'odu-connection', 'XPDR2-CLIENT2-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1145: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-C2/yang-ext:mount/org-openroadm-device:org-openroadm-device/odu-connection=XPDR2-CLIENT2-ODU4-x-XPDR2-NETWORK1-ODU4 ______________ TransportPCEtesting.test_066_check_otn_topo_links _______________ self = def test_066_check_otn_topo_links(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/hybrid/test02_B100G_end2end.py:1161: AssertionError ________________ TransportPCEtesting.test_067_check_otn_topo_tp ________________ self = def test_067_check_otn_topo_tp(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/hybrid/test02_B100G_end2end.py:1174: AssertionError _____________ TransportPCEtesting.test_068_delete_100GE_service_3 ______________ self = def test_068_delete_100GE_service_3(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-100GE3" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:1189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba...'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service-100GE3', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ______________ TransportPCEtesting.test_069_delete_ODUC4_service _______________ self = def test_069_delete_ODUC4_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service1-ODUC4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:1199: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba...'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service1-ODUC4', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_070_check_service_list ________________ self = def test_070_check_service_list(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/hybrid/test02_B100G_end2end.py:1208: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_071_check_no_interface_ODU4_xpdra2 __________ self = def test_071_check_no_interface_ODU4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1215: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC4 ______________ TransportPCEtesting.test_072_check_otn_topo_links _______________ self = def test_072_check_otn_topo_links(self): > self.test_022_check_otn_topo_OTUC4_links() transportpce_tests/hybrid/test02_B100G_end2end.py:1218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/hybrid/test02_B100G_end2end.py:424: in test_022_check_otn_topo_OTUC4_links self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 ________________ TransportPCEtesting.test_073_check_otn_topo_tp ________________ self = def test_073_check_otn_topo_tp(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/hybrid/test02_B100G_end2end.py:1222: AssertionError ______________ TransportPCEtesting.test_074_delete_OTUC4_service _______________ self = def test_074_delete_OTUC4_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service1-OTUC4" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:1233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba...'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service1-OTUC4', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _________________ TransportPCEtesting.test_075_get_no_service __________________ self = def test_075_get_no_service(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/hybrid/test02_B100G_end2end.py:1242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_076_check_no_interface_OTUC4_xpdra2 _________ self = def test_076_check_no_interface_OTUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-OTUC4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1262: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC4 _________ TransportPCEtesting.test_077_check_no_interface_OTSI_xpdra2 __________ self = def test_077_check_no_interface_OTSI_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-755:768') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1267: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-755:768 _________ TransportPCEtesting.test_078_check_no_interface_OTSIG_xpdra2 _________ self = def test_078_check_no_interface_OTSIG_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-OTSIGROUP-400G') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1272: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTSIGROUP-400G ______________ TransportPCEtesting.test_079_getLinks_OtnTopology _______________ self = def test_079_getLinks_OtnTopology(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/hybrid/test02_B100G_end2end.py:1276: AssertionError ___________ TransportPCEtesting.test_080_check_openroadm_topo_xpdra2 ___________ self = def test_080_check_openroadm_topo_xpdra2(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'XPDR-A2-XPDR2', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1281: AssertionError ____________ TransportPCEtesting.test_081_check_openroadm_topology _____________ self = def test_081_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/hybrid/test02_B100G_end2end.py:1289: AssertionError ________ TransportPCEtesting.test_082_connect_xpdra2_1_N1_to_roadma_PP2 ________ self = def test_082_connect_xpdra2_1_N1_to_roadma_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-A2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1294: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_083_connect_roadma_PP2_to_xpdra2_1_N1 ________ self = def test_083_connect_roadma_PP2_to_xpdra2_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-A2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1302: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_084_connect_xpdrc2_1_N1_to_roadmc_PP2 ________ self = def test_084_connect_xpdrc2_1_N1_to_roadmc_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-C2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1310: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_085_connect_roadmc_PP2_to_xpdrc2_1_N1 ________ self = def test_085_connect_roadmc_PP2_to_xpdrc2_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-C2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1318: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_086_create_400GE_service _______________ self = def test_086_create_400GE_service(self): self.cr_serv_input_data["service-name"] = "service-400GE" self.cr_serv_input_data["service-a-end"]["service-rate"] = "400" self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] = "XPDR1-CLIENT1" self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] = "XPDR1-CLIENT1" self.cr_serv_input_data["service-z-end"]["service-rate"] = "400" del self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-name"] del self.cr_serv_input_data["service-a-end"]["tx-direction"][0]["port"]["port-device-name"] del self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-name"] del self.cr_serv_input_data["service-a-end"]["rx-direction"][0]["port"]["port-device-name"] del self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-name"] del self.cr_serv_input_data["service-z-end"]["tx-direction"][0]["port"]["port-device-name"] del self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-name"] del self.cr_serv_input_data["service-z-end"]["rx-direction"][0]["port"]["port-device-name"] > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:1340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-create' payload = {'common-id': 'commonId', 'connection-type': 'service', 'due-date': '2018-06-15T00:00:01Z', 'operator-contact': 'pw1234', ...} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_087_get_400GE_service ________________ self = def test_087_get_400GE_service(self): > response = test_utils.get_ordm_serv_list_attr_request("services", "service-400GE") transportpce_tests/hybrid/test02_B100G_end2end.py:1350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'service-400GE' 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_088_check_xc1_roadma _________________ self = def test_088_check_xc1_roadma(self): response = test_utils.check_node_attribute_request( "ROADM-A1", "roadm-connections", "SRG1-PP1-TXRX-DEG2-TTP-TXRX-755:768") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1361: AssertionError ----------------------------- Captured stdout call ----------------------------- 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-755:768 ________________ TransportPCEtesting.test_089_check_topo_xpdra2 ________________ self = def test_089_check_topo_xpdra2(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'XPDR-A2-XPDR1', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1374: AssertionError _____________ TransportPCEtesting.test_090_check_topo_roadma_SRG1 ______________ self = def test_090_check_topo_roadma_SRG1(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-SRG1', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1390: AssertionError _____________ TransportPCEtesting.test_091_check_topo_roadma_DEG1 ______________ self = def test_091_check_topo_roadma_DEG1(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-DEG2', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1408: AssertionError _______ TransportPCEtesting.test_092_check_interface_400GE_CLIENT_xpdra2 _______ self = def test_092_check_interface_400GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-CLIENT1-ETHERNET') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1430: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ETHERNET ___________ TransportPCEtesting.test_093_check_interface_OTSI_xpdra2 ___________ self = def test_093_check_interface_OTSI_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-755:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1447: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-755:768 ________ TransportPCEtesting.test_094_check_interface_OTSI_GROUP_xpdra2 ________ self = def test_094_check_interface_OTSI_GROUP_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-OTSIGROUP-400G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1473: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-OTSIGROUP-400G __________ TransportPCEtesting.test_095_check_interface_OTUC4_xpdra2 ___________ self = def test_095_check_interface_OTUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-OTUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1492: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-OTUC4 __________ TransportPCEtesting.test_096_check_interface_ODUC4_xpdra2 ___________ self = def test_096_check_interface_ODUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1518: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODUC4 _________ TransportPCEtesting.test_097_check_interface_ODUFLEX_xpdra2 __________ self = def test_097_check_interface_ODUFLEX_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-ODUFLEX') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1549: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODUFLEX ______________ TransportPCEtesting.test_098_delete_400GE_service _______________ self = def test_098_delete_400GE_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-400GE" > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) transportpce_tests/hybrid/test02_B100G_end2end.py:1601: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'org-openroadm-service', rpc = 'service-delete' payload = {'sdnc-request-header': {'notification-url': 'http://localhost:8585/NotificationServer/notify', 'request-id': 'e3028ba... 'rpc-action': 'service-delete'}, 'service-delete-req-info': {'service-name': 'service-400GE', 'tail-retention': 'no'}} 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: 'org-openroadm-service:output' transportpce_tests/common/test_utils.py:694: KeyError _________________ TransportPCEtesting.test_099_get_no_service __________________ self = def test_099_get_no_service(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/hybrid/test02_B100G_end2end.py:1610: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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_100_check_no_interface_ODUC4_xpdra2 _________ self = def test_100_check_no_interface_ODUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1631: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-ODUC4 _________ TransportPCEtesting.test_101_check_no_interface_OTUC4_xpdra2 _________ self = def test_101_check_no_interface_OTUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-OTUC4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1636: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-OTUC4 ______ TransportPCEtesting.test_102_check_no_interface_OTSI_GROUP_xpdra2 _______ self = def test_102_check_no_interface_OTSI_GROUP_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-OTSIGROUP-400G') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1641: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-OTSIGROUP-400G _________ TransportPCEtesting.test_103_check_no_interface_OTSI_xpdra2 __________ self = def test_103_check_no_interface_OTSI_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-755:768') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1646: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-NETWORK1-755:768 _____ TransportPCEtesting.test_104_check_no_interface_400GE_CLIENT_xpdra2 ______ self = def test_104_check_no_interface_400GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-CLIENT1-ETHERNET') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 401 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1651: AssertionError ----------------------------- Captured stdout call ----------------------------- Unauthorized /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR1-CLIENT1-ETHERNET _________ TransportPCEtesting.test_105_disconnect_xponders_from_roadm __________ self = def test_105_disconnect_xponders_from_roadm(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/hybrid/test02_B100G_end2end.py:1655: AssertionError ________________ TransportPCEtesting.test_106_disconnect_xpdra2 ________________ self = def test_106_disconnect_xpdra2(self): response = test_utils.unmount_device("XPDR-A2") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/hybrid/test02_B100G_end2end.py:1665: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ XPDR\-A2' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A2 still not deleted from tpce topology... ________________ TransportPCEtesting.test_107_disconnect_xpdrc2 ________________ self = def test_107_disconnect_xpdrc2(self): response = test_utils.unmount_device("XPDR-C2") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/hybrid/test02_B100G_end2end.py:1669: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ XPDR\-C2' in karaf.log... Pattern not found after 180 seconds! Node XPDR-C2 still not deleted from tpce topology... ________________ TransportPCEtesting.test_108_disconnect_roadmA ________________ self = def test_108_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/hybrid/test02_B100G_end2end.py:1673: 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_109_disconnect_roadmC ________________ self = def test_109_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/hybrid/test02_B100G_end2end.py:1677: 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/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_001_connect_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_002_connect_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_003_connect_rdma FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_004_connect_rdmc FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_005_connect_xpdra2_2_N1_to_roadma_PP2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_006_connect_roadma_PP2_to_xpdra2_2_N1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_007_connect_xpdrc2_2_N1_to_roadmc_PP2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_008_connect_roadmc_PP2_to_xpdrc2_2_N1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_009_add_omsAttributes_roadma_roadmc FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_010_add_omsAttributes_roadmc_roadma FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_011_check_otn_topology FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_012_create_OTUC4_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_013_get_OTUC4_service1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_014_check_interface_otsi_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_015_check_interface_OTSI_GROUP_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_016_check_interface_OTUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_017_check_interface_otsi_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_018_check_interface_OTSI_GROUP_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_019_check_interface_OTUC4_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_020_check_no_interface_ODUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_021_check_openroadm_topo_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_022_check_otn_topo_OTUC4_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_023_create_ODUC4_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_024_get_ODUC4_service1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_025_check_interface_ODUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_026_check_interface_ODUC4_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_027_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_028_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_029_create_100GE_service_1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_030_get_100GE_service_1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_031_check_interface_100GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_032_check_interface_ODU4_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_033_check_interface_ODU4_NETWORK_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_034_check_ODU4_connection_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_035_check_interface_100GE_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_036_check_interface_ODU4_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_037_check_interface_ODU4_NETWORK_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_038_check_ODU4_connection_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_039_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_040_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_041_create_100GE_service_2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_042_get_100GE_service_2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_043_check_service_list FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_044_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_045_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_046_delete_100GE_service_2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_047_delete_100GE_service_1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_048_check_service_list FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_049_check_no_ODU4_connection_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_050_check_no_interface_ODU4_NETWORK_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_051_check_no_interface_ODU4_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_052_check_no_interface_100GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_053_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_054_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_055_create_100GE_service_3 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_056_get_100GE_service_3 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_057_check_service_list FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_058_check_interface_100GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_059_check_interface_ODU4_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_060_check_interface_ODU4_NETWORK_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_061_check_ODU4_connection_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_062_check_interface_100GE_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_063_check_interface_ODU4_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_064_check_interface_ODU4_NETWORK_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_065_check_ODU4_connection_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_066_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_067_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_068_delete_100GE_service_3 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_069_delete_ODUC4_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_070_check_service_list FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_071_check_no_interface_ODU4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_072_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_073_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_074_delete_OTUC4_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_075_get_no_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_076_check_no_interface_OTUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_077_check_no_interface_OTSI_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_078_check_no_interface_OTSIG_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_079_getLinks_OtnTopology FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_080_check_openroadm_topo_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_081_check_openroadm_topology FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_082_connect_xpdra2_1_N1_to_roadma_PP2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_083_connect_roadma_PP2_to_xpdra2_1_N1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_084_connect_xpdrc2_1_N1_to_roadmc_PP2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_085_connect_roadmc_PP2_to_xpdrc2_1_N1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_086_create_400GE_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_087_get_400GE_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_088_check_xc1_roadma FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_089_check_topo_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_090_check_topo_roadma_SRG1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_091_check_topo_roadma_DEG1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_092_check_interface_400GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_093_check_interface_OTSI_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_094_check_interface_OTSI_GROUP_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_095_check_interface_OTUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_096_check_interface_ODUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_097_check_interface_ODUFLEX_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_098_delete_400GE_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_099_get_no_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_100_check_no_interface_ODUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_101_check_no_interface_OTUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_102_check_no_interface_OTSI_GROUP_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_103_check_no_interface_OTSI_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_104_check_no_interface_400GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_105_disconnect_xponders_from_roadm FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_106_disconnect_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_107_disconnect_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_108_disconnect_roadmA FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_109_disconnect_roadmC 109 failed in 1586.14s (0:26:26) tests_hybrid: exit 1 (1909.62 seconds) /w/workspace/transportpce-tox-verify-calcium/tests> ./launch_tests.sh hybrid pid=69320 tests_hybrid: FAIL ✖ in 31 minutes 56.04 seconds buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-calcium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-calcium/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.44.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-calcium/lighty> ./build.sh buildcontroller: OK (124.60=setup[7.68]+cmd[116.93] seconds) testsPCE: OK (299.79=setup[72.67]+cmd[227.12] seconds) sims121: OK (10.20=setup[6.67]+cmd[3.52] seconds) build_karaf_tests121: OK (50.47=setup[6.72]+cmd[43.75] seconds) tests121: OK (2473.14=setup[5.85]+cmd[2467.29] seconds) sims221: OK (10.75=setup[6.75]+cmd[4.00] seconds) build_karaf_tests221: OK (54.61=setup[8.45]+cmd[46.15] seconds) tests_tapi: OK (1103.96=setup[9.25]+cmd[1094.71] seconds) tests221: FAIL code 1 (2665.53=setup[5.77]+cmd[2659.76] seconds) sims71: OK (10.25=setup[7.91]+cmd[2.34] seconds) build_karaf_tests71: OK (61.11=setup[14.16]+cmd[46.95] seconds) tests71: OK (400.01=setup[5.66]+cmd[394.35] seconds) build_karaf_tests_hybrid: OK (59.93=setup[10.79]+cmd[49.13] seconds) tests_hybrid: FAIL code 1 (1916.04=setup[6.42]+cmd[1909.62] seconds) buildlighty: OK (29.89=setup[6.14]+cmd[23.75] seconds) docs: OK (33.56=setup[31.66]+cmd[1.91] seconds) docs-linkcheck: OK (34.61=setup[30.92]+cmd[3.69] seconds) checkbashisms: OK (2.54=setup[1.60]+cmd[0.01,0.05,0.88] seconds) pre-commit: OK (42.98=setup[3.21]+cmd[0.01,0.01,32.71,7.04] seconds) pylint: OK (26.72=setup[6.67]+cmd[20.06] seconds) evaluation failed :( (6304.91 seconds)