docs: install_deps> python -I -m pip install -r docs/requirements.txt buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt checkbashisms: freeze> python -m pip freeze --all docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: pip==25.1.1,setuptools==80.9.0 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'command checkbashisms>/dev/null || sudo yum install -y devscripts-checkbashisms || sudo yum install -y devscripts-minimal || sudo yum install -y devscripts || sudo yum install -y https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/31/Everything/x86_64/os/Packages/d/devscripts-checkbashisms-2.19.6-2.fc31.x86_64.rpm || (echo "checkbashisms command not found - please install it (e.g. sudo apt-get install devscripts | yum install devscripts-minimal )" >&2 && exit 1)' checkbashisms: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + checkbashisms: OK ✔ in 3.26 seconds pre-commit: install_deps> python -I -m pip install pre-commit pre-commit: freeze> python -m pip freeze --all pre-commit: cfgv==3.4.0,distlib==0.4.0,filelock==3.18.0,identify==2.6.13,nodeenv==1.9.1,pip==25.1.1,platformdirs==4.3.8,pre_commit==4.3.0,PyYAML==6.0.2,setuptools==80.9.0,virtualenv==20.33.1 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh pre-commit: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'which cpan || sudo yum install -y perl-CPAN || (echo "cpan command not found - please install it (e.g. sudo apt-get install perl-modules | yum install perl-CPAN )" >&2 && exit 1)' /usr/bin/cpan pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure [WARNING] hook id `remove-tabs` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [WARNING] hook id `perltidy` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [WARNING] repo `https://github.com/pre-commit/pre-commit-hooks` uses deprecated stage names (commit, push) which will be removed in a future version. Hint: often `pre-commit autoupdate --repo https://github.com/pre-commit/pre-commit-hooks` will fix this. if it does not -- consider reporting an issue to that repo. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Initializing environment for https://github.com/pre-commit/mirrors-autopep8. buildcontroller: freeze> python -m pip freeze --all [INFO] Initializing environment for https://github.com/perltidy/perltidy. buildcontroller: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64 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.11 (3e54c93a704957b63ee3494413a2b544fd3d825b) Maven home: /opt/maven Java version: 21.0.5, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-131-generic", arch: "amd64", family: "unix" [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/pre-commit/mirrors-autopep8. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs: freeze> python -m pip freeze --all docs: alabaster==1.0.0,attrs==25.3.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.8.3,charset-normalizer==3.4.3,contourpy==1.3.3,cycler==0.12.1,docutils==0.21.2,fonttools==4.59.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.10,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.9,lfdocs-conf==0.9.0,MarkupSafe==3.0.2,matplotlib==3.10.5,numpy==2.3.2,nwdiag==3.0.0,packaging==25.0,pillow==11.3.0,pip==25.1.1,Pygments==2.19.2,pyparsing==3.2.3,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,requests==2.32.4,requests-file==1.5.1,roman-numerals-py==3.1.0,seqdiag==3.0.0,setuptools==80.9.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.30,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.5.0,webcolors==24.11.1 docs: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/html docs-linkcheck: freeze> python -m pip freeze --all docs-linkcheck: alabaster==1.0.0,attrs==25.3.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.8.3,charset-normalizer==3.4.3,contourpy==1.3.3,cycler==0.12.1,docutils==0.21.2,fonttools==4.59.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.10,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.9,lfdocs-conf==0.9.0,MarkupSafe==3.0.2,matplotlib==3.10.5,numpy==2.3.2,nwdiag==3.0.0,packaging==25.0,pillow==11.3.0,pip==25.1.1,Pygments==2.19.2,pyparsing==3.2.3,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.2,requests==2.32.4,requests-file==1.5.1,roman-numerals-py==3.1.0,seqdiag==3.0.0,setuptools==80.9.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.30,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.5.0,webcolors==24.11.1 docs-linkcheck: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/linkcheck [INFO] Installing environment for https://github.com/perltidy/perltidy. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs: OK ✔ in 29.29 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' docs-linkcheck: OK ✔ in 30.34 seconds pylint: freeze> python -m pip freeze --all pylint: astroid==3.3.11,dill==0.4.0,isort==6.0.1,mccabe==0.7.0,pip==25.1.1,platformdirs==4.3.8,pylint==3.3.8,setuptools==80.9.0,tomlkit==0.13.3 pylint: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find transportpce_tests/ -name '*.py' -exec pylint --fail-under=10 --max-line-length=120 --disable=missing-docstring,import-error --disable=fixme --disable=duplicate-code '--module-rgx=([a-z0-9_]+$)|([0-9.]{1,30}$)' '--method-rgx=(([a-z_][a-zA-Z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-zA-Z][a-zA-Z0-9_]+__))$' '--variable-rgx=[a-zA-Z_][a-zA-Z0-9_]{1,30}$' '{}' + trim trailing whitespace.................................................Failed - hook id: trailing-whitespace - exit code: 1 - files were modified by this hook Fixing tests/transportpce_tests/pce/test05_pce_tapi.py Fixing tests/transportpce_tests/common/test_utils_generate_tapi_topo.py Tabs remover.............................................................Passed autopep8.................................................................Failed - hook id: autopep8 - files were modified by this hook perltidy.................................................................Passed pre-commit hook(s) made changes. If you are seeing this message in CI, reproduce locally with: `pre-commit run --all-files`. To run `pre-commit` as part of git workflow, use `pre-commit install`. All changes made by hooks: diff --git a/tests/transportpce_tests/common/test_utils_generate_tapi_topo.py b/tests/transportpce_tests/common/test_utils_generate_tapi_topo.py index baf3f2b5c..f4079a03d 100644 --- a/tests/transportpce_tests/common/test_utils_generate_tapi_topo.py +++ b/tests/transportpce_tests/common/test_utils_generate_tapi_topo.py @@ -33,6 +33,7 @@ class UuidServices: self.odu = None self.dsr = None + class UuidServices2: def __init__(self): # pylint: disable=invalid-name @@ -40,6 +41,7 @@ class UuidServices2: self.odu = None self.dsr = None + class UuidServices3: def __init__(self): # pylint: disable=invalid-name @@ -47,6 +49,7 @@ class UuidServices3: self.odu = None self.dsr = None + class TransportPCEtesting(unittest.TestCase): processes = [] @@ -56,9 +59,8 @@ class TransportPCEtesting(unittest.TestCase): uuid_services2 = UuidServices2() uuid_services3 = UuidServices3() - del_serv_input_data = {"uuid": "TBD"} - + tapi_topo = {"topology-id": "TBD"} @classmethod @@ -77,11 +79,14 @@ class TransportPCEtesting(unittest.TestCase): test_utils.shutdown_process(process) print("all processes killed") + tpcetest = TransportPCEtesting() + def setUp(self): time.sleep(2) + def connect_xpdrs(self): print("Connecting SPDRA") response = test_utils.mount_device("SPDR-SA1", ('spdra', self.NODE_VERSION)) @@ -100,6 +105,7 @@ def connect_xpdrs(self): tpcetest.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) time.sleep(2) + def connect_rdms(self): print("Connecting ROADMA") response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION)) @@ -110,6 +116,7 @@ def connect_rdms(self): tpcetest.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) time.sleep(2) + def interconnect_roadm_and_xpdr(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', @@ -252,6 +259,7 @@ def interconnect_roadm_and_xpdr(self): tpcetest.assertIn('Roadm Xponder links created successfully', response["output"]["result"]) time.sleep(2) + def add_omsAttributes_to_ROADM2ROADM_links(self): # Config ROADMA-ROADMC oms-attributes data = {"span": { @@ -282,6 +290,7 @@ def add_omsAttributes_to_ROADM2ROADM_links(self): "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX", data) tpcetest.assertEqual(response.status_code, requests.codes.created) + def create_services_on_infra(self): create_connectivity_service_PhotonicMedia(self) get_service_PhotonicMedia(self) @@ -296,6 +305,7 @@ def create_services_on_infra(self): create_connectivity_service_DSR(self) get_service_DSR(self) + def create_connectivity_service_PhotonicMedia(self): self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sAOTS self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZOTS @@ -322,14 +332,15 @@ def create_connectivity_service_PhotonicMedia(self): 'value': 'SPDR-SA1-XPDR1'} tpcetest.assertDictEqual(dict(input_dict_1, **response['output']['service']), - response['output']['service']) + response['output']['service']) tpcetest.assertDictEqual(dict(input_dict_2, **response['output']['service']['end-point'][0]['name'][0]), - response['output']['service']['end-point'][0]['name'][0]) + response['output']['service']['end-point'][0]['name'][0]) tpcetest.assertDictEqual(dict(input_dict_3, **response['output']['service']['end-point'][1]['name'][0]), - response['output']['service']['end-point'][1]['name'][0]) + response['output']['service']['end-point'][1]['name'][0]) # If the gate fails is because of the waiting time not being enough # time.sleep(self.WAITING) + def get_service_PhotonicMedia(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(tpcetest.uuid_services.pm)) tpcetest.assertEqual(response['status_code'], requests.codes.ok) @@ -339,6 +350,7 @@ def get_service_PhotonicMedia(self): tpcetest.assertEqual(response['services'][0]['lifecycle-state'], 'planned') time.sleep(1) + def create_connectivity_service2_PhotonicMedia(self): self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.s2AOTS self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.s2ZOTS @@ -366,14 +378,15 @@ def create_connectivity_service2_PhotonicMedia(self): 'value': 'SPDR-SA1-XPDR2'} tpcetest.assertDictEqual(dict(input_dict_1, **response['output']['service']), - response['output']['service']) + response['output']['service']) tpcetest.assertDictEqual(dict(input_dict_2, **response['output']['service']['end-point'][0]['name'][0]), - response['output']['service']['end-point'][0]['name'][0]) + response['output']['service']['end-point'][0]['name'][0]) tpcetest.assertDictEqual(dict(input_dict_3, **response['output']['service']['end-point'][1]['name'][0]), - response['output']['service']['end-point'][1]['name'][0]) + response['output']['service']['end-point'][1]['name'][0]) # If the gate fails is because of the waiting time not being enough # time.sleep(self.WAITING) + def get_service2_PhotonicMedia(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(tpcetest.uuid_services2.pm)) tpcetest.assertEqual(response['status_code'], requests.codes.ok) @@ -383,6 +396,7 @@ def get_service2_PhotonicMedia(self): tpcetest.assertEqual(response['services'][0]['lifecycle-state'], 'planned') time.sleep(1) + def create_connectivity_service3_PhotonicMedia(self): self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.s3AOTS self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.s3ZOTS @@ -410,14 +424,15 @@ def create_connectivity_service3_PhotonicMedia(self): 'value': 'SPDR-SA1-XPDR3'} tpcetest.assertDictEqual(dict(input_dict_1, **response['output']['service']), - response['output']['service']) + response['output']['service']) tpcetest.assertDictEqual(dict(input_dict_2, **response['output']['service']['end-point'][0]['name'][0]), - response['output']['service']['end-point'][0]['name'][0]) + response['output']['service']['end-point'][0]['name'][0]) tpcetest.assertDictEqual(dict(input_dict_3, **response['output']['service']['end-point'][1]['name'][0]), - response['output']['service']['end-point'][1]['name'][0]) + response['output']['service']['end-point'][1]['name'][0]) # If the gate fails is because of the waiting time not being enough # time.sleep(self.WAITING) + def get_service3_PhotonicMedia(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(tpcetest.uuid_services3.pm)) tpcetest.assertEqual(response['status_code'], requests.codes.ok) @@ -428,6 +443,8 @@ def get_service3_PhotonicMedia(self): time.sleep(1) # test create connectivity service from spdrA to spdrC for odu + + def create_connectivity_service_ODU(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "ODU" @@ -463,14 +480,15 @@ def create_connectivity_service_ODU(self): 'value': 'SPDR-SA1-XPDR1'} tpcetest.assertDictEqual(dict(input_dict_1, **response['output']['service']), - response['output']['service']) + response['output']['service']) tpcetest.assertDictEqual(dict(input_dict_2, **response['output']['service']['end-point'][0]['name'][0]), - response['output']['service']['end-point'][0]['name'][0]) + response['output']['service']['end-point'][0]['name'][0]) tpcetest.assertDictEqual(dict(input_dict_3, **response['output']['service']['end-point'][1]['name'][0]), - response['output']['service']['end-point'][1]['name'][0]) + response['output']['service']['end-point'][1]['name'][0]) # If the gate fails is because of the waiting time not being enough # time.sleep(self.WAITING) + def get_service_ODU(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(tpcetest.uuid_services.odu)) tpcetest.assertEqual(response['status_code'], requests.codes.ok) @@ -481,6 +499,8 @@ def get_service_ODU(self): time.sleep(1) # test create connectivity service from spdrA to spdrC for odu + + def create_connectivity_service3_ODU(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "ODU" @@ -516,14 +536,15 @@ def create_connectivity_service3_ODU(self): 'value': 'SPDR-SA1-XPDR3'} tpcetest.assertDictEqual(dict(input_dict_1, **response['output']['service']), - response['output']['service']) + response['output']['service']) tpcetest.assertDictEqual(dict(input_dict_2, **response['output']['service']['end-point'][0]['name'][0]), - response['output']['service']['end-point'][0]['name'][0]) + response['output']['service']['end-point'][0]['name'][0]) tpcetest.assertDictEqual(dict(input_dict_3, **response['output']['service']['end-point'][1]['name'][0]), - response['output']['service']['end-point'][1]['name'][0]) + response['output']['service']['end-point'][1]['name'][0]) # If the gate fails is because of the waiting time not being enough # time.sleep(self.WAITING) + def get_service3_ODU(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(tpcetest.uuid_services3.odu)) tpcetest.assertEqual(response['status_code'], requests.codes.ok) @@ -533,6 +554,8 @@ def get_service3_ODU(self): tpcetest.assertEqual(response['services'][0]['lifecycle-state'], 'planned') # test create connectivity service from spdrA to spdrC for dsr + + def create_connectivity_service_DSR(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "DSR" @@ -569,17 +592,18 @@ def create_connectivity_service_DSR(self): 'value': 'SPDR-SA1-XPDR1'} tpcetest.assertDictEqual(dict(input_dict_1, - **response['output']['service']), - response['output']['service']) + **response['output']['service']), + response['output']['service']) tpcetest.assertDictEqual(dict(input_dict_2, - **response['output']['service']['end-point'][0]['name'][0]), - response['output']['service']['end-point'][0]['name'][0]) + **response['output']['service']['end-point'][0]['name'][0]), + response['output']['service']['end-point'][0]['name'][0]) tpcetest.assertDictEqual(dict(input_dict_3, - **response['output']['service']['end-point'][1]['name'][0]), - response['output']['service']['end-point'][1]['name'][0]) + **response['output']['service']['end-point'][1]['name'][0]), + response['output']['service']['end-point'][1]['name'][0]) # The sleep here is okey as the DSR service creation is very fast # time.sleep(self.WAITING) + def get_service_DSR(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(tpcetest.uuid_services.dsr)) tpcetest.assertEqual(response['status_code'], requests.codes.ok) @@ -591,6 +615,7 @@ def get_service_DSR(self): print("Time to retrieve topology : 100 seconds... Hurry up") time.sleep(100) + def delete_created_tapi_services(self): delete_connectivity_service_DSR(self) delete_connectivity_service_ODU(self) @@ -600,6 +625,7 @@ def delete_created_tapi_services(self): delete_connectivity_service_PhotonicMedia(self) get_no_tapi_services() + def delete_connectivity_service_DSR(self): self.del_serv_input_data["uuid"] = str(tpcetest.uuid_services.dsr) response = test_utils.transportpce_api_rpc_request( @@ -607,6 +633,7 @@ def delete_connectivity_service_DSR(self): tpcetest.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) time.sleep(self.WAITING) + def delete_connectivity_service_ODU(self): self.del_serv_input_data["uuid"] = str(tpcetest.uuid_services.odu) response = test_utils.transportpce_api_rpc_request( @@ -614,6 +641,7 @@ def delete_connectivity_service_ODU(self): tpcetest.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) time.sleep(self.WAITING) + def delete_connectivity_service3_ODU(self): self.del_serv_input_data["uuid"] = str(tpcetest.uuid_services3.odu) response = test_utils.transportpce_api_rpc_request( @@ -621,6 +649,7 @@ def delete_connectivity_service3_ODU(self): tpcetest.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) time.sleep(self.WAITING) + def delete_connectivity_service_PhotonicMedia(self): self.del_serv_input_data["uuid"] = str(tpcetest.uuid_services.pm) response = test_utils.transportpce_api_rpc_request( @@ -628,6 +657,7 @@ def delete_connectivity_service_PhotonicMedia(self): tpcetest.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) time.sleep(self.WAITING) + def delete_connectivity_service3_PhotonicMedia(self): self.del_serv_input_data["uuid"] = str(tpcetest.uuid_services3.pm) response = test_utils.transportpce_api_rpc_request( @@ -635,6 +665,7 @@ def delete_connectivity_service3_PhotonicMedia(self): tpcetest.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) time.sleep(self.WAITING) + def delete_connectivity_service2_PhotonicMedia(self): self.del_serv_input_data["uuid"] = str(tpcetest.uuid_services2.pm) response = test_utils.transportpce_api_rpc_request( @@ -642,6 +673,7 @@ def delete_connectivity_service2_PhotonicMedia(self): tpcetest.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) time.sleep(self.WAITING) + def get_no_tapi_services(self): response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) @@ -651,6 +683,7 @@ def get_no_tapi_services(self): "error-message": "No services exist in datastore"}, response['output']['errors']['error']) + def cleanup_and_desinstall_tapi_feature(self): disconnect_spdrA(self) disconnect_spdrC(self) @@ -662,22 +695,27 @@ def cleanup_and_desinstall_tapi_feature(self): # response = test_utils.get_ordm_serv_list_request() # tpcetest.assertEqual(response['status_code'], requests.codes.conflict) + def disconnect_spdrA(self): response = test_utils.unmount_device("SPDR-SA1") tpcetest.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) + def disconnect_spdrC(self): response = test_utils.unmount_device("SPDR-SC1") tpcetest.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) + def disconnect_roadmA(self): response = test_utils.unmount_device("ROADM-A1") tpcetest.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) + def disconnect_roadmC(self): response = test_utils.unmount_device("ROADM-C1") tpcetest.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) + def uninstall_Tapi_Feature(self): test_utils.uninstall_karaf_feature("odl-transportpce-tapi") time.sleep(5) diff --git a/tests/transportpce_tests/pce/test05_pce_tapi.py b/tests/transportpce_tests/pce/test05_pce_tapi.py index 5f81cb058..cbefd31b5 100644 --- a/tests/transportpce_tests/pce/test05_pce_tapi.py +++ b/tests/transportpce_tests/pce/test05_pce_tapi.py @@ -12,6 +12,7 @@ # pylint: disable=no-member # pylint: disable=too-many-public-methods +import test_utils_generate_tapi_topo import os import unittest import time @@ -22,7 +23,6 @@ sys.path.append('transportpce_tests/common/') # pylint: disable=wrong-import-position # pylint: disable=import-error import test_utils # nopep8 -import test_utils_generate_tapi_topo # pylint: disable=too-few-public-methods @@ -33,6 +33,7 @@ class UuidServices: self.odu = None self.dsr = None + class TransportPCEtest(unittest.TestCase): # SIP+SPDR-SA1-XPDR1+PHOTONIC_MEDIA_OTS+XPDR1-NETWORK1 UUID IS sAOTS = "38d81f55-1798-3520-ba16-08efa56630c4" @@ -69,10 +70,10 @@ class TransportPCEtest(unittest.TestCase): "service-rate": "400", "clli": "SPDR-SA2", "service-format": "OC", - "tx-direction" : { + "tx-direction": { "logical-connection-point": "53e45a61-48a5-3d47-a045-b8418c3e9f8a" }, - "rx-direction" : { + "rx-direction": { "logical-connection-point": "53e45a61-48a5-3d47-a045-b8418c3e9f8a" }, "node-id": "SPDR-SA2" @@ -81,10 +82,10 @@ class TransportPCEtest(unittest.TestCase): "service-rate": "400", "clli": "SPDR-SC2", "service-format": "OC", - "tx-direction" : { + "tx-direction": { "logical-connection-point": "c7549fcc-895f-3fa2-ad81-ea00e25772e9" }, - "rx-direction" : { + "rx-direction": { "logical-connection-point": "c7549fcc-895f-3fa2-ad81-ea00e25772e9" }, "node-id": "SPDR-SC2" @@ -165,9 +166,8 @@ class TransportPCEtest(unittest.TestCase): # s2ZOTS = "c7549fcc-895f-3fa2-ad81-ea00e25772e9" # # SIP+SPDR-SA1-XPDR3+PHOTONIC_MEDIA_OTS+XPDR3-NETWORK1 UUID IS del_serv_input_data = {"uuid": "TBD"} - - tapi_topo = {"topology-id": "TBD"} + tapi_topo = {"topology-id": "TBD"} @classmethod def setUpClass(self): @@ -189,8 +189,8 @@ class TransportPCEtest(unittest.TestCase): def setUp(self): time.sleep(2) - # Path Computation success + def test_01_path_computation_spdr_x2(self): response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', @@ -246,12 +246,12 @@ class TransportPCEtest(unittest.TestCase): # self.path_computation_input_data["hard-constraints"] = {"customer-code": ["Some customer-code"], # "co-routing": { # "service-identifier-list": [{ - #2 "service-identifier": "Some existing-service"}] + # 2 "service-identifier": "Some existing-service"}] # }} # self.path_computation_input_data["soft-constraints"] = {"customer-code": ["Some customer-code"], # "co-routing": { # "service-identifier-list": [{ - #2 "service-identifier": "Some existing-service"}] + # 2 "service-identifier": "Some existing-service"}] # }} # response = test_utils.transportpce_api_rpc_request('transportpce-pce', # 'path-computation-request', @@ -356,8 +356,8 @@ class TransportPCEtest(unittest.TestCase): # # # def create_connectivity_service2_PhotonicMedia(self): -#2 self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.s2AOTS -#2 self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.s2ZOTS +# 2 self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.s2AOTS +# 2 self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.s2ZOTS # self.cr_serv_input_data["end-point"][0]["local-id"] = "SPDR-SA1-XPDR2" # self.cr_serv_input_data["end-point"][1]["local-id"] = "SPDR-SC1-XPDR2" # self.cr_serv_input_data["end-point"][0]["name"][0]["value"] = "SPDR-SA1-XPDR2" @@ -400,6 +400,5 @@ class TransportPCEtest(unittest.TestCase): # time.sleep(1) - if __name__ == "__main__": unittest.main(verbosity=2) pre-commit: exit 1 (40.89 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure pid=2496 ************* Module test05_pce_tapi transportpce_tests/pce/test05_pce_tapi.py:168:0: C0303: Trailing whitespace (trailing-whitespace) transportpce_tests/pce/test05_pce_tapi.py:213:0: C0301: Line too long (142/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:216:0: C0301: Line too long (142/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:173:4: C0202: Class method setUpClass should have 'cls' as first argument (bad-classmethod-argument) transportpce_tests/pce/test05_pce_tapi.py:182:4: C0202: Class method tearDownClass should have 'cls' as first argument (bad-classmethod-argument) transportpce_tests/pce/test05_pce_tapi.py:187:52: E0602: Undefined variable 'cls' (undefined-variable) transportpce_tests/pce/test05_pce_tapi.py:15:0: W0611: Unused import os (unused-import) ************* Module common.test_utils_generate_tapi_topo transportpce_tests/common/test_utils_generate_tapi_topo.py:82:0: C0103: Function name "setUp" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:82:10: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:113:0: R0915: Too many statements (81/50) (too-many-statements) transportpce_tests/common/test_utils_generate_tapi_topo.py:113:32: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:255:0: C0103: Function name "add_omsAttributes_to_ROADM2ROADM_links" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:255:43: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:299:0: C0103: Function name "create_connectivity_service_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:308:10: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) transportpce_tests/common/test_utils_generate_tapi_topo.py:333:0: C0103: Function name "get_service_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:333:30: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:342:0: C0103: Function name "create_connectivity_service2_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:355:10: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) transportpce_tests/common/test_utils_generate_tapi_topo.py:377:0: C0103: Function name "get_service2_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:377:31: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:386:0: C0103: Function name "create_connectivity_service3_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:399:10: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) transportpce_tests/common/test_utils_generate_tapi_topo.py:421:0: C0103: Function name "get_service3_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:421:31: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:431:0: C0103: Function name "create_connectivity_service_ODU" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:451:10: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) transportpce_tests/common/test_utils_generate_tapi_topo.py:474:0: C0103: Function name "get_service_ODU" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:474:20: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:484:0: C0103: Function name "create_connectivity_service3_ODU" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:504:10: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) transportpce_tests/common/test_utils_generate_tapi_topo.py:527:0: C0103: Function name "get_service3_ODU" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:527:21: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:536:0: C0103: Function name "create_connectivity_service_DSR" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:557:10: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) transportpce_tests/common/test_utils_generate_tapi_topo.py:583:0: C0103: Function name "get_service_DSR" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:583:20: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:601:4: E1120: No value for argument 'self' in function call (no-value-for-parameter) transportpce_tests/common/test_utils_generate_tapi_topo.py:603:0: C0103: Function name "delete_connectivity_service_DSR" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:610:0: C0103: Function name "delete_connectivity_service_ODU" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:617:0: C0103: Function name "delete_connectivity_service3_ODU" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:624:0: C0103: Function name "delete_connectivity_service_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:631:0: C0103: Function name "delete_connectivity_service3_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:638:0: C0103: Function name "delete_connectivity_service2_PhotonicMedia" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:645:25: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:665:0: C0103: Function name "disconnect_spdrA" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:665:21: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:669:0: C0103: Function name "disconnect_spdrC" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:669:21: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:673:0: C0103: Function name "disconnect_roadmA" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:673:22: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:677:0: C0103: Function name "disconnect_roadmC" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:677:22: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:681:0: C0103: Function name "uninstall_Tapi_Feature" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:681:27: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:15:0: W0611: Unused import os (unused-import) ----------------------------------- Your code has been rated at 9.95/10 pre-commit: FAIL ✖ in 43.61 seconds pylint: exit 1 (26.16 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> find transportpce_tests/ -name '*.py' -exec pylint --fail-under=10 --max-line-length=120 --disable=missing-docstring,import-error --disable=fixme --disable=duplicate-code '--module-rgx=([a-z0-9_]+$)|([0-9.]{1,30}$)' '--method-rgx=(([a-z_][a-zA-Z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-zA-Z][a-zA-Z0-9_]+__))$' '--variable-rgx=[a-zA-Z_][a-zA-Z0-9_]{1,30}$' '{}' + pid=3267 pylint: FAIL ✖ in 30.43 seconds buildcontroller: OK ✔ in 1 minute 47.83 seconds build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests221: freeze> python -m pip freeze --all build_karaf_tests221: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf221 with ./karaf221.env build_karaf_tests121: freeze> python -m pip freeze --all build_karaf_tests71: freeze> python -m pip freeze --all build_karaf_tests190: freeze> python -m pip freeze --all build_karaf_tests71: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf71 with ./karaf71.env build_karaf_tests190: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 build_karaf_tests190: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karafoc with ./karafoc.env build_karaf_tests121: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 build_karaf_tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf121 with ./karaf121.env build_karaf_tests121: OK ✔ in 1 minute 3.23 seconds buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests71: OK ✔ in 1 minute 5.16 seconds build_karaf_tests190: OK ✔ in 1 minute 5.16 seconds build_karaf_tests221: OK ✔ in 1 minute 5.34 seconds sims: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt testsPCE: install_deps> python -I -m pip install gnpy4tpce==2.4.7 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt buildlighty: freeze> python -m pip freeze --all buildlighty: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh sims: freeze> python -m pip freeze --all sims: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 sims: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_lightynode.sh Using lighynode version 20.1.0.5 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory sims: OK ✔ in 11.07 seconds buildlighty: OK ✔ in 31.07 seconds testsPCE: freeze> python -m pip freeze --all testsPCE: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,click==8.2.1,contourpy==1.3.3,cryptography==3.3.2,cycler==0.12.1,dict2xml==1.7.7,Flask==2.1.3,Flask-Injector==0.14.0,fonttools==4.59.0,gnpy4tpce==2.4.7,idna==3.10,iniconfig==2.1.0,injector==0.22.0,invoke==2.2.0,itsdangerous==2.2.0,Jinja2==3.1.6,kiwisolver==1.4.9,lxml==6.0.0,MarkupSafe==3.0.2,matplotlib==3.10.5,netconf-client==3.5.0,networkx==2.8.8,numpy==1.26.4,packaging==25.0,pandas==1.5.3,paramiko==4.0.0,pbr==5.11.1,pillow==11.3.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pyparsing==3.2.3,pytest==8.4.1,python-dateutil==2.9.0.post0,pytz==2025.2,requests==2.32.4,scipy==1.16.1,setuptools==50.3.2,six==1.17.0,urllib3==2.5.0,Werkzeug==2.0.3,xlrd==1.2.0 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pytest -q transportpce_tests/pce/test01_pce.py .................... [100%] 20 passed in 110.79s (0:01:50) pytest -q transportpce_tests/pce/test02_pce_400G.py ............ [100%] 12 passed in 46.20s pytest -q transportpce_tests/pce/test03_gnpy.py ........ [100%] 8 passed in 37.27s pytest -q transportpce_tests/pce/test04_pce_bug_fix.py ... [100%] 3 passed in 36.18s pytest -q transportpce_tests/pce/test05_pce_tapi.py ==================================== ERRORS ==================================== __________ ERROR collecting transportpce_tests/pce/test05_pce_tapi.py __________ ImportError while importing test module '/w/workspace/transportpce-tox-verify-transportpce-master/tests/transportpce_tests/pce/test05_pce_tapi.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /opt/pyenv/versions/3.11.10/lib/python3.11/importlib/__init__.py:126: in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/pce/test05_pce_tapi.py:15: in import test_utils_generate_tapi_topo E ModuleNotFoundError: No module named 'test_utils_generate_tapi_topo' =========================== short test summary info ============================ ERROR transportpce_tests/pce/test05_pce_tapi.py !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!! 1 error in 0.14s testsPCE: exit 1 (232.04 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pid=5096 testsPCE: FAIL ✖ in 4 minutes 47.27 seconds tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests121: freeze> python -m pip freeze --all tests190: freeze> python -m pip freeze --all tests_tapi: freeze> python -m pip freeze --all tests121: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 1.2.1 using environment variables from ./karaf121.env pytest -q transportpce_tests/1.2.1/test01_portmapping.py tests190: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 tests190: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc tests_tapi: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi using environment variables from ./karafoc.env using environment variables from ./karaf221.env pytest -q transportpce_tests/oc/test01_portmapping.py pytest -q transportpce_tests/tapi/test01_abstracted_topology.py ........... [100%] 10 passed in 76.87s (0:01:16) pytest -q transportpce_tests/oc/test02_topology.py ................................... [100%] 21 passed in 124.09s (0:02:04) .pytest -q transportpce_tests/1.2.1/test02_topo_portmapping.py ........................ [100%] 14 passed in 64.87s (0:01:04) pytest -q transportpce_tests/oc/test03_renderer.py ................ [100%] 6 passed in 58.90s pytest -q transportpce_tests/1.2.1/test03_topology.py .................... [100%] 19 passed in 60.10s (0:01:00) tests190: OK ✔ in 3 minutes 30.72 seconds tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt .tests71: freeze> python -m pip freeze --all tests71: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 using environment variables from ./karaf71.env pytest -q transportpce_tests/7.1/test01_portmapping.py .................................... [100%] 12 passed in 55.12s pytest -q transportpce_tests/7.1/test02_otn_renderer.py .............................. [100%] 51 passed in 310.08s (0:05:10) pytest -q transportpce_tests/tapi/test02_full_topology.py ....................... [100%] 44 passed in 151.18s (0:02:31) pytest -q transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py ............................................................................... [100%] 62 passed in 158.17s (0:02:38) pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py .. [100%] 24 passed in 92.43s (0:01:32) pytest -q transportpce_tests/1.2.1/test05_olm.py .FFF...........F..F..........................F.F.F.F.F.F.F....................................... [100%] =================================== FAILURES =================================== ________ TestTransportPCEFullTopology.test_17_get_service_PhotonicMedia ________ self = def test_17_get_service_PhotonicMedia(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.pm)) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test02_full_topology.py:346: AssertionError _ TestTransportPCEFullTopology.test_18a_get_tapi_Pht_node_details_at_Pht_Service_creation _ self = def test_18a_get_tapi_Pht_node_details_at_Pht_Service_creation(self): response = test_utils.get_tapi_topology_node( test_utils.T0_FULL_MULTILAYER_TOPO_UUID, self.uuidSpdrSA1xpdr1, self.uuidOnepSpdrSA1xpdr1OTS, "nonconfig") time.sleep(2) self.assertEqual(response['status_code'], requests.codes.ok) input_dict_1 = {"spectrum-capability-pac": {"occupied-spectrum": [{"upper-frequency": "196125000000000", "lower-frequency": "196075000000000"}], "supportable-spectrum": [{"upper-frequency": "196125000000000", "lower-frequency": "191325000000000"}]} } self.assertDictEqual(dict(input_dict_1, **response['onep'][0]['tapi-photonic-media:photonic-media-node-edge-point-spec']), response['onep'][0]['tapi-photonic-media:photonic-media-node-edge-point-spec']) self.assertEqual(response['onep'][0]['name'][0]['value-name'], 'eNodeEdgePoint') self.assertEqual(response['onep'][0]['name'][0]['value'], 'SPDR-SA1-XPDR1+PHOTONIC_MEDIA_OTS+XPDR1-NETWORK1') self.assertEqual(response['onep'][0]['administrative-state'], 'UNLOCKED') self.assertEqual(response['onep'][0]['operational-state'], 'ENABLED') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['capacity']['value'], '100.0') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['capacity']['value'], '100.0') self.assertEqual(response['onep'][0]['available-capacity']['total-size']['value'], '100.0') self.assertEqual(response['onep'][0]['tapi-connectivity:cep-list']['connection-end-point'][0] ['client-node-edge-point'][0]['node-edge-point-uuid'], 'f32f5e9e-d167-31ba-a9e4-8f1efdb8786d') self.assertEqual(response['onep'][0]['tapi-connectivity:cep-list']['connection-end-point'][0] ['parent-node-edge-point']['node-edge-point-uuid'], '21efd6a4-2d81-3cdb-aabb-b983fb61904e') response = test_utils.get_tapi_topology_node( test_utils.T0_FULL_MULTILAYER_TOPO_UUID, self.uuidSpdrSA1xpdr1, self.uuidOnepSpdrSA1xpdr1OTSi, "nonconfig") time.sleep(2) self.assertDictEqual(dict(input_dict_1, **response['onep'][0]['tapi-photonic-media:photonic-media-node-edge-point-spec']), response['onep'][0]['tapi-photonic-media:photonic-media-node-edge-point-spec']) self.assertEqual(response['status_code'], requests.codes.ok) self.assertEqual(response['onep'][0]['name'][0]['value-name'], 'PhotMedNodeEdgePoint') self.assertEqual(response['onep'][0]['name'][0]['value'], 'SPDR-SA1-XPDR1+OTSi_MEDIA_CHANNEL+XPDR1-NETWORK1') self.assertEqual(response['onep'][0]['administrative-state'], 'UNLOCKED') self.assertEqual(response['onep'][0]['operational-state'], 'ENABLED') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['capacity']['value'], '100.0') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['capacity']['value'], '100.0') self.assertEqual(response['onep'][0]['available-capacity']['total-size']['value'], '100.0') > self.assertEqual(response['onep'][0]['tapi-connectivity:cep-list']['connection-end-point'][0] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ['client-node-edge-point'][0]['node-edge-point-uuid'], '7d2a0549-63e3-3c7f-b4dc-5653e8a81dbe') E KeyError: 'tapi-connectivity:cep-list' transportpce_tests/tapi/test02_full_topology.py:397: KeyError _ TestTransportPCEFullTopology.test_18b_get_tapi_OTN_node_details_at_Pht_Service_creation _ self = def test_18b_get_tapi_OTN_node_details_at_Pht_Service_creation(self): response = test_utils.get_tapi_topology_node( test_utils.T0_FULL_MULTILAYER_TOPO_UUID, self.uuidSpdrSA1xpdr1, self.uuidOnepSpdrSA1xpdr1iODU, "nonconfig") time.sleep(2) self.assertEqual(response['onep'][0]['name'][0]['value-name'], 'iNodeEdgePoint_N') self.assertEqual(response['onep'][0]['name'][0]['value'], 'SPDR-SA1-XPDR1+iODU+XPDR1-NETWORK1') self.assertEqual(response['onep'][0]['administrative-state'], 'UNLOCKED') self.assertEqual(response['onep'][0]['operational-state'], 'ENABLED') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['capacity']['value'], '100.0') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['capacity']['value'], '100.0') self.assertEqual(response['onep'][0]['available-capacity']['total-size']['value'], '100.0') response = test_utils.get_tapi_topology_node(test_utils.T0_FULL_MULTILAYER_TOPO_UUID, self.uuidSpdrSA1xpdr1, self.uuidOnepSpdrSA1xpdr1eODUC1, "nonconfig") time.sleep(2) self.assertEqual(response['onep'][0]['name'][0]['value-name'], 'eNodeEdgePoint_N') self.assertEqual(response['onep'][0]['name'][0]['value'], 'SPDR-SA1-XPDR1+eODU+XPDR1-CLIENT1') self.assertEqual(response['onep'][0]['administrative-state'], 'UNLOCKED') self.assertEqual(response['onep'][0]['operational-state'], 'ENABLED') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['capacity']['value'], '10.0') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['capacity']['value'], '10.0') self.assertEqual(response['onep'][0]['available-capacity']['total-size']['value'], '10.0') > self.assertEqual(response['onep'][0]['tapi-connectivity:cep-list']['connection-end-point'][0] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ['parent-node-edge-point']['node-edge-point-uuid'], '72c6b97a-3944-3d88-9882-b7e688bb2772') E KeyError: 'tapi-connectivity:cep-list' transportpce_tests/tapi/test02_full_topology.py:447: KeyError _ TestTransportPCEFullTopology.test_20_get_tapi_node_details_at_ODU_Service_creation _ self = def test_20_get_tapi_node_details_at_ODU_Service_creation(self): # ODU service creation correspond to the creation of HO-ODU between 2 Network ports and is associated an # iODU4 top connection which uses 100% of underlying OTU4 response = test_utils.get_tapi_topology_node(test_utils.T0_FULL_MULTILAYER_TOPO_UUID, self.uuidSpdrSA1xpdr1, self.uuidOnepSpdrSA1xpdr1eODUC1, "nonconfig") time.sleep(2) self.assertEqual(response['onep'][0]['name'][0]['value'], 'SPDR-SA1-XPDR1+eODU+XPDR1-CLIENT1') self.assertEqual(response['onep'][0]['administrative-state'], 'UNLOCKED') self.assertEqual(response['onep'][0]['operational-state'], 'ENABLED') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['available-payload-structure'][0]['capacity']['value'], '10.0') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['number-of-cep-instances'], '1') self.assertEqual(response['onep'][0]['supported-payload-structure'][0]['capacity']['value'], '10.0') self.assertEqual(response['onep'][0]['available-capacity']['total-size']['value'], '10.0') > self.assertEqual(response['onep'][0]['tapi-connectivity:cep-list']['connection-end-point'][0] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ['client-node-edge-point'][0]['node-edge-point-uuid'], 'c6cd334c-51a1-3995-bed3-5cf2b7445c04') E KeyError: 'tapi-connectivity:cep-list' transportpce_tests/tapi/test02_full_topology.py:505: KeyError _____________ TestTransportPCEFullTopology.test_21_get_service_ODU _____________ self = def test_21_get_service_ODU(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.odu)) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test02_full_topology.py:552: AssertionError _ TestTransportPCEFullTopology.test_23_get_tapi_node_details_at_DSR_Service_creation _ self = def test_23_get_tapi_node_details_at_DSR_Service_creation(self): response = test_utils.get_tapi_topology_node(test_utils.T0_FULL_MULTILAYER_TOPO_UUID, self.uuidSpdrSA1xpdr1, self.uuidOnepSpdrSA1xpdr1eODUC1, "nonconfig") time.sleep(2) self.assertEqual(response['onep'][0]['name'][0]['value'], 'SPDR-SA1-XPDR1+eODU+XPDR1-CLIENT1') self.assertEqual(response['onep'][0]['administrative-state'], 'UNLOCKED') self.assertEqual(response['onep'][0]['operational-state'], 'ENABLED') > self.assertEqual(response['onep'][0]['available-payload-structure'][0]['number-of-cep-instances'], '0') E AssertionError: '1' != '0' E - 1 E + 0 transportpce_tests/tapi/test02_full_topology.py:612: AssertionError _____________ TestTransportPCEFullTopology.test_24_get_service_DSR _____________ self = def test_24_get_service_DSR(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.dsr)) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test02_full_topology.py:642: AssertionError ______ TestTransportPCEFullTopology.test_25_get_connectivity_service_list ______ self = def test_25_get_connectivity_service_list(self): response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) self.assertEqual(response['status_code'], requests.codes.ok) liste_service = response['output']['service'] for ele in liste_service: if ele['uuid'] == self.uuid_services.pm: > self.assertEqual(ele['operational-state'], 'ENABLED') E AssertionError: 'DISABLED' != 'ENABLED' E - DISABLED E + ENABLED transportpce_tests/tapi/test02_full_topology.py:656: AssertionError _____ TestTransportPCEFullTopology.test_26_delete_connectivity_service_DSR _____ self = def test_26_delete_connectivity_service_DSR(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.dsr) response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) > self.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) E AssertionError: 500 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:681: AssertionError _____ TestTransportPCEFullTopology.test_27_delete_connectivity_service_ODU _____ self = def test_27_delete_connectivity_service_ODU(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.odu) response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) > self.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) E AssertionError: 500 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:688: AssertionError _ TestTransportPCEFullTopology.test_28_delete_connectivity_service_PhotonicMedia _ self = def test_28_delete_connectivity_service_PhotonicMedia(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.pm) response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) > self.assertIn(response["status_code"], (requests.codes.ok, requests.codes.no_content)) E AssertionError: 500 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:695: AssertionError __________ TestTransportPCEFullTopology.test_29_get_no_tapi_services ___________ self = def test_29_get_no_tapi_services(self): response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) > self.assertEqual(response['status_code'], requests.codes.internal_server_error) E AssertionError: 200 != 500 transportpce_tests/tapi/test02_full_topology.py:701: AssertionError =========================== short test summary info ============================ FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_17_get_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_18a_get_tapi_Pht_node_details_at_Pht_Service_creation FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_18b_get_tapi_OTN_node_details_at_Pht_Service_creation FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_20_get_tapi_node_details_at_ODU_Service_creation FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_21_get_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_23_get_tapi_node_details_at_DSR_Service_creation FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_24_get_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_25_get_connectivity_service_list FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_26_delete_connectivity_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_27_delete_connectivity_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_28_delete_connectivity_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_29_get_no_tapi_services 12 failed, 24 passed in 260.54s (0:04:20) tests_tapi: exit 1 (571.23 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi pid=7795 tests_tapi: FAIL ✖ in 9 minutes 39.08 seconds tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt [100%] 48 passed in 148.31s (0:02:28) pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py .tests221: freeze> python -m pip freeze --all tests221: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 using environment variables from ./karaf221.env pytest -q transportpce_tests/2.2.1/test01_portmapping.py .................. [100%] 40 passed in 198.14s (0:03:18) pytest -q transportpce_tests/1.2.1/test06_end2end.py ......................................... [100%] 22 passed in 86.31s (0:01:26) ........... [100%] 35 passed in 91.62s (0:01:31) pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py ......................... [100%] 6 passed in 50.65s pytest -q transportpce_tests/2.2.1/test03_topology.py .................................................................. [100%] 44 passed in 139.93s (0:02:19) pytest -q transportpce_tests/2.2.1/test04_otn_topology.py ................. [100%] 12 passed in 61.40s (0:01:01) pytest -q transportpce_tests/2.2.1/test05_flex_grid.py ................. [100%] 16 passed in 115.59s (0:01:55) pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py ............................... [100%] 31 passed in 37.18s pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py ........................... [100%] 26 passed in 92.12s (0:01:32) pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py ...................... [100%] 22 passed in 101.68s (0:01:41) pytest -q transportpce_tests/2.2.1/test09_olm.py ................... [100%] 54 passed in 718.68s (0:11:58) ......................... [100%] 40 passed in 184.55s (0:03:04) pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py ........................................................................ [ 74%] ......................... [100%] 97 passed in 671.64s (0:11:11) pytest -q transportpce_tests/2.2.1/test12_end2end.py ...................................................... [100%] 54 passed in 450.05s (0:07:30) pytest -q transportpce_tests/2.2.1/test14_otn_switch_end2end.py ........................................................................ [ 71%] ............................. [100%] 101 passed in 672.21s (0:11:12) pytest -q transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py ........................................................................ [ 67%] ................................... [100%] 107 passed in 963.33s (0:16:03) pytest -q transportpce_tests/2.2.1/test16_freq_end2end.py ............................................. [100%] 45 passed in 201.12s (0:03:21) tests71: OK ✔ in 7 minutes 36.65 seconds tests121: OK ✔ in 22 minutes 33.37 seconds tests221: OK ✔ in 1 hour 4 minutes 5.53 seconds tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests_hybrid: freeze> python -m pip freeze --all tests_hybrid: bcrypt==4.3.0,certifi==2025.8.3,cffi==1.17.1,charset-normalizer==3.4.3,cryptography==45.0.6,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.0,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.1.1,pluggy==1.6.0,psutil==7.0.0,pycparser==2.22,Pygments==2.19.2,PyNaCl==1.5.0,pytest==8.4.1,requests==2.32.4,setuptools==80.9.0,urllib3==2.5.0 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid using environment variables from ./karaf221.env pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py ................................................... [100%] 51 passed in 148.14s (0:02:28) pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py ........................................................................ [ 66%] ..................................... [100%] 109 passed in 434.65s (0:07:14) pytest -q transportpce_tests/hybrid/test03_autonomous_reroute.py ..................................................... [100%] 53 passed in 260.13s (0:04:20) buildcontroller: OK (107.83=setup[8.22]+cmd[99.61] seconds) sims: OK (11.07=setup[8.15]+cmd[2.92] seconds) build_karaf_tests121: OK (63.23=setup[9.04]+cmd[54.20] seconds) testsPCE: FAIL code 1 (287.27=setup[55.23]+cmd[232.04] seconds) tests121: OK (1353.37=setup[7.76]+cmd[1345.61] seconds) build_karaf_tests221: OK (65.34=setup[8.34]+cmd[57.00] seconds) tests_tapi: FAIL code 1 (579.08=setup[7.85]+cmd[571.23] seconds) tests221: OK (3845.53=setup[7.88]+cmd[3837.64] seconds) build_karaf_tests71: OK (65.16=setup[8.89]+cmd[56.27] seconds) tests71: OK (456.65=setup[7.29]+cmd[449.36] seconds) build_karaf_tests190: OK (65.16=setup[8.91]+cmd[56.25] seconds) tests190: OK (210.72=setup[7.85]+cmd[202.87] seconds) tests_hybrid: OK (850.47=setup[6.62]+cmd[843.85] seconds) buildlighty: OK (31.07=setup[9.64]+cmd[21.43] seconds) docs: OK (29.28=setup[26.81]+cmd[2.47] seconds) docs-linkcheck: OK (30.34=setup[27.44]+cmd[2.90] seconds) checkbashisms: OK (3.26=setup[1.98]+cmd[0.03,0.05,1.20] seconds) pre-commit: FAIL code 1 (43.61=setup[2.69]+cmd[0.01,0.01,40.89] seconds) pylint: FAIL code 1 (30.43=setup[4.26]+cmd[26.16] seconds) evaluation failed :( (5735.60 seconds)