checkbashisms: freeze> python -m pip freeze --all docs: install_deps> python -I -m pip install -r docs/requirements.txt 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.44 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. 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] Initializing environment for https://github.com/perltidy/perltidy. 21 [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 ok, java is 21 or newer Apache Maven 3.9.8 (36645f6c9b5079805ea5009217e36f2cffd34256) Maven home: /opt/maven Java version: 21.0.4, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.4.0-190-generic", arch: "amd64", family: "unix" [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/pre-commit/mirrors-autopep8. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/perltidy/perltidy. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs: freeze> python -m pip freeze --all docs: alabaster==0.7.16,attrs==24.2.0,babel==2.16.0,blockdiag==3.0.0,certifi==2024.8.30,charset-normalizer==3.3.2,contourpy==1.3.0,cycler==0.12.1,docutils==0.20.1,fonttools==4.53.1,funcparserlib==2.0.0a0,future==1.0.0,idna==3.8,imagesize==1.4.1,Jinja2==3.1.4,jsonschema==3.2.0,kiwisolver==1.4.5,lfdocs-conf==0.9.0,MarkupSafe==2.1.5,matplotlib==3.9.2,numpy==2.1.0,nwdiag==3.0.0,packaging==24.1,pillow==10.4.0,pip==24.1,Pygments==2.18.0,pyparsing==3.1.4,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,requests==2.32.3,requests-file==1.5.1,seqdiag==3.0.0,setuptools==70.1.0,six==1.16.0,snowballstemmer==2.2.0,Sphinx==7.4.7,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==2.0.0,sphinx-tabs==3.4.5,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.30,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.2.2,webcolors==24.8.0,wheel==0.43.0 docs: commands[0] /w/workspace/transportpce-tox-verify-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 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 trim trailing whitespace.................................................Passed Tabs remover.............................................................Passed autopep8.................................................................docs: OK ✔ in 36.22 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' Passed perltidy.................................................................Passed docs-linkcheck: OK ✔ in 37.8 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.6,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 44.69 seconds pylint: OK ✔ in 25.34 seconds buildcontroller: OK ✔ in 1 minute 50.91 seconds sims: 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_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 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 sims: freeze> python -m pip freeze --all build_karaf_tests121: freeze> python -m pip freeze --all build_karaf_tests221: freeze> python -m pip freeze --all sims: 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 sims: commands[0] /w/workspace/transportpce-tox-verify-calcium/tests> ./install_lightynode.sh 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 Using lighynode version 19.1.0.5 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory 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 sims: OK ✔ in 9.71 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_tests221: OK ✔ in 1 minute 6.4 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_tests121: OK ✔ in 1 minute 8.54 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 build_karaf_tests71: OK ✔ in 1 minute 13.77 seconds 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 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 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 ...........FF......... [100%] 20 passed in 129.90s (0:02:09) pytest -q transportpce_tests/pce/test02_pce_400G.py ......... [100%] 9 passed in 39.62s pytest -q transportpce_tests/pce/test03_gnpy.py ........ [100%] 8 passed in 37.31s pytest -q transportpce_tests/pce/test04_pce_bug_fix.py ... [100%] 3 passed in 36.39s build_karaf_tests_hybrid: OK ✔ in 1 minute 19.32 seconds testsPCE: OK ✔ in 5 minutes 50.09 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 FFF..................... [100%] 21 passed in 262.13s (0:04:22) pytest -q transportpce_tests/1.2.1/test02_topo_portmapping.py FF...... [100%] 6 passed in 217.32s (0:03:37) pytest -q transportpce_tests/1.2.1/test03_topology.py F............FFFFFF........FFFFF......F........FFFFFFFFFFFFFFFFFFFFFFF.......... [100%] 44 passed in 842.68s (0:14:02) pytest -q transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py F........................ [100%] 24 passed in 255.37s (0:04:15) pytest -q transportpce_tests/1.2.1/test05_olm.py ................FF........................ [100%] 40 passed in 174.30s (0:02:54) pytest -q transportpce_tests/1.2.1/test06_end2end.py .................F...........................F.....F..... [100%] 54 passed in 525.41s (0:08:45) F [100%] =================================== FAILURES =================================== _____________ TransportTapitesting.test_01_get_tapi_topology_T100G _____________ self = def test_01_get_tapi_topology_T100G(self): self.tapi_topo["topology-id"] = test_utils.T100GE_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! OpenDaylight started ! installing tapi feature... installing feature odl-transportpce-tapi client: JAVA_HOME not set; results may vary odl-transportpce-tapi │ 9.1.2 │ x │ Started │ odl-transportpce-tapi │ OpenDaylight :: transportpce :: tapi Restarting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! starting simulator xpdra in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in xpdra-221.log... Pattern found! simulator for xpdra started starting simulator roadma in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadma-221.log... Pattern found! simulator for roadma started starting simulator roadmb in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadmb-221.log... Pattern found! simulator for roadmb started starting simulator roadmc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadmc-221.log... Pattern found! simulator for roadmc started starting simulator xpdrc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in xpdrc-221.log... Pattern found! simulator for xpdrc started 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 spdrc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in spdrc-221.log... Pattern found! simulator for spdrc started ---------------------------- Captured stderr setup ----------------------------- SLF4J(W): No SLF4J providers were found. SLF4J(W): Defaulting to no-operation (NOP) logger implementation SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details. SLF4J(W): Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier. SLF4J(W): Ignoring binding found at [jar:file:/w/workspace/transportpce-tox-verify-calcium/karaf221/target/assembly/system/org/apache/karaf/org.apache.karaf.client/4.4.6/org.apache.karaf.client-4.4.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J(W): See https://www.slf4j.org/codes.html#ignoredBindings for an explanation. ----------------------------- Captured stdout call ----------------------------- execution of test_01_get_tapi_topology_T100G ______________ TransportTapitesting.test_02_get_tapi_topology_T0 _______________ self = def test_02_get_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:204: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_02_get_tapi_topology_T0 __________________ TransportTapitesting.test_03_connect_rdmb ___________________ self = def test_03_connect_rdmb(self): response = test_utils.mount_device("ROADM-B1", ('roadmb', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test01_abstracted_topology.py:212: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_03_connect_rdmb Searching for pattern 'Triggering notification stream NETCONF for node ROADM-B1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-B1 still not added to tpce topology... ________________ TransportTapitesting.test_04_check_tapi_topos _________________ self = def test_04_check_tapi_topos(self): self.tapi_topo["topology-id"] = test_utils.T100GE_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_04_check_tapi_topos ________________ TransportTapitesting.test_05_disconnect_roadmb ________________ self = def test_05_disconnect_roadmb(self): response = test_utils.unmount_device("ROADM-B1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test01_abstracted_topology.py:231: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_05_disconnect_roadmb Searching for pattern 'onDeviceDisConnected:\ ROADM\-B1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-B1 still not deleted from tpce topology... __________________ TransportTapitesting.test_06_connect_xpdra __________________ self = def test_06_connect_xpdra(self): response = test_utils.mount_device("XPDR-A1", ('xpdra', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test01_abstracted_topology.py:235: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_06_connect_xpdra Searching for pattern 'Triggering notification stream NETCONF for node XPDR-A1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A1 still not added to tpce topology... ________________ TransportTapitesting.test_07_check_tapi_topos _________________ self = def test_07_check_tapi_topos(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:239: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_07_check_tapi_topos __________________ TransportTapitesting.test_08_connect_rdma ___________________ self = def test_08_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/tapi/test01_abstracted_topology.py:247: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_08_connect_rdma 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... __________________ TransportTapitesting.test_09_connect_rdmc ___________________ self = def test_09_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/tapi/test01_abstracted_topology.py:251: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_09_connect_rdmc 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... ________________ TransportTapitesting.test_10_check_tapi_topos _________________ self = def test_10_check_tapi_topos(self): > self.test_01_get_tapi_topology_T100G() transportpce_tests/tapi/test01_abstracted_topology.py:254: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test01_abstracted_topology.py:188: in test_01_get_tapi_topology_T100G response = test_utils.transportpce_api_rpc_request( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_10_check_tapi_topos _________ TransportTapitesting.test_11_connect_xpdra_n1_to_roadma_pp1 __________ self = def test_11_connect_xpdra_n1_to_roadma_pp1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_11_connect_xpdra_n1_to_roadma_pp1 _________ TransportTapitesting.test_12_connect_roadma_pp1_to_xpdra_n1 __________ self = def test_12_connect_roadma_pp1_to_xpdra_n1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_12_connect_roadma_pp1_to_xpdra_n1 ____________ TransportTapitesting.test_13_check_tapi_topology_T100G ____________ self = def test_13_check_tapi_topology_T100G(self): self.tapi_topo["topology-id"] = test_utils.T100GE_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_13_check_tapi_topology_T100G _____________ TransportTapitesting.test_14_check_tapi_topology_T0 ______________ self = def test_14_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:308: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_14_check_tapi_topology_T0 __________________ TransportTapitesting.test_15_connect_xpdrc __________________ self = def test_15_connect_xpdrc(self): response = test_utils.mount_device("XPDR-C1", ('xpdrc', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test01_abstracted_topology.py:324: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_15_connect_xpdrc Searching for pattern 'Triggering notification stream NETCONF for node XPDR-C1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-C1 still not added to tpce topology... _________ TransportTapitesting.test_16_connect_xpdrc_n1_to_roadmc_pp1 __________ self = def test_16_connect_xpdrc_n1_to_roadmc_pp1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-C1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_16_connect_xpdrc_n1_to_roadmc_pp1 _________ TransportTapitesting.test_17_connect_roadmc_pp1_to_xpdrc_n1 __________ self = def test_17_connect_roadmc_pp1_to_xpdrc_n1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-C1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_17_connect_roadmc_pp1_to_xpdrc_n1 ____________ TransportTapitesting.test_18_check_tapi_topology_T100G ____________ self = def test_18_check_tapi_topology_T100G(self): self.tapi_topo["topology-id"] = test_utils.T100GE_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_18_check_tapi_topology_T100G _____________ TransportTapitesting.test_19_check_tapi_topology_T0 ______________ self = def test_19_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_19_check_tapi_topology_T0 ________________ TransportTapitesting.test_20_connect_spdr_sa1 _________________ self = def test_20_connect_spdr_sa1(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/tapi/test01_abstracted_topology.py:378: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_20_connect_spdr_sa1 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... ________________ TransportTapitesting.test_21_connect_spdr_sc1 _________________ self = def test_21_connect_spdr_sc1(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/tapi/test01_abstracted_topology.py:383: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_21_connect_spdr_sc1 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... ____________ TransportTapitesting.test_22_check_tapi_topology_T100G ____________ self = def test_22_check_tapi_topology_T100G(self): > self.test_18_check_tapi_topology_T100G() transportpce_tests/tapi/test01_abstracted_topology.py:387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test01_abstracted_topology.py:348: in test_18_check_tapi_topology_T100G response = test_utils.transportpce_api_rpc_request( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_22_check_tapi_topology_T100G _____________ TransportTapitesting.test_23_check_tapi_topology_T0 ______________ self = def test_23_check_tapi_topology_T0(self): > self.test_19_check_tapi_topology_T0() transportpce_tests/tapi/test01_abstracted_topology.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test01_abstracted_topology.py:362: in test_19_check_tapi_topology_T0 response = test_utils.transportpce_api_rpc_request( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_23_check_tapi_topology_T0 _________ TransportTapitesting.test_24_connect_sprda_n1_to_roadma_pp2 __________ self = def test_24_connect_sprda_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': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_24_connect_sprda_n1_to_roadma_pp2 _________ TransportTapitesting.test_25_connect_roadma_pp2_to_spdra_n1 __________ self = def test_25_connect_roadma_pp2_to_spdra_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-PP2-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:403: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_25_connect_roadma_pp2_to_spdra_n1 _________ TransportTapitesting.test_26_connect_sprdc_n1_to_roadmc_pp2 __________ self = def test_26_connect_sprdc_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': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_26_connect_sprdc_n1_to_roadmc_pp2 _________ TransportTapitesting.test_27_connect_roadmc_pp2_to_spdrc_n1 __________ self = def test_27_connect_roadmc_pp2_to_spdrc_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-PP2-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:423: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_27_connect_roadmc_pp2_to_spdrc_n1 ____________ TransportTapitesting.test_28_check_tapi_topology_T100G ____________ self = def test_28_check_tapi_topology_T100G(self): > self.test_18_check_tapi_topology_T100G() transportpce_tests/tapi/test01_abstracted_topology.py:433: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test01_abstracted_topology.py:348: in test_18_check_tapi_topology_T100G response = test_utils.transportpce_api_rpc_request( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_28_check_tapi_topology_T100G _____________ TransportTapitesting.test_29_check_tapi_topology_T0 ______________ self = def test_29_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:437: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_29_check_tapi_topology_T0 _______________ TransportTapitesting.test_30_add_oms_attributes ________________ self = def test_30_add_oms_attributes(self): # Config ROADMA-ROADMC oms-attributes data = {"span": { "auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{ "SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}} response = test_utils.add_oms_attr_request( "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX", data) > self.assertEqual(response.status_code, requests.codes.created) E AssertionError: 401 != 201 transportpce_tests/tapi/test01_abstracted_topology.py:465: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_30_add_oms_attributes _____________ TransportTapitesting.test_31_create_OCH_OTU4_service _____________ self = def test_31_create_OCH_OTU4_service(self): > response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-create', self.cr_serv_input_data) transportpce_tests/tapi/test01_abstracted_topology.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_31_create_OCH_OTU4_service _____________ TransportTapitesting.test_32_check_tapi_topology_T0 ______________ self = def test_32_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:492: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_32_check_tapi_topology_T0 _______________ TransportTapitesting.test_33_create_ODU4_service _______________ self = def test_33_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/tapi/test01_abstracted_topology.py:521: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_33_create_ODU4_service _____________ TransportTapitesting.test_34_check_tapi_topology_T0 ______________ self = def test_34_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:531: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_34_check_tapi_topology_T0 ________ TransportTapitesting.test_35_connect_sprda_2_n2_to_roadma_pp3 _________ self = def test_35_connect_sprda_2_n2_to_roadma_pp3(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '2', 'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP3-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:555: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP3-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_35_connect_sprda_2_n2_to_roadma_pp3 ________ TransportTapitesting.test_36_connect_roadma_pp3_to_spdra_2_n2 _________ self = def test_36_connect_roadma_pp3_to_spdra_2_n2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '2', 'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP3-TXRX'}}) transportpce_tests/tapi/test01_abstracted_topology.py:565: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '2', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP3-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_36_connect_roadma_pp3_to_spdra_2_n2 _____________ TransportTapitesting.test_37_check_tapi_topology_T0 ______________ self = def test_37_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:576: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_37_check_tapi_topology_T0 _______________ TransportTapitesting.test_38_delete_ODU4_service _______________ self = def test_38_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/tapi/test01_abstracted_topology.py:594: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_38_delete_ODU4_service _____________ TransportTapitesting.test_39_delete_OCH_OTU4_service _____________ self = def test_39_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/tapi/test01_abstracted_topology.py:604: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 ----------------------------- Captured stdout call ----------------------------- execution of test_39_delete_OCH_OTU4_service _____________ TransportTapitesting.test_40_check_tapi_topology_T0 ______________ self = def test_40_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:614: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_40_check_tapi_topology_T0 _________ TransportTapitesting.test_41_disconnect_xponders_from_roadm __________ self = def test_41_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/tapi/test01_abstracted_topology.py:626: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_41_disconnect_xponders_from_roadm _____________ TransportTapitesting.test_42_check_tapi_topology_T0 ______________ self = def test_42_check_tapi_topology_T0(self): self.tapi_topo["topology-id"] = test_utils.T0_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:636: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '747c670e-7a07-3dab-b379-5b1cd17402a3'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_42_check_tapi_topology_T0 _____________ TransportTapitesting.test_43_get_tapi_topology_T100G _____________ self = def test_43_get_tapi_topology_T100G(self): self.tapi_topo["topology-id"] = test_utils.T100GE_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test01_abstracted_topology.py:650: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_43_get_tapi_topology_T100G ________________ TransportTapitesting.test_44_disconnect_roadma ________________ self = def test_44_disconnect_roadma(self): response = test_utils.unmount_device("ROADM-A1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test01_abstracted_topology.py:660: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_44_disconnect_roadma Searching for pattern 'onDeviceDisConnected:\ ROADM\-A1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-A1 still not deleted from tpce topology... ________________ TransportTapitesting.test_45_disconnect_roadmc ________________ self = def test_45_disconnect_roadmc(self): response = test_utils.unmount_device("ROADM-C1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test01_abstracted_topology.py:664: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_45_disconnect_roadmc Searching for pattern 'onDeviceDisConnected:\ ROADM\-C1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-C1 still not deleted from tpce topology... ________________ TransportTapitesting.test_46_check_tapi_topos _________________ self = def test_46_check_tapi_topos(self): > self.test_01_get_tapi_topology_T100G() transportpce_tests/tapi/test01_abstracted_topology.py:667: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test01_abstracted_topology.py:188: in test_01_get_tapi_topology_T100G response = test_utils.transportpce_api_rpc_request( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': 'cf51c729-3699-308a-a7d0-594c6a62ebbb'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_46_check_tapi_topos ________________ TransportTapitesting.test_47_disconnect_xpdra _________________ self = def test_47_disconnect_xpdra(self): response = test_utils.unmount_device("XPDR-A1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test01_abstracted_topology.py:672: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_47_disconnect_xpdra Searching for pattern 'onDeviceDisConnected:\ XPDR\-A1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A1 still not deleted from tpce topology... ________________ TransportTapitesting.test_48_disconnect_xpdrc _________________ self = def test_48_disconnect_xpdrc(self): response = test_utils.unmount_device("XPDR-C1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test01_abstracted_topology.py:676: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_48_disconnect_xpdrc Searching for pattern 'onDeviceDisConnected:\ XPDR\-C1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-C1 still not deleted from tpce topology... _______________ TransportTapitesting.test_49_disconnect_spdr_sa1 _______________ self = def test_49_disconnect_spdr_sa1(self): response = test_utils.unmount_device("SPDR-SA1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test01_abstracted_topology.py:680: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_49_disconnect_spdr_sa1 Searching for pattern 'onDeviceDisConnected:\ SPDR\-SA1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SA1 still not deleted from tpce topology... _______________ TransportTapitesting.test_50_disconnect_spdr_sc1 _______________ self = def test_50_disconnect_spdr_sc1(self): response = test_utils.unmount_device("SPDR-SC1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test01_abstracted_topology.py:684: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_50_disconnect_spdr_sc1 Searching for pattern 'onDeviceDisConnected:\ SPDR\-SC1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SC1 still not deleted from tpce topology... --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_01_get_tapi_topology_T100G FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_02_get_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_03_connect_rdmb FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_04_check_tapi_topos FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_05_disconnect_roadmb FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_06_connect_xpdra FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_07_check_tapi_topos FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_08_connect_rdma FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_09_connect_rdmc FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_10_check_tapi_topos FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_11_connect_xpdra_n1_to_roadma_pp1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_12_connect_roadma_pp1_to_xpdra_n1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_13_check_tapi_topology_T100G FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_14_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_15_connect_xpdrc FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_16_connect_xpdrc_n1_to_roadmc_pp1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_17_connect_roadmc_pp1_to_xpdrc_n1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_18_check_tapi_topology_T100G FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_19_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_20_connect_spdr_sa1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_21_connect_spdr_sc1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_22_check_tapi_topology_T100G FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_23_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_24_connect_sprda_n1_to_roadma_pp2 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_25_connect_roadma_pp2_to_spdra_n1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_26_connect_sprdc_n1_to_roadmc_pp2 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_27_connect_roadmc_pp2_to_spdrc_n1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_28_check_tapi_topology_T100G FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_29_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_30_add_oms_attributes FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_31_create_OCH_OTU4_service FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_32_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_33_create_ODU4_service FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_34_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_35_connect_sprda_2_n2_to_roadma_pp3 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_36_connect_roadma_pp3_to_spdra_2_n2 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_37_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_38_delete_ODU4_service FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_39_delete_OCH_OTU4_service FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_40_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_41_disconnect_xponders_from_roadm FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_42_check_tapi_topology_T0 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_43_get_tapi_topology_T100G FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_44_disconnect_roadma FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_45_disconnect_roadmc FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_46_check_tapi_topos FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_47_disconnect_xpdra FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_48_disconnect_xpdrc FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_49_disconnect_spdr_sa1 FAILED transportpce_tests/tapi/test01_abstracted_topology.py::TransportTapitesting::test_50_disconnect_spdr_sc1 50 failed in 2635.32s (0:43:55) tests121: OK ✔ in 38 minutes 4.85 seconds tests_tapi: exit 1 (2635.56 seconds) /w/workspace/transportpce-tox-verify-calcium/tests> ./launch_tests.sh tapi pid=30920 tests_tapi: FAIL ✖ in 44 minutes 16.7 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 41.41s pytest -q transportpce_tests/7.1/test02_otn_renderer.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [100%] =================================== FAILURES =================================== ______ TransportPCE400GPortMappingTesting.test_01_xpdr_device_connection _______ self = def test_01_xpdr_device_connection(self): response = test_utils.mount_device("XPDR-A2", ('xpdra2', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 500 != 201 : Http status code should be 201 transportpce_tests/7.1/test02_otn_renderer.py:62: 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 ----------------------------- Captured stdout call ----------------------------- execution of test_01_xpdr_device_connection 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... _____ TransportPCE400GPortMappingTesting.test_02_service_path_create_otuc2 _____ self = def test_02_service_path_create_otuc2(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'service_OTUC2', 'wave-number': '0', 'modulation-format': 'dp-qpsk', 'operation': 'create', 'nodes': [{'node-id': 'XPDR-A2', 'dest-tp': 'XPDR2-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 75, 'min-freq': 196.0375, 'max-freq': 196.125, 'lower-spectral-slot-number': 755, 'higher-spectral-slot-number': 768 }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:84: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_02_service_path_create_otuc2 _____ TransportPCE400GPortMappingTesting.test_03_get_portmapping_network1 ______ self = def test_03_get_portmapping_network1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:94: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_03_get_portmapping_network1 _______ TransportPCE400GPortMappingTesting.test_04_check_interface_otsi ________ self = def test_04_check_interface_otsi(self): # pylint: disable=line-too-long response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-755:768") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:104: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_04_check_interface_otsi Request failed. /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 _______ TransportPCE400GPortMappingTesting.test_05_check_interface_otsig _______ self = def test_05_check_interface_otsig(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-OTSIGROUP-200G") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:129: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_05_check_interface_otsig Request failed. /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-200G _______ TransportPCE400GPortMappingTesting.test_06_check_interface_otuc2 _______ self = def test_06_check_interface_otuc2(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-OTUC2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:148: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_06_check_interface_otuc2 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC2 ___ TransportPCE400GPortMappingTesting.test_07_otn_service_path_create_oduc2 ___ self = def test_07_otn_service_path_create_oduc2(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_ODUC2', 'operation': 'create', 'service-rate': '200', 'service-format': 'ODU', 'nodes': [{'node-id': 'XPDR-A2', 'network-tp': 'XPDR2-NETWORK1'}] }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:178: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_07_otn_service_path_create_oduc2 _____ TransportPCE400GPortMappingTesting.test_08_get_portmapping_network1 ______ self = def test_08_get_portmapping_network1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:185: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_08_get_portmapping_network1 _______ TransportPCE400GPortMappingTesting.test_09_check_interface_oduc2 _______ self = def test_09_check_interface_oduc2(self): response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-ODUC2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:194: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_09_check_interface_oduc2 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC2 ___ TransportPCE400GPortMappingTesting.test_10_otn_service_path_create_100ge ___ self = def test_10_otn_service_path_create_100ge(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_Ethernet', 'operation': 'create', 'service-rate': '100', 'service-format': 'Ethernet', 'nodes': [{'node-id': 'XPDR-A2', 'client-tp': 'XPDR2-CLIENT1', 'network-tp': 'XPDR2-NETWORK1'}], 'ethernet-encoding': 'eth encode', 'opucn-trib-slots': ['1.1', '1.20'] }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:235: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_10_otn_service_path_create_100ge ___ TransportPCE400GPortMappingTesting.test_11_check_interface_100ge_client ____ self = def test_11_check_interface_100ge_client(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: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:249: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_11_check_interface_100ge_client Request failed. /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 ____ TransportPCE400GPortMappingTesting.test_12_check_interface_odu4_client ____ self = def test_12_check_interface_odu4_client(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-CLIENT1-ODU4:service_Ethernet") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:266: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_12_check_interface_odu4_client Request failed. /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_Ethernet ___ TransportPCE400GPortMappingTesting.test_13_check_interface_odu4_network ____ self = def test_13_check_interface_odu4_network(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-ODU4:service_Ethernet") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:290: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_13_check_interface_odu4_network Request failed. /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_Ethernet ____ TransportPCE400GPortMappingTesting.test_14_check_odu_connection_xpdra2 ____ self = def test_14_check_odu_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: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:321: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_14_check_odu_connection_xpdra2 Request failed. /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 ___ TransportPCE400GPortMappingTesting.test_15_otn_service_path_delete_100ge ___ self = def test_15_otn_service_path_delete_100ge(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_Ethernet', 'operation': 'delete', 'service-rate': '100', 'service-format': 'Ethernet', 'nodes': [{'node-id': 'XPDR-A2', 'client-tp': 'XPDR2-CLIENT1', 'network-tp': 'XPDR2-NETWORK1'}], 'ethernet-encoding': 'eth encode', 'trib-slot': ['1'], 'trib-port-number': '1' }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:349: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_15_otn_service_path_delete_100ge ______ TransportPCE400GPortMappingTesting.test_16_check_no_odu_connection ______ self = def test_16_check_no_odu_connection(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.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:356: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_16_check_no_odu_connection Request failed. /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 __ TransportPCE400GPortMappingTesting.test_17_check_no_interface_odu_network ___ self = def test_17_check_no_interface_odu_network(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-ODU4:service_Ethernet") > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:361: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_17_check_no_interface_odu_network Request failed. /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_Ethernet ___ TransportPCE400GPortMappingTesting.test_18_check_no_interface_odu_client ___ self = def test_18_check_no_interface_odu_client(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-CLIENT1-ODU4:service_Ethernet") > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:366: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_18_check_no_interface_odu_client Request failed. /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_Ethernet __ TransportPCE400GPortMappingTesting.test_19_check_no_interface_100ge_client __ self = def test_19_check_no_interface_100ge_client(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: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:371: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_19_check_no_interface_100ge_client Request failed. /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 ___ TransportPCE400GPortMappingTesting.test_20_otn_service_path_delete_oduc2 ___ self = def test_20_otn_service_path_delete_oduc2(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_ODUC2', 'operation': 'delete', 'service-rate': '200', 'service-format': 'ODU', 'nodes': [{'node-id': 'XPDR-A2', 'network-tp': 'XPDR2-NETWORK1'}] }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:384: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_20_otn_service_path_delete_oduc2 _____ TransportPCE400GPortMappingTesting.test_21_check_no_interface_oduc2 ______ self = def test_21_check_no_interface_oduc2(self): response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-ODUC2") > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:391: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_21_check_no_interface_oduc2 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC2 __________ TransportPCE400GPortMappingTesting.test_21a_check_no_oduc2 __________ self = def test_21a_check_no_oduc2(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:395: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_21a_check_no_oduc2 _____ TransportPCE400GPortMappingTesting.test_22_service_path_delete_otuc2 _____ self = def test_22_service_path_delete_otuc2(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'service_OTUC2', 'wave-number': '0', 'modulation-format': 'dp-qpsk', 'operation': 'delete', 'nodes': [{'node-id': 'XPDR-A2', 'dest-tp': 'XPDR2-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 75, 'min-freq': 196.0375, 'max-freq': 196.125, 'lower-spectral-slot-number': 755, 'higher-spectral-slot-number': 768 }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:416: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_22_service_path_delete_otuc2 _____ TransportPCE400GPortMappingTesting.test_23_check_no_interface_otuc2 ______ self = def test_23_check_no_interface_otuc2(self): response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-OTUC2") > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:422: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_23_check_no_interface_otuc2 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC2 _____ TransportPCE400GPortMappingTesting.test_24_check_no_interface_otsig ______ self = def test_24_check_no_interface_otsig(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-OTSIGROUP-200G") > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:427: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_24_check_no_interface_otsig Request failed. /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-200G ______ TransportPCE400GPortMappingTesting.test_25_check_no_interface_otsi ______ self = def test_25_check_no_interface_otsi(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: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:431: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_25_check_no_interface_otsi Request failed. /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 __________ TransportPCE400GPortMappingTesting.test_25a_check_no_otuc2 __________ self = def test_25a_check_no_otuc2(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:434: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_25a_check_no_otuc2 _____ TransportPCE400GPortMappingTesting.test_26_service_path_create_otuc3 _____ self = def test_26_service_path_create_otuc3(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'service_OTUC3', 'wave-number': '0', 'modulation-format': 'dp-qam8', 'operation': 'create', 'nodes': [{'node-id': 'XPDR-A2', 'dest-tp': 'XPDR2-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 75, 'min-freq': 196.0375, 'max-freq': 196.125, 'lower-spectral-slot-number': 755, 'higher-spectral-slot-number': 768 }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:454: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_26_service_path_create_otuc3 _____ TransportPCE400GPortMappingTesting.test_27_get_portmapping_network1 ______ self = def test_27_get_portmapping_network1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:466: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_27_get_portmapping_network1 _______ TransportPCE400GPortMappingTesting.test_28_check_interface_otsi ________ self = def test_28_check_interface_otsi(self): # pylint: disable=line-too-long response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-755:768") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:476: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_28_check_interface_otsi Request failed. /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 _______ TransportPCE400GPortMappingTesting.test_29_check_interface_otsig _______ self = def test_29_check_interface_otsig(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-OTSIGROUP-300G") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:502: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_29_check_interface_otsig Request failed. /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-300G _______ TransportPCE400GPortMappingTesting.test_30_check_interface_otuc3 _______ self = def test_30_check_interface_otuc3(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-OTUC3") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:521: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_30_check_interface_otuc3 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC3 ___ TransportPCE400GPortMappingTesting.test_31_otn_service_path_create_oduc3 ___ self = def test_31_otn_service_path_create_oduc3(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_ODUC3', 'operation': 'create', 'service-rate': '300', 'service-format': 'ODU', 'nodes': [{'node-id': 'XPDR-A2', 'network-tp': 'XPDR2-NETWORK1'}] }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:551: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_31_otn_service_path_create_oduc3 _____ TransportPCE400GPortMappingTesting.test_32_get_portmapping_network1 ______ self = def test_32_get_portmapping_network1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:558: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_32_get_portmapping_network1 _______ TransportPCE400GPortMappingTesting.test_33_check_interface_oduc3 _______ self = def test_33_check_interface_oduc3(self): response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-ODUC3") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:567: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_33_check_interface_oduc3 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC3 ___ TransportPCE400GPortMappingTesting.test_34_otn_service_path_delete_oduc3 ___ self = def test_34_otn_service_path_delete_oduc3(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_ODUC3', 'operation': 'delete', 'service-rate': '300', 'service-format': 'ODU', 'nodes': [{'node-id': 'XPDR-A2', 'network-tp': 'XPDR2-NETWORK1'}] }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:611: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_34_otn_service_path_delete_oduc3 _____ TransportPCE400GPortMappingTesting.test_35_check_no_interface_oduc3 ______ self = def test_35_check_no_interface_oduc3(self): response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-ODUC3") > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:617: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_35_check_no_interface_oduc3 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A2/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-ODUC3 __________ TransportPCE400GPortMappingTesting.test_35a_check_no_oduc3 __________ self = def test_35a_check_no_oduc3(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:620: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_35a_check_no_oduc3 _____ TransportPCE400GPortMappingTesting.test_36_service_path_delete_otuc3 _____ self = def test_36_service_path_delete_otuc3(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'service_OTUC3', 'wave-number': '0', 'modulation-format': 'dp-qam8', 'operation': 'delete', 'nodes': [{'node-id': 'XPDR-A2', 'dest-tp': 'XPDR2-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 75, 'min-freq': 196.0375, 'max-freq': 196.125, 'lower-spectral-slot-number': 755, 'higher-spectral-slot-number': 768 }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:640: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_36_service_path_delete_otuc3 _____ TransportPCE400GPortMappingTesting.test_37_check_no_interface_otuc3 ______ self = def test_37_check_no_interface_otuc3(self): response = test_utils.check_node_attribute_request("XPDR-A1", "interface", "XPDR2-NETWORK1-OTUC3") > self.assertIn(response['status_code'], (requests.codes.conflict, requests.codes.service_unavailable)) E AssertionError: 500 not found in (409, 503) transportpce_tests/7.1/test02_otn_renderer.py:646: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_37_check_no_interface_otuc3 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC3 _____ TransportPCE400GPortMappingTesting.test_38_check_no_interface_otsig ______ self = def test_38_check_no_interface_otsig(self): response = test_utils.check_node_attribute_request( "XPDR-A1", "interface", "XPDR2-NETWORK1-OTSIGROUP-300G") > self.assertIn(response['status_code'], (requests.codes.conflict, requests.codes.service_unavailable)) E AssertionError: 500 not found in (409, 503) transportpce_tests/7.1/test02_otn_renderer.py:651: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_38_check_no_interface_otsig Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTSIGROUP-300G ______ TransportPCE400GPortMappingTesting.test_39_check_no_interface_otsi ______ self = def test_39_check_no_interface_otsi(self): response = test_utils.check_node_attribute_request("XPDR-A1", "interface", "XPDR2-NETWORK1-755:768") > self.assertIn(response['status_code'], (requests.codes.conflict, requests.codes.service_unavailable)) E AssertionError: 500 not found in (409, 503) transportpce_tests/7.1/test02_otn_renderer.py:655: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_39_check_no_interface_otsi Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-755:768 __________ TransportPCE400GPortMappingTesting.test_39a_check_no_otuc3 __________ self = def test_39a_check_no_otuc3(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:658: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_39a_check_no_otuc3 _____ TransportPCE400GPortMappingTesting.test_40_service_path_create_otuc4 _____ self = def test_40_service_path_create_otuc4(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'service_OTUC4', 'wave-number': '0', 'modulation-format': 'dp-qam16', 'operation': 'create', 'nodes': [{'node-id': 'XPDR-A2', 'dest-tp': 'XPDR2-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 75, 'min-freq': 196.0375, 'max-freq': 196.125, 'lower-spectral-slot-number': 755, 'higher-spectral-slot-number': 768 }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:678: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_40_service_path_create_otuc4 _____ TransportPCE400GPortMappingTesting.test_41_get_portmapping_network1 ______ self = def test_41_get_portmapping_network1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:690: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_41_get_portmapping_network1 _______ TransportPCE400GPortMappingTesting.test_42_check_interface_otsi ________ self = def test_42_check_interface_otsi(self): # pylint: disable=line-too-long response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-755:768") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:700: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_42_check_interface_otsi Request failed. /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 _______ TransportPCE400GPortMappingTesting.test_43_check_interface_otsig _______ self = def test_43_check_interface_otsig(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: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:726: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_43_check_interface_otsig Request failed. /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 _______ TransportPCE400GPortMappingTesting.test_44_check_interface_otuc4 _______ self = def test_44_check_interface_otuc4(self): response = test_utils.check_node_attribute_request( "XPDR-A2", "interface", "XPDR2-NETWORK1-OTUC4") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:745: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_44_check_interface_otuc4 Request failed. /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 ___ TransportPCE400GPortMappingTesting.test_45_otn_service_path_create_oduc3 ___ self = def test_45_otn_service_path_create_oduc3(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_ODUC4', 'operation': 'create', 'service-rate': '400', 'service-format': 'ODU', 'nodes': [{'node-id': 'XPDR-A2', 'network-tp': 'XPDR2-NETWORK1'}] }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:775: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_45_otn_service_path_create_oduc3 _____ TransportPCE400GPortMappingTesting.test_46_get_portmapping_network1 ______ self = def test_46_get_portmapping_network1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:782: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_46_get_portmapping_network1 _______ TransportPCE400GPortMappingTesting.test_47_check_interface_oduc4 _______ self = def test_47_check_interface_oduc4(self): response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-ODUC4") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:791: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_47_check_interface_oduc4 Request failed. /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 ___ TransportPCE400GPortMappingTesting.test_48_otn_service_path_delete_oduc4 ___ self = def test_48_otn_service_path_delete_oduc4(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'otn-service-path', { 'service-name': 'service_ODUC4', 'operation': 'delete', 'service-rate': '400', 'service-format': 'ODU', 'nodes': [{'node-id': 'XPDR-A2', 'network-tp': 'XPDR2-NETWORK1'}] }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:835: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_48_otn_service_path_delete_oduc4 _____ TransportPCE400GPortMappingTesting.test_49_check_no_interface_oduc4 ______ self = def test_49_check_no_interface_oduc4(self): response = test_utils.check_node_attribute_request("XPDR-A2", "interface", "XPDR2-NETWORK1-ODUC4") > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 500 != 409 transportpce_tests/7.1/test02_otn_renderer.py:841: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_49_check_no_interface_oduc4 Request failed. /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 __________ TransportPCE400GPortMappingTesting.test_49a_check_no_oduc4 __________ self = def test_49a_check_no_oduc4(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:844: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_49a_check_no_oduc4 _____ TransportPCE400GPortMappingTesting.test_50_service_path_delete_otuc4 _____ self = def test_50_service_path_delete_otuc4(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'service-path', { 'service-name': 'service_OTUC4', 'wave-number': '0', 'modulation-format': 'dp-qam16', 'operation': 'delete', 'nodes': [{'node-id': 'XPDR-A2', 'dest-tp': 'XPDR2-NETWORK1'}], 'center-freq': 196.1, 'nmc-width': 75, 'min-freq': 196.0375, 'max-freq': 196.125, 'lower-spectral-slot-number': 755, 'higher-spectral-slot-number': 768 }) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/7.1/test02_otn_renderer.py:864: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_50_service_path_delete_otuc4 _____ TransportPCE400GPortMappingTesting.test_51_check_no_interface_otuc4 ______ self = def test_51_check_no_interface_otuc4(self): response = test_utils.check_node_attribute_request("XPDR-A1", "interface", "XPDR2-NETWORK1-OTUC4") > self.assertIn(response['status_code'], (requests.codes.conflict, requests.codes.service_unavailable)) E AssertionError: 500 not found in (409, 503) transportpce_tests/7.1/test02_otn_renderer.py:870: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_51_check_no_interface_otuc4 Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTUC4 _____ TransportPCE400GPortMappingTesting.test_52_check_no_interface_otsig ______ self = def test_52_check_no_interface_otsig(self): response = test_utils.check_node_attribute_request( "XPDR-A1", "interface", "XPDR2-NETWORK1-OTSIGROUP-400G") > self.assertIn(response['status_code'], (requests.codes.conflict, requests.codes.service_unavailable)) E AssertionError: 500 not found in (409, 503) transportpce_tests/7.1/test02_otn_renderer.py:875: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_52_check_no_interface_otsig Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-OTSIGROUP-400G ______ TransportPCE400GPortMappingTesting.test_53_check_no_interface_otsi ______ self = def test_53_check_no_interface_otsi(self): response = test_utils.check_node_attribute_request("XPDR-A1", "interface", "XPDR2-NETWORK1-755:768") > self.assertIn(response['status_code'], (requests.codes.conflict, requests.codes.service_unavailable)) E AssertionError: 500 not found in (409, 503) transportpce_tests/7.1/test02_otn_renderer.py:879: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_53_check_no_interface_otsi Request failed. /rests/data/network-topology:network-topology/topology=topology-netconf/node=XPDR-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface=XPDR2-NETWORK1-755:768 __________ TransportPCE400GPortMappingTesting.test_53a_check_no_otuc4 __________ self = def test_53a_check_no_otuc4(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test02_otn_renderer.py:882: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_53a_check_no_otuc4 _____ TransportPCE400GPortMappingTesting.test_54_xpdr_device_disconnection _____ self = def test_54_xpdr_device_disconnection(self): response = test_utils.unmount_device("XPDR-A2") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 500 not found in (200, 204) transportpce_tests/7.1/test02_otn_renderer.py:888: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_54_xpdr_device_disconnection Searching for pattern 'onDeviceDisConnected:\ XPDR\-A2' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A2 still not deleted from tpce topology... _____ TransportPCE400GPortMappingTesting.test_55_xpdr_device_disconnected ______ self = def test_55_xpdr_device_disconnected(self): > response = test_utils.check_device_connection("XPDR-A2") transportpce_tests/7.1/test02_otn_renderer.py:891: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2' def check_device_connection(node: str): url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}?content=nonconfig', 'draft-bierman02': '{}/operational/network-topology:network-topology/topology/topology-netconf/node/{}'} response = get_request(url[RESTCONF_VERSION].format('{}', node)) res = response.json() return_key = {'rfc8040': 'network-topology:node', 'draft-bierman02': 'node'} if return_key[RESTCONF_VERSION] in res.keys(): connection_status = res[return_key[RESTCONF_VERSION]][0]['netconf-node-topology:connection-status'] else: > connection_status = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:376: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_55_xpdr_device_disconnected _____ TransportPCE400GPortMappingTesting.test_56_xpdr_device_not_connected _____ self = def test_56_xpdr_device_not_connected(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "node-info", None) transportpce_tests/7.1/test02_otn_renderer.py:899: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'node-info', value = None def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_56_xpdr_device_not_connected --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_01_xpdr_device_connection FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_02_service_path_create_otuc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_03_get_portmapping_network1 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_04_check_interface_otsi FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_05_check_interface_otsig FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_06_check_interface_otuc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_07_otn_service_path_create_oduc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_08_get_portmapping_network1 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_09_check_interface_oduc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_10_otn_service_path_create_100ge FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_11_check_interface_100ge_client FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_12_check_interface_odu4_client FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_13_check_interface_odu4_network FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_14_check_odu_connection_xpdra2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_15_otn_service_path_delete_100ge FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_16_check_no_odu_connection FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_17_check_no_interface_odu_network FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_18_check_no_interface_odu_client FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_19_check_no_interface_100ge_client FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_20_otn_service_path_delete_oduc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_21_check_no_interface_oduc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_21a_check_no_oduc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_22_service_path_delete_otuc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_23_check_no_interface_otuc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_24_check_no_interface_otsig FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_25_check_no_interface_otsi FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_25a_check_no_otuc2 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_26_service_path_create_otuc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_27_get_portmapping_network1 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_28_check_interface_otsi FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_29_check_interface_otsig FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_30_check_interface_otuc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_31_otn_service_path_create_oduc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_32_get_portmapping_network1 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_33_check_interface_oduc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_34_otn_service_path_delete_oduc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_35_check_no_interface_oduc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_35a_check_no_oduc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_36_service_path_delete_otuc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_37_check_no_interface_otuc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_38_check_no_interface_otsig FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_39_check_no_interface_otsi FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_39a_check_no_otuc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_40_service_path_create_otuc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_41_get_portmapping_network1 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_42_check_interface_otsi FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_43_check_interface_otsig FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_44_check_interface_otuc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_45_otn_service_path_create_oduc3 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_46_get_portmapping_network1 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_47_check_interface_oduc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_48_otn_service_path_delete_oduc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_49_check_no_interface_oduc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_49a_check_no_oduc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_50_service_path_delete_otuc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_51_check_no_interface_otuc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_52_check_no_interface_otsig FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_53_check_no_interface_otsi FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_53a_check_no_otuc4 FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_54_xpdr_device_disconnection FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_55_xpdr_device_disconnected FAILED transportpce_tests/7.1/test02_otn_renderer.py::TransportPCE400GPortMappingTesting::test_56_xpdr_device_not_connected 62 failed in 507.08s (0:08:27) tests71: exit 1 (548.99 seconds) /w/workspace/transportpce-tox-verify-calcium/tests> ./launch_tests.sh 7.1 pid=41222 tests71: FAIL ✖ in 9 minutes 15.72 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%] 35 passed in 70.23s (0:01:10) pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py ...... [100%] 6 passed in 40.79s pytest -q transportpce_tests/2.2.1/test03_topology.py ............................................ [100%] 44 passed in 128.69s (0:02:08) pytest -q transportpce_tests/2.2.1/test04_otn_topology.py ............ [100%] 12 passed in 57.61s pytest -q transportpce_tests/2.2.1/test05_flex_grid.py ................ [100%] 16 passed in 111.92s (0:01:51) pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py ............................... [100%] 31 passed in 31.32s pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py .......................... [100%] 26 passed in 88.01s (0:01:28) pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py ...................... [100%] 22 passed in 96.09s (0:01:36) pytest -q transportpce_tests/2.2.1/test09_olm.py ........................................ [100%] 40 passed in 354.17s (0:05:54) pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py ........................................................................ [ 74%] ......................... [100%] 97 passed in 482.62s (0:08:02) pytest -q transportpce_tests/2.2.1/test12_end2end.py ...................................................... [100%] 54 passed in 440.03s (0:07:20) pytest -q transportpce_tests/2.2.1/test14_otn_switch_end2end.py ........................................................................ [ 71%] ............................. [100%] 101 passed in 664.35s (0:11:04) pytest -q transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py ........FF...........FF..FF.FF.FFFFFFFF.FFFFFFFFFFFFF....FFFF....F..FFF. [ 67%] FFF.FFFFFFFF....FFFFFFF....FF...... [100%] =================================== FAILURES =================================== ________ TransportPCEtesting.test_009_connect_sprdC_1_N1_to_roadmC_PP1 _________ self = def test_009_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'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:209: AssertionError ________ TransportPCEtesting.test_010_connect_roadmC_PP1_to_spdrC_1_N1 _________ self = def test_010_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'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:218: AssertionError _____________ TransportPCEtesting.test_022_create_OTS_ROADMC_DEG2 ______________ self = def test_022_create_OTS_ROADMC_DEG2(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'create-ots-oms', { 'node-id': 'ROADM-C1', 'logical-connection-point': 'DEG2-TTP-TXRX' }) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Interfaces OTS-DEG2-TTP-TXRX - OMS-DEG2-TTP-TXRX successfully created on node ROADM-C1', response["output"]["result"]) E AssertionError: 'Interfaces OTS-DEG2-TTP-TXRX - OMS-DEG2-TTP-TXRX successfully created on node ROADM-C1' not found in 'ROADM-C1 is not mounted on the controller' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:363: AssertionError __________ TransportPCEtesting.test_023_calculate_span_loss_base_all ___________ self = def test_023_calculate_span_loss_base_all(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'calculate-spanloss-base', { 'src-type': 'all' }) self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn('Success', response["output"]["result"]) > self.assertIn({ "spanloss": "25.7", "link-id": "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX" }, response["output"]["spans"]) E AssertionError: {'spanloss': '25.7', 'link-id': 'ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX'} not found in [{'spanloss': '23.6', 'link-id': 'ROADM-B1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG1-DEG1-TTP-TXRX'}, {'spanloss': '23.6', 'link-id': 'ROADM-A1-DEG1-DEG1-TTP-TXRXtoROADM-B1-DEG1-DEG1-TTP-TXRX'}] transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:374: AssertionError _____________ TransportPCEtesting.test_026_get_OCH_OTU4_service_AB _____________ self = def test_026_get_OCH_OTU4_service_AB(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-OCH-OTU4-AB") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:419: AssertionError ____________ TransportPCEtesting.test_027_check_otn_topo_otu4_links ____________ self = def test_027_check_otn_topo_otu4_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 2) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:429: KeyError _____________ TransportPCEtesting.test_029_get_OCH_OTU4_service_BC _____________ self = def test_029_get_OCH_OTU4_service_BC(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-OCH-OTU4-BC") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:470: AssertionError ____________ TransportPCEtesting.test_030_check_otn_topo_otu4_links ____________ self = def test_030_check_otn_topo_otu4_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 4) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:480: KeyError ______________ TransportPCEtesting.test_032_get_ODU4_service_ABC _______________ self = def test_032_get_ODU4_service_ABC(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-ODU4-ABC") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:533: AssertionError ___________ TransportPCEtesting.test_033_check_interface_ODU4_spdra ____________ self = def test_033_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:543: AssertionError ___________ TransportPCEtesting.test_034_check_interface_ODU4_spdrc ____________ self = def test_034_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:576: AssertionError _______ TransportPCEtesting.test_035_check_interface_ODU4_NETWORK1_spdrb _______ self = def test_035_check_interface_ODU4_NETWORK1_spdrb(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'interface', 'XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:608: AssertionError _______ TransportPCEtesting.test_036_check_interface_ODU4_NETWORK2_spdrb _______ self = def test_036_check_interface_ODU4_NETWORK2_spdrb(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'interface', 'XPDR2-NETWORK2-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:629: AssertionError ___________ TransportPCEtesting.test_037_check_ODU4_connection_spdrb ___________ self = def test_037_check_ODU4_connection_spdrb(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'odu-connection', 'XPDR2-NETWORK1-ODU4-x-XPDR2-NETWORK2-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:651: AssertionError ______________ TransportPCEtesting.test_038_check_otn_topo_links _______________ self = def test_038_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 6) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:667: KeyError ________________ TransportPCEtesting.test_039_check_otn_topo_tp ________________ self = def test_039_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] == 'SPDR-SA1-XPDR1' or node['node-id'] == 'SPDR-SC1-XPDR1': tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR1-NETWORK1': xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] > self.assertEqual(len(xpdrTpPortConAt['ts-pool']), 80) E KeyError: 'ts-pool' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:698: KeyError ________________ TransportPCEtesting.test_041_get_10GE_service1 ________________ self = def test_041_get_10GE_service1(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service1-10GE") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:731: AssertionError ________ TransportPCEtesting.test_042_check_interface_10GE_CLIENT_spdra ________ self = def test_042_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:741: AssertionError _______ TransportPCEtesting.test_043_check_interface_ODU2E_CLIENT_spdra ________ self = def test_043_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:755: AssertionError _______ TransportPCEtesting.test_044_check_interface_ODU2E_NETWORK_spdra _______ self = def test_044_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:796: AssertionError __________ TransportPCEtesting.test_045_check_ODU2E_connection_spdra ___________ self = def test_045_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:825: AssertionError ________ TransportPCEtesting.test_046_check_interface_10GE_CLIENT_spdrc ________ self = def test_046_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:841: AssertionError _______ TransportPCEtesting.test_047_check_interface_ODU2E_CLIENT_spdrc ________ self = def test_047_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:855: AssertionError _______ TransportPCEtesting.test_048_check_interface_ODU2E_NETWORK_spdrc _______ self = def test_048_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:896: AssertionError __________ TransportPCEtesting.test_049_check_ODU2E_connection_spdrc ___________ self = def test_049_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:925: AssertionError ______________ TransportPCEtesting.test_050_check_otn_topo_links _______________ self = def test_050_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 6) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:941: KeyError ________________ TransportPCEtesting.test_051_check_otn_topo_tp ________________ self = def test_051_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] == 'SPDR-SA1-XPDR1' or node['node-id'] == 'SPDR-SC1-XPDR1': tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR1-NETWORK1': xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] > self.assertEqual(len(xpdrTpPortConAt['ts-pool']), 72) E KeyError: 'ts-pool' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:960: KeyError _______________ TransportPCEtesting.test_052_delete_10GE_service _______________ self = def test_052_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) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service1-10GE' does not exist in datastore" transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:975: AssertionError _______________ TransportPCEtesting.test_053_check_service_list ________________ self = def test_053_check_service_list(self): response = test_utils.get_ordm_serv_list_request() > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:981: AssertionError ______________ TransportPCEtesting.test_058_check_otn_topo_links _______________ self = def test_058_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 6) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1009: KeyError ________________ TransportPCEtesting.test_059_check_otn_topo_tp ________________ self = def test_059_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if (node['node-id'] == 'SPDR-SA1-XPDR1' or node['node-id'] == 'SPDR-SC1-XPDR1'): tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR1-NETWORK1': xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] > self.assertEqual(len(xpdrTpPortConAt['ts-pool']), 80) E KeyError: 'ts-pool' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1028: KeyError _______________ TransportPCEtesting.test_060_delete_ODU4_service _______________ self = def test_060_delete_ODU4_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-ODU4-ABC" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-ODU4-ABC' does not exist in datastore" transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1038: AssertionError _______________ TransportPCEtesting.test_061_check_service_list ________________ self = def test_061_check_service_list(self): response = test_utils.get_ordm_serv_list_request() > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1044: AssertionError ______________ TransportPCEtesting.test_066_check_otn_topo_links _______________ self = def test_066_check_otn_topo_links(self): > self.test_030_check_otn_topo_otu4_links() transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1073: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_030_check_otn_topo_otu4_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 4) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:480: KeyError _______________ TransportPCEtesting.test_069_get_ODU4_service_AB _______________ self = def test_069_get_ODU4_service_AB(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-ODU4-AB") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1119: AssertionError ___________ TransportPCEtesting.test_070_check_interface_ODU4_spdra ____________ self = def test_070_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1129: AssertionError __________ TransportPCEtesting.test_071_check_interface_ODU4_spdrb_N1 __________ self = def test_071_check_interface_ODU4_spdrb_N1(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'interface', 'XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1168: AssertionError _______________ TransportPCEtesting.test_073_get_ODU4_service_AB _______________ self = def test_073_get_ODU4_service_AB(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-ODU4-BC") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1231: AssertionError __________ TransportPCEtesting.test_074_check_interface_ODU4_spdrb_N2 __________ self = def test_074_check_interface_ODU4_spdrb_N2(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'interface', 'XPDR2-NETWORK2-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1241: AssertionError ___________ TransportPCEtesting.test_075_check_interface_ODU4_spdrc ____________ self = def test_075_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: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1279: AssertionError _________ TransportPCEtesting.test_077_check_configuration_spdra_spdrc _________ self = def test_077_check_configuration_spdra_spdrc(self): > self.test_041_get_10GE_service1() transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1347: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:731: in test_041_get_10GE_service1 self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ______ TransportPCEtesting.test_078_check_interface_ODU2E_NETWORK1_spdrb _______ self = def test_078_check_interface_ODU2E_NETWORK1_spdrb(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'interface', 'XPDR2-NETWORK1-ODU2e:service1-10GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1359: AssertionError ______ TransportPCEtesting.test_079_check_interface_ODU2E_NETWORK2_spdrb _______ self = def test_079_check_interface_ODU2E_NETWORK2_spdrb(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'interface', 'XPDR2-NETWORK2-ODU2e:service1-10GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1387: AssertionError __________ TransportPCEtesting.test_080_check_ODU2E_connection_spdrb ___________ self = def test_080_check_ODU2E_connection_spdrb(self): response = test_utils.check_node_attribute_request( 'SPDR-SB1', 'odu-connection', 'XPDR2-NETWORK1-ODU2e-x-XPDR2-NETWORK2-ODU2e') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1415: AssertionError ______________ TransportPCEtesting.test_081_check_otn_topo_links _______________ self = def test_081_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 8) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1431: KeyError ________________ TransportPCEtesting.test_082_check_otn_topo_tp ________________ self = def test_082_check_otn_topo_tp(self): > self.test_051_check_otn_topo_tp() transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1444: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_051_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] == 'SPDR-SA1-XPDR1' or node['node-id'] == 'SPDR-SC1-XPDR1': tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR1-NETWORK1': xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] > self.assertEqual(len(xpdrTpPortConAt['ts-pool']), 72) E KeyError: 'ts-pool' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:960: KeyError _______________ TransportPCEtesting.test_083_delete_10GE_service _______________ self = def test_083_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) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service1-10GE' does not exist in datastore" transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1452: AssertionError _______________ TransportPCEtesting.test_084_check_service_list ________________ self = def test_084_check_service_list(self): response = test_utils.get_ordm_serv_list_request() > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1458: AssertionError ______________ TransportPCEtesting.test_089_check_otn_topo_links _______________ self = def test_089_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 8) E KeyError: 'ietf-network-topology:link' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1487: KeyError ________________ TransportPCEtesting.test_090_check_otn_topo_tp ________________ self = def test_090_check_otn_topo_tp(self): > self.test_059_check_otn_topo_tp() transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1500: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_059_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if (node['node-id'] == 'SPDR-SA1-XPDR1' or node['node-id'] == 'SPDR-SC1-XPDR1'): tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR1-NETWORK1': xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] > self.assertEqual(len(xpdrTpPortConAt['ts-pool']), 80) E KeyError: 'ts-pool' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1028: KeyError _____________ TransportPCEtesting.test_091_delete_ODU4_service_AB ______________ self = def test_091_delete_ODU4_service_AB(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-ODU4-AB" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-ODU4-AB' does not exist in datastore" transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1508: AssertionError _____________ TransportPCEtesting.test_092_delete_ODU4_service_BC ______________ self = def test_092_delete_ODU4_service_BC(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-ODU4-BC" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-ODU4-BC' does not exist in datastore" transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1518: AssertionError _______________ TransportPCEtesting.test_093_check_global_config _______________ self = def test_093_check_global_config(self): > self.test_061_check_service_list() transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1523: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1044: in test_061_check_service_list self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ___________ TransportPCEtesting.test_094_delete_OCH_OTU4_service_AB ____________ self = def test_094_delete_OCH_OTU4_service_AB(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-OCH-OTU4-AB" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-OCH-OTU4-AB' does not exist in datastore" transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1537: AssertionError ___________ TransportPCEtesting.test_095_delete_OCH_OTU4_service_BC ____________ self = def test_095_delete_OCH_OTU4_service_BC(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-OCH-OTU4-BC" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-OCH-OTU4-BC' does not exist in datastore" transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1547: AssertionError _________ TransportPCEtesting.test_100_disconnect_xponders_from_roadm __________ self = def test_100_disconnect_xponders_from_roadm(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) links = response['network'][0]['ietf-network-topology:link'] for link in links: > if link["org-openroadm-common-network:link-type"] in ('XPONDER-OUTPUT', 'XPONDER-INPUT'): E KeyError: 'org-openroadm-common-network:link-type' transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1590: KeyError ____________ TransportPCEtesting.test_101_check_openroadm_topology _____________ self = def test_101_check_openroadm_topology(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) links = response['network'][0]['ietf-network-topology:link'] > self.assertEqual(28, len(links), 'Topology should contain 28 links') E AssertionError: 28 != 24 : Topology should contain 28 links transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py:1599: AssertionError =========================== short test summary info ============================ FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_009_connect_sprdC_1_N1_to_roadmC_PP1 FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_010_connect_roadmC_PP1_to_spdrC_1_N1 FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_022_create_OTS_ROADMC_DEG2 FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_023_calculate_span_loss_base_all FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_026_get_OCH_OTU4_service_AB FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_027_check_otn_topo_otu4_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_029_get_OCH_OTU4_service_BC FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_030_check_otn_topo_otu4_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_032_get_ODU4_service_ABC FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_033_check_interface_ODU4_spdra FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_034_check_interface_ODU4_spdrc FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_035_check_interface_ODU4_NETWORK1_spdrb FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_036_check_interface_ODU4_NETWORK2_spdrb FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_037_check_ODU4_connection_spdrb FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_038_check_otn_topo_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_039_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_041_get_10GE_service1 FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_042_check_interface_10GE_CLIENT_spdra FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_043_check_interface_ODU2E_CLIENT_spdra FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_044_check_interface_ODU2E_NETWORK_spdra FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_045_check_ODU2E_connection_spdra FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_046_check_interface_10GE_CLIENT_spdrc FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_047_check_interface_ODU2E_CLIENT_spdrc FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_048_check_interface_ODU2E_NETWORK_spdrc FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_049_check_ODU2E_connection_spdrc FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_050_check_otn_topo_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_051_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_052_delete_10GE_service FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_053_check_service_list FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_058_check_otn_topo_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_059_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_060_delete_ODU4_service FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_061_check_service_list FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_066_check_otn_topo_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_069_get_ODU4_service_AB FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_070_check_interface_ODU4_spdra FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_071_check_interface_ODU4_spdrb_N1 FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_073_get_ODU4_service_AB FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_074_check_interface_ODU4_spdrb_N2 FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_075_check_interface_ODU4_spdrc FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_077_check_configuration_spdra_spdrc FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_078_check_interface_ODU2E_NETWORK1_spdrb FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_079_check_interface_ODU2E_NETWORK2_spdrb FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_080_check_ODU2E_connection_spdrb FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_081_check_otn_topo_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_082_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_083_delete_10GE_service FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_084_check_service_list FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_089_check_otn_topo_links FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_090_check_otn_topo_tp FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_091_delete_ODU4_service_AB FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_092_delete_ODU4_service_BC FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_093_check_global_config FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_094_delete_OCH_OTU4_service_AB FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_095_delete_OCH_OTU4_service_BC FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_100_disconnect_xponders_from_roadm FAILED transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py::TransportPCEtesting::test_101_check_openroadm_topology 57 failed, 50 passed in 794.55s (0:13:14) tests221: exit 1 (3363.32 seconds) /w/workspace/transportpce-tox-verify-calcium/tests> ./launch_tests.sh 2.2.1 pid=42480 tests221: FAIL ✖ in 56 minutes 9.72 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.43.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 148.83s (0:02:28) pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py ........................................................................ [ 66%] ..................................... [100%] 109 passed in 424.78s (0:07:04) pytest -q transportpce_tests/hybrid/test03_autonomous_reroute.py .......FF...F.FF.F..FF.....F..FF.FF.FFFF.FFFFFFF..... [100%] =================================== FAILURES =================================== ________ TransportPCEtesting.test_08_connect_xpdrc2_1_N1_to_roadmc_PP1 _________ self = def test_08_connect_xpdrc2_1_N1_to_roadmc_PP1(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'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:807: AssertionError ________ TransportPCEtesting.test_09_connect_roadmc_PP1_to_xpdrc2_1_N1 _________ self = def test_09_connect_roadmc_PP1_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'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:815: AssertionError _________________ TransportPCEtesting.test_13_get_eth_service1 _________________ self = def test_13_get_eth_service1(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service1") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:860: AssertionError _________________ TransportPCEtesting.test_15_get_eth_service1 _________________ self = def test_15_get_eth_service1(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service1") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:877: AssertionError _____________ TransportPCEtesting.test_16_service_reroute_service1 _____________ self = def test_16_service_reroute_service1(self): response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-reroute', { "sdnc-request-header": { "request-id": "request-1", "rpc-action": "service-reroute", "request-system-id": "appname" }, "service-name": "service1", "service-resiliency": { "resiliency": "org-openroadm-common-service-types:restorable" } }) self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn('500', response['output']['configuration-response-common']['response-code']) > self.assertIn('No path available by PCE', response['output']['configuration-response-common']['response-message']) E AssertionError: 'No path available by PCE' not found in "Service 'service1' does not exist in datastore" transportpce_tests/hybrid/test03_autonomous_reroute.py:903: AssertionError _________________ TransportPCEtesting.test_18_get_eth_service1 _________________ self = def test_18_get_eth_service1(self): > self.test_13_get_eth_service1() transportpce_tests/hybrid/test03_autonomous_reroute.py:914: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/hybrid/test03_autonomous_reroute.py:860: in test_13_get_eth_service1 self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ________ TransportPCEtesting.test_21_connect_xpdrc2_3_N1_to_roadmc_PP2 _________ self = def test_21_connect_xpdrc2_3_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': '3', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:939: AssertionError ________ TransportPCEtesting.test_22_connect_roadmc_PP2_to_xpdrc2_3_N1 _________ self = def test_22_connect_roadmc_PP2_to_xpdrc2_3_N1(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-C2', 'xpdr-num': '3', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP2-TXRX'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:948: AssertionError ______________ TransportPCEtesting.test_28_create_OTS_ROADMC_DEG2 ______________ self = def test_28_create_OTS_ROADMC_DEG2(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-device-renderer', 'create-ots-oms', { 'node-id': 'ROADM-C1', 'logical-connection-point': 'DEG2-TTP-TXRX' }) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Interfaces OTS-DEG2-TTP-TXRX - OMS-DEG2-TTP-TXRX successfully created on node ROADM-C1', response["output"]["result"]) E AssertionError: 'Interfaces OTS-DEG2-TTP-TXRX - OMS-DEG2-TTP-TXRX successfully created on node ROADM-C1' not found in 'ROADM-C1 is not mounted on the controller' transportpce_tests/hybrid/test03_autonomous_reroute.py:1031: AssertionError ___________ TransportPCEtesting.test_31_calculate_span_loss_base_all ___________ self = def test_31_calculate_span_loss_base_all(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-olm', 'calculate-spanloss-base', { 'src-type': 'all' }) self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn('Success', response["output"]["result"]) > self.assertIn({ "spanloss": "25.7", "link-id": "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX" }, response["output"]["spans"]) E AssertionError: {'spanloss': '25.7', 'link-id': 'ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX'} not found in [{'spanloss': '23.6', 'link-id': 'ROADM-B1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG1-DEG1-TTP-TXRX'}, {'spanloss': '23.6', 'link-id': 'ROADM-A1-DEG1-DEG1-TTP-TXRXtoROADM-B1-DEG1-DEG1-TTP-TXRX'}] transportpce_tests/hybrid/test03_autonomous_reroute.py:1064: AssertionError ____________ TransportPCEtesting.test_32_get_service_path_service_1 ____________ self = def test_32_get_service_path_service_1(self): response = test_utils.get_serv_path_list_attr("service-paths", "service1") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:1092: AssertionError _________________ TransportPCEtesting.test_34_get_eth_service2 _________________ self = def test_34_get_eth_service2(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:1109: AssertionError ____________ TransportPCEtesting.test_35_get_service_path_service_2 ____________ self = def test_35_get_service_path_service_2(self): response = test_utils.get_serv_path_list_attr("service-paths", "service2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:1120: AssertionError _________________ TransportPCEtesting.test_37_get_eth_service1 _________________ self = def test_37_get_eth_service1(self): > self.test_13_get_eth_service1() transportpce_tests/hybrid/test03_autonomous_reroute.py:1131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/hybrid/test03_autonomous_reroute.py:860: in test_13_get_eth_service1 self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ____________ TransportPCEtesting.test_38_get_service_path_service_1 ____________ self = def test_38_get_service_path_service_1(self): response = test_utils.get_serv_path_list_attr("service-paths", "service1") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:1135: AssertionError _________________ TransportPCEtesting.test_39_get_eth_service2 _________________ self = def test_39_get_eth_service2(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service2") > self.assertEqual(response['services'][0]['operational-state'], 'outOfService') E KeyError: 0 transportpce_tests/hybrid/test03_autonomous_reroute.py:1142: KeyError ____________ TransportPCEtesting.test_40_get_service_path_service_2 ____________ self = def test_40_get_service_path_service_2(self): response = test_utils.get_serv_path_list_attr("service-paths", "service2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test03_autonomous_reroute.py:1152: AssertionError _________________ TransportPCEtesting.test_42_get_eth_service1 _________________ self = def test_42_get_eth_service1(self): > self.test_13_get_eth_service1() transportpce_tests/hybrid/test03_autonomous_reroute.py:1194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/hybrid/test03_autonomous_reroute.py:860: in test_13_get_eth_service1 self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ____________ TransportPCEtesting.test_43_get_service_path_service_1 ____________ self = def test_43_get_service_path_service_1(self): > self.test_38_get_service_path_service_1() transportpce_tests/hybrid/test03_autonomous_reroute.py:1197: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/hybrid/test03_autonomous_reroute.py:1135: in test_38_get_service_path_service_1 self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 _________________ TransportPCEtesting.test_44_get_eth_service2 _________________ self = def test_44_get_eth_service2(self): > self.test_34_get_eth_service2() transportpce_tests/hybrid/test03_autonomous_reroute.py:1200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/hybrid/test03_autonomous_reroute.py:1109: in test_34_get_eth_service2 self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ____________ TransportPCEtesting.test_45_get_service_path_service_2 ____________ self = def test_45_get_service_path_service_2(self): > self.test_35_get_service_path_service_2() transportpce_tests/hybrid/test03_autonomous_reroute.py:1203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/hybrid/test03_autonomous_reroute.py:1120: in test_35_get_service_path_service_2 self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 _______________ TransportPCEtesting.test_46_delete_eth_service2 ________________ self = def test_46_delete_eth_service2(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service2" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service2' does not exist in datastore" transportpce_tests/hybrid/test03_autonomous_reroute.py:1211: AssertionError _______________ TransportPCEtesting.test_47_delete_eth_service1 ________________ self = def test_47_delete_eth_service1(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service1" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service1' does not exist in datastore" transportpce_tests/hybrid/test03_autonomous_reroute.py:1221: AssertionError __________ TransportPCEtesting.test_48_disconnect_xponders_from_roadm __________ self = def test_48_disconnect_xponders_from_roadm(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) links = response['network'][0]['ietf-network-topology:link'] for link in links: > if link["org-openroadm-common-network:link-type"] in ('XPONDER-OUTPUT', 'XPONDER-INPUT'): E KeyError: 'org-openroadm-common-network:link-type' transportpce_tests/hybrid/test03_autonomous_reroute.py:1230: KeyError =========================== short test summary info ============================ FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_08_connect_xpdrc2_1_N1_to_roadmc_PP1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_09_connect_roadmc_PP1_to_xpdrc2_1_N1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_13_get_eth_service1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_15_get_eth_service1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_16_service_reroute_service1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_18_get_eth_service1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_21_connect_xpdrc2_3_N1_to_roadmc_PP2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_22_connect_roadmc_PP2_to_xpdrc2_3_N1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_28_create_OTS_ROADMC_DEG2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_31_calculate_span_loss_base_all FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_32_get_service_path_service_1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_34_get_eth_service2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_35_get_service_path_service_2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_37_get_eth_service1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_38_get_service_path_service_1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_39_get_eth_service2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_40_get_service_path_service_2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_42_get_eth_service1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_43_get_service_path_service_1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_44_get_eth_service2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_45_get_service_path_service_2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_46_delete_eth_service2 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_47_delete_eth_service1 FAILED transportpce_tests/hybrid/test03_autonomous_reroute.py::TransportPCEtesting::test_48_disconnect_xponders_from_roadm 24 failed, 29 passed in 557.34s (0:09:17) tests_hybrid: exit 1 (1131.68 seconds) /w/workspace/transportpce-tox-verify-calcium/tests> ./launch_tests.sh hybrid pid=55805 tests_hybrid: FAIL ✖ in 19 minutes 9.61 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.43.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-calcium/lighty> ./build.sh buildcontroller: OK (110.91=setup[7.31]+cmd[103.60] seconds) testsPCE: OK (350.09=setup[105.46]+cmd[244.63] seconds) sims: OK (9.71=setup[6.80]+cmd[2.91] seconds) build_karaf_tests121: OK (68.54=setup[6.80]+cmd[61.74] seconds) tests121: OK (2284.85=setup[6.22]+cmd[2278.63] seconds) build_karaf_tests221: OK (66.40=setup[6.98]+cmd[59.42] seconds) tests_tapi: FAIL code 1 (2656.70=setup[21.14]+cmd[2635.56] seconds) tests221: FAIL code 1 (3369.72=setup[6.40]+cmd[3363.32] seconds) build_karaf_tests71: OK (73.77=setup[24.42]+cmd[49.35] seconds) tests71: FAIL code 1 (555.72=setup[6.73]+cmd[548.99] seconds) build_karaf_tests_hybrid: OK (79.32=setup[22.31]+cmd[57.01] seconds) tests_hybrid: FAIL code 1 (1149.61=setup[17.93]+cmd[1131.68] seconds) buildlighty: OK (24.59=setup[6.46]+cmd[18.12] seconds) docs: OK (36.22=setup[32.77]+cmd[3.45] seconds) docs-linkcheck: OK (37.80=setup[33.68]+cmd[4.12] seconds) checkbashisms: OK (2.44=setup[1.57]+cmd[0.02,0.06,0.79] seconds) pre-commit: OK (44.69=setup[3.09]+cmd[0.01,0.01,34.58,7.00] seconds) pylint: OK (25.34=setup[5.05]+cmd[20.28] seconds) evaluation failed :( (7935.88 seconds)