Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/transportpce/+/117008 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu2204-docker-4c-16g-2586 (ubuntu2204-docker-4c-16g) in workspace /w/workspace/transportpce-tox-verify-transportpce-master [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-XXXXXXqQWnuq/agent.1566 SSH_AGENT_PID=1568 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_13706256254614786097.key (/w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_13706256254614786097.key) [ssh-agent] Using credentials jenkins (jenkins-ssh) The recommended git tool is: NONE using credential jenkins-ssh Wiping out workspace first. Cloning the remote Git repository Cloning repository git://devvexx.opendaylight.org/mirror/transportpce > git init /w/workspace/transportpce-tox-verify-transportpce-master # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce > git --version # timeout=10 > git --version # 'git version 2.34.1' using GIT_SSH to set credentials jenkins-ssh Verifying host key using known hosts file You're using 'Known hosts file' strategy to verify ssh host keys, but your known_hosts file does not exist, please go to 'Manage Jenkins' -> 'Security' -> 'Git Host Key Verification Configuration' and configure host key verification. > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce using GIT_SSH to set credentials jenkins-ssh Verifying host key using known hosts file You're using 'Known hosts file' strategy to verify ssh host keys, but your known_hosts file does not exist, please go to 'Manage Jenkins' -> 'Security' -> 'Git Host Key Verification Configuration' and configure host key verification. > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce refs/changes/08/117008/7 # timeout=10 > git rev-parse 9cb2494a0794f69414b7c8c40816686a646028c5^{commit} # timeout=10 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script Checking out Revision 9cb2494a0794f69414b7c8c40816686a646028c5 (refs/changes/08/117008/7) > git config core.sparsecheckout # timeout=10 > git checkout -f 9cb2494a0794f69414b7c8c40816686a646028c5 # timeout=10 Commit message: "Consolidation of TAPI PCE & func tests" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk c1b25bae8420e7690fe5261cd5b0be77015d0518 # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 ERROR: No submodules found. provisioning config files... copy managed file [npmrc] to file:/home/jenkins/.npmrc copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins10872227184129524281.sh ---> python-tools-install.sh Setup pyenv: * system (set by /opt/pyenv/version) * 3.8.20 (set by /opt/pyenv/version) * 3.9.20 (set by /opt/pyenv/version) * 3.10.15 (set by /opt/pyenv/version) * 3.11.10 (set by /opt/pyenv/version) lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-UcF0 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-UcF0/bin to PATH Generating Requirements File ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. httplib2 0.31.0 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. Python 3.11.10 pip 25.2 from /tmp/venv-UcF0/lib/python3.11/site-packages/pip (python 3.11) appdirs==1.4.4 argcomplete==3.6.2 aspy.yaml==1.3.0 attrs==25.3.0 autopage==0.5.2 beautifulsoup4==4.14.2 boto3==1.40.41 botocore==1.40.41 bs4==0.0.2 cachetools==6.2.0 certifi==2025.8.3 cffi==2.0.0 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.4.3 click==8.3.0 cliff==4.11.0 cmd2==2.7.0 cryptography==3.3.2 debtcollector==3.0.0 decorator==5.2.1 defusedxml==0.7.1 Deprecated==1.2.18 distlib==0.4.0 dnspython==2.8.0 docker==7.1.0 dogpile.cache==1.4.1 durationpy==0.10 email-validator==2.3.0 filelock==3.19.1 future==1.0.0 gitdb==4.0.12 GitPython==3.1.45 google-auth==2.41.0 httplib2==0.31.0 identify==2.6.14 idna==3.10 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.6 jmespath==1.0.1 jsonpatch==1.33 jsonpointer==3.0.0 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 keystoneauth1==5.12.0 kubernetes==34.1.0 lftools==0.37.14 lxml==6.0.2 markdown-it-py==4.0.0 MarkupSafe==3.0.3 mdurl==0.1.2 msgpack==1.1.1 multi_key_dict==2.0.3 munch==4.0.0 netaddr==1.3.0 niet==1.4.2 nodeenv==1.9.1 oauth2client==4.1.3 oauthlib==3.3.1 openstacksdk==4.7.1 os-service-types==1.8.0 osc-lib==4.2.0 oslo.config==10.0.0 oslo.context==6.1.0 oslo.i18n==6.6.0 oslo.log==7.2.1 oslo.serialization==5.8.0 oslo.utils==9.1.0 packaging==25.0 pbr==7.0.1 platformdirs==4.4.0 prettytable==3.16.0 psutil==7.1.0 pyasn1==0.6.1 pyasn1_modules==0.4.2 pycparser==2.23 pygerrit2==2.0.15 PyGithub==2.8.1 Pygments==2.19.2 PyJWT==2.10.1 PyNaCl==1.6.0 pyparsing==2.4.7 pyperclip==1.11.0 pyrsistent==0.20.0 python-cinderclient==9.8.0 python-dateutil==2.9.0.post0 python-heatclient==4.3.0 python-jenkins==1.8.3 python-keystoneclient==5.7.0 python-magnumclient==4.9.0 python-openstackclient==8.2.0 python-swiftclient==4.8.0 PyYAML==6.0.3 referencing==0.36.2 requests==2.32.5 requests-oauthlib==2.0.0 requestsexceptions==1.4.0 rfc3986==2.0.0 rich==14.1.0 rich-argparse==1.7.1 rpds-py==0.27.1 rsa==4.9.1 ruamel.yaml==0.18.15 ruamel.yaml.clib==0.2.14 s3transfer==0.14.0 simplejson==3.20.2 six==1.17.0 smmap==5.0.2 soupsieve==2.8 stevedore==5.5.0 tabulate==0.9.0 toml==0.10.2 tomlkit==0.13.3 tqdm==4.67.1 typing_extensions==4.15.0 tzdata==2025.2 urllib3==1.26.20 virtualenv==20.34.0 wcwidth==0.2.14 websocket-client==1.8.0 wrapt==1.17.3 xdg==6.0.0 xmltodict==1.0.2 yq==3.4.3 [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PYTHON=python3 [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins8958591071944128345.sh ---> tox-install.sh + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-ElTZ + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ sed 's/^[ *]* //' ++ awk '{ print $1 }' ++ grep -E '^[0-9.]*[0-9]$' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] + [[ ! -f /tmp/.toxenv ]] + [[ -n '' ]] + python3 -m venv /tmp/venv-ElTZ + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-ElTZ' lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-ElTZ + echo /tmp/venv-ElTZ + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' lf-activate-venv(): INFO: Attempting to install with network-safe options... + /tmp/venv-ElTZ/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + echo 'lf-activate-venv(): INFO: Base packages installed successfully' lf-activate-venv(): INFO: Base packages installed successfully + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + /tmp/venv-ElTZ/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-ElTZ/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-ElTZ/bin to PATH + PATH=/tmp/venv-ElTZ/bin:/opt/pyenv/shims:/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + return 0 + python3 --version Python 3.11.10 + python3 -m pip --version pip 25.2 from /tmp/venv-ElTZ/lib/python3.11/site-packages/pip (python 3.11) + python3 -m pip freeze cachetools==6.2.0 chardet==5.2.0 colorama==0.4.6 distlib==0.4.0 filelock==3.19.1 packaging==25.0 platformdirs==4.4.0 pluggy==1.6.0 pyproject-api==1.9.1 tox==4.30.2 urllib3==1.26.20 virtualenv==20.34.0 [transportpce-tox-verify-transportpce-master] $ /bin/sh -xe /tmp/jenkins17912236827810188281.sh [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PARALLEL=True [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins11013652068146425206.sh ---> tox-run.sh + PATH=/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + ARCHIVE_TOX_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + ARCHIVE_DOC_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/docs + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + cd /w/workspace/transportpce-tox-verify-transportpce-master/. + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-3XTy + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ sed 's/^[ *]* //' ++ shift ++ case "$command" in ++ command pyenv versions ++ awk '{ print $1 }' ++ grep -E '^[0-9.]*[0-9]$' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] ++ cat /tmp/.toxenv + lf_venv=/tmp/venv-ElTZ + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ElTZ from' file:/tmp/.toxenv lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ElTZ from file:/tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' lf-activate-venv(): INFO: Attempting to install with network-safe options... + /tmp/venv-ElTZ/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + echo 'lf-activate-venv(): INFO: Base packages installed successfully' lf-activate-venv(): INFO: Base packages installed successfully + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + /tmp/venv-ElTZ/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-ElTZ/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-ElTZ/bin to PATH + PATH=/tmp/venv-ElTZ/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + return 0 + [[ -d /opt/pyenv ]] + echo '---> Setting up pyenv' ---> Setting up pyenv + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/tmp/venv-ElTZ/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/tmp/venv-ElTZ/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ pwd + PYTHONPATH=/w/workspace/transportpce-tox-verify-transportpce-master + export PYTHONPATH + export TOX_TESTENV_PASSENV=PYTHONPATH + TOX_TESTENV_PASSENV=PYTHONPATH + tox --version 4.30.2 from /tmp/venv-ElTZ/lib/python3.11/site-packages/tox/__init__.py + PARALLEL=True + TOX_OPTIONS_LIST= + [[ -n '' ]] + case ${PARALLEL,,} in + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' + tox --parallel auto --parallel-live + tee -a /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tox.log buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt docs: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: freeze> python -m pip freeze --all checkbashisms: pip==25.2,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.57 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.19.1,identify==2.6.14,nodeenv==1.9.1,pip==25.2,platformdirs==4.4.0,pre_commit==4.3.0,PyYAML==6.0.3,setuptools==80.9.0,virtualenv==20.34.0 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh pre-commit: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'which cpan || sudo yum install -y perl-CPAN || (echo "cpan command not found - please install it (e.g. sudo apt-get install perl-modules | yum install perl-CPAN )" >&2 && exit 1)' /usr/bin/cpan pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure [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. [INFO] Initializing environment for https://github.com/perltidy/perltidy. buildcontroller: freeze> python -m pip freeze --all buildcontroller: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,setuptools==80.9.0,urllib3==2.5.0 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh + update-java-alternatives -l 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 + sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 update-alternatives: error: no alternatives for jaotc [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... update-alternatives: error: no alternatives for rmic + sed -n ;s/.* version "\(.*\)\.\(.*\)\..*".*$/\1/p; + java -version + JAVA_VER=21 + echo 21 21 + sed -n ;s/javac \(.*\)\.\(.*\)\..*.*$/\1/p; + javac -version + JAVAC_VER=21 + echo 21 21 ok, java is 21 or newer + [ 21 -ge 21 ] + [ 21 -ge 21 ] + echo ok, java is 21 or newer + wget -nv https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.tar.gz -P /tmp 2025-09-30 17:12:56 URL:https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.tar.gz [9160848/9160848] -> "/tmp/apache-maven-3.9.11-bin.tar.gz" [1] + sudo mkdir -p /opt + sudo tar xf /tmp/apache-maven-3.9.11-bin.tar.gz -C /opt + sudo ln -s /opt/apache-maven-3.9.11 /opt/maven + sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn + mvn --version 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" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable [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-linkcheck: 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.60.1,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.3,matplotlib==3.10.6,numpy==2.3.3,nwdiag==3.0.0,packaging==25.0,pillow==11.3.0,pip==25.2,Pygments==2.19.2,pyparsing==3.2.5,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.32.5,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.31,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: 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.60.1,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.3,matplotlib==3.10.6,numpy==2.3.3,nwdiag==3.0.0,packaging==25.0,pillow==11.3.0,pip==25.2,Pygments==2.19.2,pyparsing==3.2.5,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.32.5,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.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.5.0,webcolors==24.11.1 docs-linkcheck: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/linkcheck docs: OK ✔ in 34.69 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' 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 docs-linkcheck: OK ✔ in 38.36 seconds pylint: freeze> python -m pip freeze --all Tabs remover.............................................................Passed autopep8.................................................................pylint: astroid==3.3.11,dill==0.4.0,isort==6.0.1,mccabe==0.7.0,pip==25.2,platformdirs==4.4.0,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}$' '{}' + Failed - hook id: autopep8 - exit code: 1 - files were modified by this hook Traceback (most recent call last): File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/bin/autopep8", line 7, in sys.exit(main()) ^^^^^^ File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 4543, in main results = fix_multiple_files(args.files, args, sys.stdout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 4438, in fix_multiple_files ret = _fix_file((name, options, output)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 4408, in _fix_file return fix_file(*parameters) ^^^^^^^^^^^^^^^^^^^^^ File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 3604, in fix_file fixed_source = fix_lines(fixed_source, options, filename=filename) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 3584, in fix_lines fixed_source = fix.fix() ^^^^^^^^^ File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 618, in fix self._fix_source(filter_results(source=''.join(self.source), File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 562, in _fix_source modified_lines = fix(result) ^^^^^^^^^^^ File "/home/jenkins/.cache/pre-commit/repoq583fsp_/py_env-python3.11/lib/python3.11/site-packages/autopep8.py", line 766, in fix_e225 pycodestyle.missing_whitespace_around_operator(fixed, ts)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'pycodestyle' has no attribute 'missing_whitespace_around_operator'. Did you mean: 'whitespace_around_operator'? 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 375b1b4ec..40d816398 100644 --- a/tests/transportpce_tests/common/test_utils_generate_tapi_topo.py +++ b/tests/transportpce_tests/common/test_utils_generate_tapi_topo.py @@ -24,6 +24,7 @@ sys.path.append('transportpce_tests/common/') import test_utils # nopep8 # pylint: disable=too-few-public-methods + class UuidServices: def __init__(self): # pylint: disable=invalid-name @@ -31,6 +32,7 @@ class UuidServices: self.odu = None self.dsr = None + class UuidServices2: def __init__(self): # pylint: disable=invalid-name @@ -38,6 +40,7 @@ class UuidServices2: self.odu = None self.dsr = None + class UuidServices3: def __init__(self): # pylint: disable=invalid-name @@ -47,6 +50,7 @@ class UuidServices3: # class TransportPCEtesting(unittest.TestCase): + processes = None WAITING = 20 # nominal value is 300 NODE_VERSION = '2.2.1' @@ -56,6 +60,7 @@ uuid_services3 = UuidServices3() del_serv_input_data = {"uuid": "TBD"} tapi_topo = {"topology-id": "TBD"} + def initSimulators(): print("Entering TestUtils setupClass starting simulators") print("Node version is {}".format(NODE_VERSION)) @@ -66,8 +71,9 @@ def initSimulators(): ('xpdrc', NODE_VERSION), ('spdrc', NODE_VERSION)]) + def connect_xpdrs(): - + print("Connecting SPDRA") response = test_utils.mount_device("SPDR-SA1", ('spdra', NODE_VERSION)) time.sleep(2) @@ -81,6 +87,7 @@ def connect_xpdrs(): response = test_utils.mount_device("XPDR-C1", ('xpdrc', NODE_VERSION)) time.sleep(2) + def connect_rdms(): print("Connecting ROADMA") response = test_utils.mount_device("ROADM-A1", ('roadma', NODE_VERSION)) @@ -93,6 +100,7 @@ def connect_rdms(): print("Connecting ROADMC failed") time.sleep(2) + def interconnect_roadm_and_xpdr(): response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', @@ -295,6 +303,7 @@ def interconnect_roadm_and_xpdr(): print("Connection from ROADMC1 to SPDRSC1-X2 succeeded") time.sleep(2) + def add_omsAttributes_to_ROADM2ROADM_links(): # Config ROADMA-ROADMC oms-attributes data = {"span": { @@ -331,6 +340,7 @@ def add_omsAttributes_to_ROADM2ROADM_links(): else: print("OMS attributes added on link ROADMC-ROADMA") + def create_services_on_infra(self): create_connectivity_service_PhotonicMedia(self) get_service_PhotonicMedia(self) @@ -345,6 +355,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 @@ -371,14 +382,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)) print("getServiceResponse Service1 PhotonicMedia: {}".format(response)) @@ -389,6 +401,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 @@ -416,14 +429,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)) print("getServiceResponse Service2 PhotonicMedia: {}".format(response)) @@ -434,6 +448,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 @@ -461,14 +476,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)) print("getServiceResponse Service3 PhotonicMedia: {}".format(response)) @@ -480,6 +496,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" @@ -515,14 +533,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) @@ -533,6 +552,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" @@ -568,14 +589,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) @@ -585,6 +607,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" @@ -621,17 +645,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) @@ -643,6 +668,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) @@ -652,6 +678,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( @@ -659,6 +686,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( @@ -666,6 +694,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( @@ -673,6 +702,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( @@ -680,6 +710,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( @@ -687,6 +718,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( @@ -694,6 +726,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) @@ -703,6 +736,7 @@ def get_no_tapi_services(self): "error-message": "No services exist in datastore"}, response['output']['errors']['error']) + def cleanup_and_desinstall_tapi_feature(): disconnect_spdrA_C() disconnect_roadmA_C() @@ -712,6 +746,7 @@ def cleanup_and_desinstall_tapi_feature(): # response = test_utils.get_ordm_serv_list_request() # tpcetest.assertEqual(response['status_code'], requests.codes.conflict) + def disconnect_spdrA_C(): response = test_utils.unmount_device("SPDR-SA1") if response.status_code not in [204]: @@ -720,6 +755,7 @@ def disconnect_spdrA_C(): if response.status_code not in [204]: print("disconnection of SPDR-SC1 failed") + def disconnect_roadmA_C(): response = test_utils.unmount_device("ROADM-A1") if response.status_code not in [204]: @@ -728,6 +764,7 @@ def disconnect_roadmA_C(): if response.status_code not in [204]: print("disconnection of ROADM-C1 failed") + def uninstall_Tapi_Feature(): test_utils.uninstall_karaf_feature("odl-transportpce-tapi") time.sleep(5) @@ -736,16 +773,16 @@ def uninstall_Tapi_Feature(): print("Tapi Feature uninstallation :") # tpcetest.assertEqual(response['status_code'], requests.codes.ok) # print("Tapi Feature uninstalled") - if('node' not in response['network'][0] and 'ietf-network-topology:link' not in response['network'][0]): - print(" otn topology empty") + if ('node' not in response['network'][0] and 'ietf-network-topology:link' not in response['network'][0]): + print(" otn topology empty") # tpcetest.assertNotIn('node', response['network'][0]) # tpcetest.assertNotIn('ietf-network-topology:link', response['network'][0]) response = test_utils.get_ietf_network_request('openroadm-topology', 'config') if ((requests.codes.ok in response['status_code']) and ('node' not in response['network'][0] and 'ietf-network-topology:link' not in response['network'][0])): - # tpcetest.assertEqual(response['status_code'], requests.codes.ok) - # tpcetest.assertNotIn('node', response['network'][0]) - # tpcetest.assertNotIn('ietf-network-topology:link', response['network'][0]) + # tpcetest.assertEqual(response['status_code'], requests.codes.ok) + # tpcetest.assertNotIn('node', response['network'][0]) + # tpcetest.assertNotIn('ietf-network-topology:link', response['network'][0]) print("OpenROADM topology also empty") print("Confirm Tapi Feature correctly uninstalled") diff --git a/tests/transportpce_tests/pce/test05_pce_tapi.py b/tests/transportpce_tests/pce/test05_pce_tapi.py index 9064396e5..04b07ee38 100644 --- a/tests/transportpce_tests/pce/test05_pce_tapi.py +++ b/tests/transportpce_tests/pce/test05_pce_tapi.py @@ -120,7 +120,7 @@ class TransportPCEtest(unittest.TestCase): # cr_serv_input_data is used for tapi-connectivity service creation. However, at that stage we create service # using OR PCE and OR renderer (in a first step, as TAPI Renderer is not available). Thus to trigger path - # through OR PCE, considering initial request through TAPI API will be converted to an OR service-create, we need : + # through OR PCE, considering initial request through TAPI API will be converted to an OR service-create, we need : # 1) To use a service name that iS NOT a UUID but a string # 2) To use as the local-id, the name of the node in the OPENROADM topology cr_serv_input_data = { @@ -290,7 +290,7 @@ 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"} @@ -315,7 +315,7 @@ class TransportPCEtest(unittest.TestCase): def setUp(self): time.sleep(2) - + # Test failed path computation # def test_01_fail_path_computation(self): # response = test_utils.transportpce_api_rpc_request('transportpce-pce', @@ -413,7 +413,7 @@ class TransportPCEtest(unittest.TestCase): # response['output']['configuration-response-common']['response-message']) # print(response['output']['response-parameters']['path-description']) # time.sleep(2) - + def test_06_create_connectivity_service_ODU4(self): self.cr_serv_input_data["name"][0]["value"] = "serviceOdu4-1" self.cr_serv_input_data["end-point"][0]["layer-protocol-name"] = "DIGITAL_OTN" @@ -430,7 +430,7 @@ class TransportPCEtest(unittest.TestCase): self.uuid_services.pm = response['output']['service']['uuid'] # pylint: disable=consider-using-f-string print("digital_otn ODU service uuid : {}".format(self.uuid_services.pm)) - + input_dict_1 = {'administrative-state': 'LOCKED', 'lifecycle-state': 'PLANNED', 'operational-state': 'DISABLED', @@ -444,7 +444,7 @@ class TransportPCEtest(unittest.TestCase): 'value': 'SPDR-SC1-XPDR1'} input_dict_3 = {'value-name': 'OpenROADM node id', 'value': 'SPDR-SA1-XPDR1'} - + self.assertDictEqual(dict(input_dict_1, **response['output']['service']), response['output']['service']) self.assertDictEqual(dict(input_dict_2, **response['output']['service']['end-point'][0]['name'][0]), @@ -453,7 +453,7 @@ class TransportPCEtest(unittest.TestCase): 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 test_07_get_ODU4_service1(self): response = test_utils.get_ordm_serv_list_attr_request("services", "serviceOdu4-1") self.assertEqual(response['status_code'], requests.codes.ok) pre-commit: exit 1 (39.88 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure pid=2486 ************* Module test05_pce_tapi transportpce_tests/pce/test05_pce_tapi.py:420:0: C0301: Line too long (121/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:423:0: C0301: Line too long (121/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:470:0: C0301: Line too long (123/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:473:0: C0301: Line too long (123/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:539:0: C0301: Line too long (123/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:540:0: C0301: Line too long (123/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:577:0: C0301: Line too long (148/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:580:0: C0301: Line too long (144/120) (line-too-long) transportpce_tests/pce/test05_pce_tapi.py:460:14: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) 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:321:0: C0325: Unnecessary parens after 'if' keyword (superfluous-parens) transportpce_tests/common/test_utils_generate_tapi_topo.py:338:0: C0325: Unnecessary parens after 'if' keyword (superfluous-parens) transportpce_tests/common/test_utils_generate_tapi_topo.py:772:0: C0325: Unnecessary parens after 'if' keyword (superfluous-parens) transportpce_tests/common/test_utils_generate_tapi_topo.py:54:0: C0103: Constant name "processes" doesn't conform to UPPER_CASE naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:64:0: C0103: Function name "initSimulators" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:67:4: W0621: Redefining name 'processes' from outer scope (line 54) (redefined-outer-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:66: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:67:4: W0612: Unused variable 'processes' (unused-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:78:4: W0612: Unused variable 'response' (unused-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:104:0: R0912: Too many branches (40/12) (too-many-branches) transportpce_tests/common/test_utils_generate_tapi_topo.py:104:0: R0915: Too many statements (121/50) (too-many-statements) transportpce_tests/common/test_utils_generate_tapi_topo.py:307: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:359: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:365:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:366:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:368:52: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:384:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:386:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:388:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:394: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:395:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:396: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:397:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:398:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:399:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:399:70: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:400:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:401:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:394:30: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:405: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:415:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:416:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:418:52: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:431:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:433:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:435:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:441: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:442:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:443: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:444:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:445:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:446:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:446:70: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:447:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:448:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:441:31: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:452: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:462:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:463:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:465:52: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:478:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:480:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:482:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:488: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:489:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:490: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:491:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:492:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:493:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:493:70: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:494:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:495:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:488:31: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:501: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:513:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:518:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:519:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:521:41: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:535:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:537:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:539:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:545: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:546:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:547:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:548:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:549:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:549:70: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:550:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:551:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:545:20: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:557: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:569:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:574:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:575:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:577:41: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:591:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:593:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:595:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:601: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:602:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:603:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:604:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:605:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:605:70: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:606:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:607:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:601:21: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:612: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:625:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:630:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:631:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:633:41: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:647:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:650:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:653:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:660: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:661:74: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:662:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:663:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:664:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:664:70: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:665:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:666:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:660:20: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:679:4: E1120: No value for argument 'self' in function call (no-value-for-parameter) transportpce_tests/common/test_utils_generate_tapi_topo.py:682: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:683:43: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:686:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:690: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:691:43: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:694:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:698: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:699:43: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:702:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:706: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:707:43: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:710:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:714: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:715:43: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:718:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:722: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:723:43: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:726:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:733:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:734:4: E0602: Undefined variable 'tpcetest' (undefined-variable) transportpce_tests/common/test_utils_generate_tapi_topo.py:730:25: W0613: Unused argument 'self' (unused-argument) transportpce_tests/common/test_utils_generate_tapi_topo.py:750:0: C0103: Function name "disconnect_spdrA_C" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:759:0: C0103: Function name "disconnect_roadmA_C" doesn't conform to snake_case naming style (invalid-name) transportpce_tests/common/test_utils_generate_tapi_topo.py:768: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:15:0: W0611: Unused import os (unused-import) ----------------------------------- Your code has been rated at 9.57/10 pre-commit: FAIL ✖ in 42.87 seconds pylint: exit 1 (25.48 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=3397 pylint: FAIL ✖ in 30.51 seconds buildcontroller: OK ✔ in 2 minutes 0.76 seconds 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_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_tests71: freeze> python -m pip freeze --all build_karaf_tests190: freeze> python -m pip freeze --all build_karaf_tests121: freeze> python -m pip freeze --all build_karaf_tests221: freeze> python -m pip freeze --all build_karaf_tests71: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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_tests190: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 in karaf71 with ./karaf71.env build_karaf_tests121: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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_tests221: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 karaf121 with ./karaf121.env build karaf in karaf221 with ./karaf221.env NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable build_karaf_tests190: OK ✔ in 1 minute 0.1 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_tests221: OK ✔ in 1 minute 2.09 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 build_karaf_tests71: OK ✔ in 1 minute 3.68 seconds build_karaf_tests121: OK ✔ in 1 minute 3.78 seconds testsPCE: install_deps> python -I -m pip install gnpy4tpce==2.4.7 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt sims: freeze> python -m pip freeze --all sims: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 buildlighty: freeze> python -m pip freeze --all buildlighty: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,setuptools==80.9.0,urllib3==2.5.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED sims: OK ✔ in 12.18 seconds testsPCE: freeze> python -m pip freeze --all testsPCE: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,click==8.3.0,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.60.1,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.2,MarkupSafe==3.0.3,matplotlib==3.10.6,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.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pyparsing==3.2.5,pytest==8.4.2,python-dateutil==2.9.0.post0,pytz==2025.2,requests==2.32.5,scipy==1.16.2,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 ....F....F....FFFF.F [100%] =================================== FAILURES =================================== _____________ TestTransportPCEPce.test_05_path_computation_xpdr_bi _____________ self = def test_05_path_computation_xpdr_bi(self): response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', self.path_computation_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Path is calculated', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Path is calculated' not found in 'OSNR out of range (-9999.9 - -9999.9)' transportpce_tests/pce/test01_pce.py:143: AssertionError ____________ TestTransportPCEPce.test_10_path_computation_xpdr_uni _____________ self = def test_10_path_computation_xpdr_uni(self): self.path_computation_input_data["service-a-end"]["node-id"] = "XPONDER-1-2" self.path_computation_input_data["service-a-end"]["clli"] = "ORANGE1" self.path_computation_input_data["service-z-end"]["node-id"] = "XPONDER-3-2" self.path_computation_input_data["service-z-end"]["clli"] = "ORANGE3" response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', self.path_computation_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Path is calculated', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Path is calculated' not found in 'OSNR out of range (-9999.9 - -9999.9)' transportpce_tests/pce/test01_pce.py:190: AssertionError ____________ TestTransportPCEPce.test_15_success1_path_computation _____________ self = def test_15_success1_path_computation(self): self.path_computation_input_data["service-name"] = "service 1" self.path_computation_input_data["service-a-end"] = {"service-format": "Ethernet", "service-rate": "100", "clli": "ORANGE2", "node-id": "XPONDER-2-2"} self.path_computation_input_data["service-z-end"] = {"service-format": "Ethernet", "service-rate": "100", "clli": "ORANGE1", "node-id": "XPONDER-1-2"} self.path_computation_input_data["hard-constraints"] = {"customer-code": ["Some customer-code"], "co-routing": { "service-identifier-list": [{ "service-identifier": "Some existing-service"}] }} self.path_computation_input_data["soft-constraints"] = {"customer-code": ["Some customer-code"], "co-routing": { "service-identifier-list": [{ "service-identifier": "Some existing-service"}] }} response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', self.path_computation_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Path is calculated', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Path is calculated' not found in 'OSNR out of range (-9999.9 - -9999.9), No frequencies available' transportpce_tests/pce/test01_pce.py:267: AssertionError ____________ TestTransportPCEPce.test_16_success2_path_computation _____________ self = def test_16_success2_path_computation(self): self.path_computation_input_data["service-a-end"]["node-id"] = "XPONDER-1-2" self.path_computation_input_data["service-a-end"]["clli"] = "ORANGE1" self.path_computation_input_data["service-z-end"]["node-id"] = "XPONDER-3-2" self.path_computation_input_data["service-z-end"]["clli"] = "ORANGE3" del self.path_computation_input_data["hard-constraints"] del self.path_computation_input_data["soft-constraints"] response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', self.path_computation_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Path is calculated', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Path is calculated' not found in 'OSNR out of range (-9999.9 - -9999.9)' transportpce_tests/pce/test01_pce.py:284: AssertionError ____________ TestTransportPCEPce.test_17_success3_path_computation _____________ self = def test_17_success3_path_computation(self): self.path_computation_input_data["hard-constraints"] = {"exclude": {"node-id": ["OpenROADM-2-1", "OpenROADM-2-2"]}} response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', self.path_computation_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Path is calculated', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Path is calculated' not found in 'OSNR out of range (-9999.9 - -9999.9)' transportpce_tests/pce/test01_pce.py:300: AssertionError __ TestTransportPCEPce.test_18_path_computation_before_oms_attribute_deletion __ self = def test_18_path_computation_before_oms_attribute_deletion(self): self.path_computation_input_data["service-a-end"]["node-id"] = "XPONDER-2-2" self.path_computation_input_data["service-a-end"]["clli"] = "ORANGE2" self.path_computation_input_data["service-z-end"]["node-id"] = "XPONDER-1-2" self.path_computation_input_data["service-z-end"]["clli"] = "ORANGE1" del self.path_computation_input_data["hard-constraints"] response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', self.path_computation_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Path is calculated', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Path is calculated' not found in 'OSNR out of range (-9999.9 - -9999.9), No frequencies available' transportpce_tests/pce/test01_pce.py:319: AssertionError __ TestTransportPCEPce.test_20_path_computation_after_oms_attribute_deletion ___ self = def test_20_path_computation_after_oms_attribute_deletion(self): response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', self.path_computation_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Path is calculated', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Path is calculated' not found in 'OSNR out of range (-9999.9 - -9999.9), No frequencies available' transportpce_tests/pce/test01_pce.py:346: AssertionError --------------------------- Captured stdout teardown --------------------------- all processes killed ODL log file stored =========================== short test summary info ============================ FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_05_path_computation_xpdr_bi FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_10_path_computation_xpdr_uni FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_15_success1_path_computation FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_16_success2_path_computation FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_17_success3_path_computation FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_18_path_computation_before_oms_attribute_deletion FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_20_path_computation_after_oms_attribute_deletion 7 failed, 13 passed in 86.31s (0:01:26) buildlighty: OK ✔ in 1 minute 2.63 seconds testsPCE: exit 1 (86.64 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pid=4631 testsPCE: FAIL ✖ in 2 minutes 17.69 seconds tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 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 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: freeze> python -m pip freeze --all tests_tapi: freeze> python -m pip freeze --all tests190: freeze> python -m pip freeze --all tests121: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 tests_tapi: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py tests190: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,setuptools==80.9.0,urllib3==2.5.0 tests190: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc using environment variables from ./karafoc.env pytest -q transportpce_tests/oc/test01_portmapping.py ........... [100%] 10 passed in 79.08s (0:01:19) pytest -q transportpce_tests/oc/test02_topology.py ................................. [100%] 21 passed in 124.61s (0:02:04) pytest -q transportpce_tests/1.2.1/test02_topo_portmapping.py ........................... [100%] 14 passed in 65.13s (0:01:05) pytest -q transportpce_tests/oc/test03_renderer.py ............... [100%] 6 passed in 56.88s pytest -q transportpce_tests/1.2.1/test03_topology.py ..................... [100%] 19 passed in 57.91s tests190: OK ✔ in 3 minutes 31.66 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==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 50.84s pytest -q transportpce_tests/7.1/test02_otn_renderer.py .............................. [100%] 51 passed in 308.06s (0:05:08) pytest -q transportpce_tests/tapi/test02_full_topology.py .................... [100%] 44 passed in 148.08s (0:02:28) pytest -q transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py ............................................................................... [100%] 62 passed in 158.89s (0:02:38) pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py ... [100%] 24 passed in 96.32s (0:01:36) pytest -q transportpce_tests/1.2.1/test05_olm.py FFFF........F...F..F....................F.....F.F.F.F.F.F........................................ [100%] =================================== FAILURES =================================== _ TestTransportPCEFullTopology.test_16_create_connectivity_service_PhotonicMedia _ self = def test_16_create_connectivity_service_PhotonicMedia(self): self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sAOTS self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZOTS response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) time.sleep(self.WAITING) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test02_full_topology.py:316: AssertionError ________ 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_19_create_connectivity_service_ODU _____ self = def test_19_create_connectivity_service_ODU(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][0]["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sAeODU self.cr_serv_input_data["end-point"][1]["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZeODU # self.cr_serv_input_data["connectivity-constraint"]["service-layer"] = "ODU" self.cr_serv_input_data["connectivity-constraint"]["service-level"] = self.uuid_services.pm response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) time.sleep(self.WAITING) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test02_full_topology.py:464: AssertionError _ 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_22_create_connectivity_service_DSR _____ self = def test_22_create_connectivity_service_DSR(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][0]["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sADSR self.cr_serv_input_data["end-point"][1]["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZDSR # self.cr_serv_input_data["connectivity-constraint"]["service-layer"] = "DSR" self.cr_serv_input_data["connectivity-constraint"]["requested-capacity"]["total-size"]["value"] = "10" self.cr_serv_input_data["connectivity-constraint"]["service-level"] = self.uuid_services.odu response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) time.sleep(self.WAITING) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test02_full_topology.py:574: 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) E AssertionError: 500 != 200 transportpce_tests/tapi/test02_full_topology.py:652: 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 =========================== short test summary info ============================ FAILED transportpce_tests/tapi/test02_full_topology.py::TestTransportPCEFullTopology::test_16_create_connectivity_service_PhotonicMedia 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_19_create_connectivity_service_ODU 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_22_create_connectivity_service_DSR 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 14 failed, 22 passed in 262.57s (0:04:22) tests_tapi: exit 1 (571.26 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi pid=5358 [100%] 48 passed in 149.01s (0:02:29) pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py tests_tapi: FAIL ✖ in 9 minutes 39.76 seconds tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt .tests221: freeze> python -m pip freeze --all tests221: bcrypt==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 197.11s (0:03:17) pytest -q transportpce_tests/1.2.1/test06_end2end.py ..................................... [100%] 22 passed in 85.46s (0:01:25) .............. [100%] 35 passed in 91.43s (0:01:31) pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py ......................... [100%] 6 passed in 49.37s pytest -q transportpce_tests/2.2.1/test03_topology.py ................................................................. [100%] 44 passed in 136.92s (0:02:16) pytest -q transportpce_tests/2.2.1/test04_otn_topology.py .................. [100%] 12 passed in 60.62s (0:01:00) pytest -q transportpce_tests/2.2.1/test05_flex_grid.py ................. [100%] 16 passed in 115.84s (0:01:55) pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py ............................... [100%] 31 passed in 36.33s pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py ............................ [100%] 26 passed in 91.86s (0:01:31) pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py ...................... [100%] 22 passed in 99.84s (0:01:39) pytest -q transportpce_tests/2.2.1/test09_olm.py ................... [100%] 54 passed in 719.10s (0:11:59) ........................ [100%] 40 passed in 182.49s (0:03:02) pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py ........................................................................ [ 74%] ......................... [100%] 97 passed in 849.87s (0:14:09) pytest -q transportpce_tests/2.2.1/test12_end2end.py ...................................................... [100%] 54 passed in 447.38s (0:07:27) pytest -q transportpce_tests/2.2.1/test14_otn_switch_end2end.py ........................................................................ [ 71%] ............................. [100%] 101 passed in 491.55s (0:08:11) pytest -q transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py ........................................................................ [ 67%] ................................... [100%] 107 passed in 600.76s (0:10:00) pytest -q transportpce_tests/2.2.1/test16_freq_end2end.py ..............FFFFFFFFFFF.........FFFF....... [100%] =================================== FAILURES =================================== ___________ TestTransportPCEFreqEndtoend.test_15_get_other_service1 ____________ self = def test_15_get_other_service1(self): response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-openroadm") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test16_freq_end2end.py:270: AssertionError _____ TestTransportPCEFreqEndtoend.test_16_check_interface_roadma1_deg2_mc _____ self = def test_16_check_interface_roadma1_deg2_mc(self): response = test_utils.check_node_attribute_request( 'ROADM-A1', 'interface', 'DEG2-TTP-TXRX-mc-282:287') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test16_freq_end2end.py:284: AssertionError ____ TestTransportPCEFreqEndtoend.test_17_check_interface_roadm_a1_deg2_nmc ____ self = def test_17_check_interface_roadm_a1_deg2_nmc(self): response = test_utils.check_node_attribute_request( 'ROADM-A1', 'interface', 'DEG2-TTP-TXRX-nmc-282:287') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test16_freq_end2end.py:307: AssertionError ____ TestTransportPCEFreqEndtoend.test_18_check_interface_roadm_a1_srg3_nmc ____ self = def test_18_check_interface_roadm_a1_srg3_nmc(self): response = test_utils.check_node_attribute_request( 'ROADM-A1', 'interface', 'SRG3-PP1-TXRX-nmc-282:287') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test16_freq_end2end.py:330: AssertionError ____ TestTransportPCEFreqEndtoend.test_19_check_interface_roadm_c1_deg1_mc _____ self = def test_19_check_interface_roadm_c1_deg1_mc(self): response = test_utils.check_node_attribute_request( 'ROADM-C1', 'interface', 'DEG1-TTP-TXRX-mc-282:287') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test16_freq_end2end.py:352: AssertionError ____ TestTransportPCEFreqEndtoend.test_20_check_interface_roadm_c1_deg1_nmc ____ self = def test_20_check_interface_roadm_c1_deg1_nmc(self): response = test_utils.check_node_attribute_request( 'ROADM-C1', 'interface', 'DEG1-TTP-TXRX-nmc-282:287') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test16_freq_end2end.py:375: AssertionError ____ TestTransportPCEFreqEndtoend.test_21_check_interface_roadm_c1_srg1_nmc ____ self = def test_21_check_interface_roadm_c1_srg1_nmc(self): response = test_utils.check_node_attribute_request( 'ROADM-C1', 'interface', 'SRG1-PP1-TXRX-nmc-282:287') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/2.2.1/test16_freq_end2end.py:398: AssertionError ____ TestTransportPCEFreqEndtoend.test_22_check_openroadm_topo_ROADM_A1_SRG ____ self = def test_22_check_openroadm_topo_ROADM_A1_SRG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-SRG3', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] > self.assertEqual(freq_map_array[35], 129, "Bits 282 to 287 should not be available") E AssertionError: 255 != 129 : Bits 282 to 287 should not be available transportpce_tests/2.2.1/test16_freq_end2end.py:423: AssertionError ____ TestTransportPCEFreqEndtoend.test_23_check_openroadm_topo_ROADM_A1_DEG ____ self = def test_23_check_openroadm_topo_ROADM_A1_DEG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-DEG2', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] > self.assertEqual(freq_map_array[35], 129, "Bits 282 to 287 should not be available") E AssertionError: 255 != 129 : Bits 282 to 287 should not be available transportpce_tests/2.2.1/test16_freq_end2end.py:447: AssertionError ___ TestTransportPCEFreqEndtoend.test_24_check_openroadm_topo_ROADM_C1_DEG1 ____ self = def test_24_check_openroadm_topo_ROADM_C1_DEG1(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-C1-DEG1', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] > self.assertEqual(freq_map_array[35], 129, "Bits 282 to 287 should not be available") E AssertionError: 255 != 129 : Bits 282 to 287 should not be available transportpce_tests/2.2.1/test16_freq_end2end.py:471: AssertionError ___ TestTransportPCEFreqEndtoend.test_25_check_openroadm_topo_ROADM_C1_SRG1 ____ self = def test_25_check_openroadm_topo_ROADM_C1_SRG1(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-C1-SRG1', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] > self.assertEqual(freq_map_array[35], 129, "Bits 282 to 287 should not be available") E AssertionError: 255 != 129 : Bits 282 to 287 should not be available transportpce_tests/2.2.1/test16_freq_end2end.py:495: AssertionError _____ TestTransportPCEFreqEndtoend.test_35_check_openroadm_topo_ROADMA_SRG _____ self = def test_35_check_openroadm_topo_ROADMA_SRG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-SRG3', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] self.assertEqual(freq_map_array[35], 255, "Bits 282 to 287 should be available") liste_tp = response['node']['ietf-network-topology:termination-point'] for ele in liste_tp: if ele['tp-id'] == 'SRG3-PP1-TXRX': freq_map = base64.b64decode( ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] self.assertEqual(freq_map_array[35], 255, "Bits 282 to 287 should be available") if ele['tp-id'] == 'SRG3-CP-TXRX': freq_map = base64.b64decode( > ele['org-openroadm-network-topology:cp-attributes']['avail-freq-maps'][0]['freq-map']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E KeyError: 'org-openroadm-network-topology:cp-attributes' transportpce_tests/2.2.1/test16_freq_end2end.py:603: KeyError _____ TestTransportPCEFreqEndtoend.test_36_check_openroadm_topo_ROADMA_DEG _____ self = def test_36_check_openroadm_topo_ROADMA_DEG(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-DEG2', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] self.assertEqual(freq_map_array[35], 255, "Bits 282 to 287 should be available") self.assertEqual(response['node']['ietf-network-topology:termination-point'][0]['tp-id'], 'DEG2-TTP-TXRX') self.assertEqual(response['node']['ietf-network-topology:termination-point'][1]['tp-id'], 'DEG2-CTP-TXRX') liste_tp = response['node']['ietf-network-topology:termination-point'] for ele in liste_tp: if ele['tp-id'] == 'DEG2-TTP-TXRX': freq_map = base64.b64decode( > ele['org-openroadm-network-topology:tx-ttp-attributes']['avail-freq-maps'][0]['freq-map']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E KeyError: 'org-openroadm-network-topology:tx-ttp-attributes' transportpce_tests/2.2.1/test16_freq_end2end.py:622: KeyError ___ TestTransportPCEFreqEndtoend.test_37_check_openroadm_topo_ROADM_C1_DEG1 ____ self = def test_37_check_openroadm_topo_ROADM_C1_DEG1(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-C1-DEG1', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] self.assertEqual(freq_map_array[35], 255, "Bits 282 to 287 should be available") self.assertEqual(response['node']['ietf-network-topology:termination-point'][0]['tp-id'], 'DEG1-CTP-TXRX') self.assertEqual(response['node']['ietf-network-topology:termination-point'][1]['tp-id'], 'DEG1-TTP-TXRX') liste_tp = response['node']['ietf-network-topology:termination-point'] for ele in liste_tp: if ele['tp-id'] == 'DEG1-CTP-TXRX': freq_map = base64.b64decode( > ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E KeyError: 'org-openroadm-network-topology:ctp-attributes' transportpce_tests/2.2.1/test16_freq_end2end.py:644: KeyError ___ TestTransportPCEFreqEndtoend.test_38_check_openroadm_topo_ROADM_C1_SRG1 ____ self = def test_38_check_openroadm_topo_ROADM_C1_SRG1(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-C1-SRG1', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] self.assertEqual(freq_map_array[35], 255, "Bits 282 to 287 should be available") self.assertEqual(response['node']['ietf-network-topology:termination-point'][1]['tp-id'], 'SRG1-PP1-TXRX') self.assertEqual(response['node']['ietf-network-topology:termination-point'][4]['tp-id'], 'SRG1-CP-TXRX') liste_tp = response['node']['ietf-network-topology:termination-point'] for ele in liste_tp: if ele['tp-id'] == 'SRG1-PP1-TXRX': freq_map = base64.b64decode( > ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E KeyError: 'org-openroadm-network-topology:pp-attributes' transportpce_tests/2.2.1/test16_freq_end2end.py:668: KeyError =========================== short test summary info ============================ FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_15_get_other_service1 FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_16_check_interface_roadma1_deg2_mc FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_17_check_interface_roadm_a1_deg2_nmc FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_18_check_interface_roadm_a1_srg3_nmc FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_19_check_interface_roadm_c1_deg1_mc FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_20_check_interface_roadm_c1_deg1_nmc FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_21_check_interface_roadm_c1_srg1_nmc FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_22_check_openroadm_topo_ROADM_A1_SRG FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_23_check_openroadm_topo_ROADM_A1_DEG FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_24_check_openroadm_topo_ROADM_C1_DEG1 FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_25_check_openroadm_topo_ROADM_C1_SRG1 FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_35_check_openroadm_topo_ROADMA_SRG FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_36_check_openroadm_topo_ROADMA_DEG FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_37_check_openroadm_topo_ROADM_C1_DEG1 FAILED transportpce_tests/2.2.1/test16_freq_end2end.py::TestTransportPCEFreqEndtoend::test_38_check_openroadm_topo_ROADM_C1_SRG1 15 failed, 30 passed in 200.60s (0:03:20) tests71: OK ✔ in 7 minutes 34.1 seconds tests121: OK ✔ in 22 minutes 32.71 seconds tests221: exit 1 (3459.11 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 pid=18178 tests221: FAIL ✖ in 57 minutes 47.78 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==5.0.0,certifi==2025.8.3,cffi==2.0.0,charset-normalizer==3.4.3,cryptography==46.0.1,dict2xml==1.7.7,idna==3.10,iniconfig==2.1.0,invoke==2.2.0,lxml==6.0.2,netconf-client==3.5.0,packaging==25.0,paramiko==4.0.0,pip==25.2,pluggy==1.6.0,psutil==7.1.0,pycparser==2.23,Pygments==2.19.2,PyNaCl==1.6.0,pytest==8.4.2,requests==2.32.5,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 147.91s (0:02:27) pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py ........................................................................ [ 66%] ..................................... [100%] 109 passed in 431.38s (0:07:11) pytest -q transportpce_tests/hybrid/test03_autonomous_reroute.py ..................................................... [100%] 53 passed in 259.31s (0:04:19) buildcontroller: OK (120.76=setup[9.29]+cmd[111.47] seconds) sims: OK (12.18=setup[8.05]+cmd[4.12] seconds) build_karaf_tests121: OK (63.78=setup[7.89]+cmd[55.89] seconds) testsPCE: FAIL code 1 (137.69=setup[51.05]+cmd[86.64] seconds) tests121: OK (1352.71=setup[8.45]+cmd[1344.26] seconds) build_karaf_tests221: OK (62.09=setup[7.91]+cmd[54.18] seconds) tests_tapi: FAIL code 1 (579.76=setup[8.50]+cmd[571.26] seconds) tests221: FAIL code 1 (3467.78=setup[8.67]+cmd[3459.11] seconds) build_karaf_tests71: OK (63.68=setup[7.84]+cmd[55.84] seconds) tests71: OK (454.10=setup[8.52]+cmd[445.58] seconds) build_karaf_tests190: OK (60.09=setup[7.85]+cmd[52.25] seconds) tests190: OK (211.66=setup[8.53]+cmd[203.13] seconds) tests_hybrid: OK (847.56=setup[8.04]+cmd[839.52] seconds) buildlighty: OK (62.63=setup[10.57]+cmd[52.07] seconds) docs: OK (34.69=setup[31.86]+cmd[2.82] seconds) docs-linkcheck: OK (38.36=setup[32.32]+cmd[6.05] seconds) checkbashisms: OK (3.56=setup[2.31]+cmd[0.00,0.05,1.20] seconds) pre-commit: FAIL code 1 (42.87=setup[2.89]+cmd[0.09,0.01,39.88] seconds) pylint: FAIL code 1 (30.51=setup[5.04]+cmd[25.48] seconds) evaluation failed :( (5217.37 seconds) + tox_status=255 + echo '---> Completed tox runs' ---> Completed tox runs + for i in .tox/*/log ++ echo .tox/build_karaf_tests121/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests121 + cp -r .tox/build_karaf_tests121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests121 + for i in .tox/*/log ++ echo .tox/build_karaf_tests190/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests190 + cp -r .tox/build_karaf_tests190/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests190 + for i in .tox/*/log ++ echo .tox/build_karaf_tests221/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests221 + cp -r .tox/build_karaf_tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests221 + for i in .tox/*/log ++ echo .tox/build_karaf_tests71/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests71 + cp -r .tox/build_karaf_tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests71 + for i in .tox/*/log ++ echo .tox/buildcontroller/log ++ awk -F/ '{print $2}' + tox_env=buildcontroller + cp -r .tox/buildcontroller/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildcontroller + for i in .tox/*/log ++ echo .tox/buildlighty/log ++ awk -F/ '{print $2}' + tox_env=buildlighty + cp -r .tox/buildlighty/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildlighty + for i in .tox/*/log ++ echo .tox/checkbashisms/log ++ awk -F/ '{print $2}' + tox_env=checkbashisms + cp -r .tox/checkbashisms/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/checkbashisms + for i in .tox/*/log ++ echo .tox/docs-linkcheck/log ++ awk -F/ '{print $2}' + tox_env=docs-linkcheck + cp -r .tox/docs-linkcheck/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs-linkcheck + for i in .tox/*/log ++ echo .tox/docs/log ++ awk -F/ '{print $2}' + tox_env=docs + cp -r .tox/docs/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs + for i in .tox/*/log ++ echo .tox/pre-commit/log ++ awk -F/ '{print $2}' + tox_env=pre-commit + cp -r .tox/pre-commit/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pre-commit + for i in .tox/*/log ++ echo .tox/pylint/log ++ awk -F/ '{print $2}' + tox_env=pylint + cp -r .tox/pylint/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pylint + for i in .tox/*/log ++ echo .tox/sims/log ++ awk -F/ '{print $2}' + tox_env=sims + cp -r .tox/sims/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/sims + for i in .tox/*/log ++ echo .tox/tests121/log ++ awk -F/ '{print $2}' + tox_env=tests121 + cp -r .tox/tests121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests121 + for i in .tox/*/log ++ echo .tox/tests190/log ++ awk -F/ '{print $2}' + tox_env=tests190 + cp -r .tox/tests190/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests190 + for i in .tox/*/log ++ echo .tox/tests221/log ++ awk -F/ '{print $2}' + tox_env=tests221 + cp -r .tox/tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests221 + for i in .tox/*/log ++ echo .tox/tests71/log ++ awk -F/ '{print $2}' + tox_env=tests71 + cp -r .tox/tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests71 + for i in .tox/*/log ++ echo .tox/testsPCE/log ++ awk -F/ '{print $2}' + tox_env=testsPCE + cp -r .tox/testsPCE/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/testsPCE + for i in .tox/*/log ++ echo .tox/tests_hybrid/log ++ awk -F/ '{print $2}' + tox_env=tests_hybrid + cp -r .tox/tests_hybrid/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_hybrid + for i in .tox/*/log ++ echo .tox/tests_tapi/log ++ awk -F/ '{print $2}' + tox_env=tests_tapi + cp -r .tox/tests_tapi/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_tapi + DOC_DIR=docs/_build/html + [[ -d docs/_build/html ]] + echo '---> Archiving generated docs' ---> Archiving generated docs + mv docs/_build/html /w/workspace/transportpce-tox-verify-transportpce-master/archives/docs + echo '---> tox-run.sh ends' ---> tox-run.sh ends + test 255 -eq 0 + exit 255 ++ '[' 1 = 1 ']' ++ '[' -x /usr/bin/clear_console ']' ++ /usr/bin/clear_console -q Build step 'Execute shell' marked build as failure $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 1568 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins2077096269078293853.sh ---> sysstat.sh [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins5789628823668047046.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=debian + workspace=/w/workspace/transportpce-tox-verify-transportpce-master + START_PACKAGES=/tmp/packages_start.txt + END_PACKAGES=/tmp/packages_end.txt + DIFF_PACKAGES=/tmp/packages_diff.txt + PACKAGES=/tmp/packages_start.txt + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + dpkg -l + grep '^ii' + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/transportpce-tox-verify-transportpce-master/archives/ [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins591088721740329355.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-UcF0 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-UcF0/bin to PATH INFO: Running in OpenStack, capturing instance metadata [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins6229818912563566461.sh provisioning config files... Could not find credentials [logs] for transportpce-tox-verify-transportpce-master #3617 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/transportpce-tox-verify-transportpce-master@tmp/config16237957491176996981tmp Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] Run condition [Regular expression match] enabling perform for step [Provide Configuration files] provisioning config files... copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SERVER_ID=logs [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins1768176489482595557.sh ---> create-netrc.sh WARN: Log server credential not found. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins6937799620858799601.sh ---> python-tools-install.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-UcF0 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-UcF0/bin to PATH [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins15552104376498583689.sh ---> sudo-logs.sh Archiving 'sudo' log.. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins647794294816742703.sh ---> job-cost.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-UcF0 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-UcF0/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v3-standard-4 INFO: Archiving Costs [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins5177421586455864631.sh ---> logs-deploy.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-UcF0 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-UcF0/bin to PATH WARNING: Nexus logging server not set INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/transportpce-tox-verify-transportpce-master/3617/ INFO: archiving logs to S3 ---> uname -a: Linux prd-ubuntu2204-docker-4c-16g-2586 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 40 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: AuthenticAMD Model name: AMD EPYC-Rome Processor CPU family: 23 Model: 49 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 4 Stepping: 0 BogoMIPS: 5600.00 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt nrip_save umip rdpid arch_capabilities Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 128 KiB (4 instances) L1i cache: 128 KiB (4 instances) L2 cache: 2 MiB (4 instances) L3 cache: 64 MiB (4 instances) NUMA node(s): 1 NUMA node0 CPU(s): 0-3 Vulnerability Gather data sampling: Not affected Vulnerability Itlb multihit: Not affected Vulnerability L1tf: Not affected Vulnerability Mds: Not affected Vulnerability Meltdown: Not affected Vulnerability Mmio stale data: Not affected Vulnerability Reg file data sampling: Not affected Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled Vulnerability Spec rstack overflow: Mitigation; SMT disabled Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Not affected ---> nproc: 4 ---> df -h: Filesystem Size Used Avail Use% Mounted on tmpfs 1.6G 1.1M 1.6G 1% /run /dev/vda1 78G 18G 61G 23% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda15 105M 6.1M 99M 6% /boot/efi tmpfs 1.6G 4.0K 1.6G 1% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 15989 690 10930 3 4368 14956 Swap: 1023 1 1022 ---> ip addr: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 link/ether fa:16:3e:b4:fc:b5 brd ff:ff:ff:ff:ff:ff altname enp0s3 inet 10.30.170.35/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 valid_lft 81007sec preferred_lft 81007sec inet6 fe80::f816:3eff:feb4:fcb5/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1458 qdisc noqueue state DOWN group default link/ether 02:42:44:e4:fc:2a brd ff:ff:ff:ff:ff:ff inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 5.15.0-131-generic (prd-ubuntu2204-docker-4c-16g-2586) 09/30/25 _x86_64_ (4 CPU) 17:10:48 LINUX RESTART (4 CPU) 17:20:17 tps rtps wtps dtps bread/s bwrtn/s bdscd/s 17:30:17 65.28 27.05 36.09 2.15 256.79 2217.78 2139.96 17:40:17 18.83 0.04 17.97 0.83 1.15 473.21 1189.25 17:50:17 5.58 0.01 5.39 0.18 1.03 139.50 65.09 18:00:17 4.52 0.01 4.31 0.20 0.23 106.08 53.63 18:10:17 4.86 0.01 4.67 0.18 1.07 131.08 106.46 18:20:17 5.03 0.01 4.85 0.18 0.40 134.73 88.97 18:30:17 11.27 0.08 10.66 0.53 2.51 619.16 496.57 18:40:17 9.83 1.82 7.12 0.89 72.71 937.63 280.58 Average: 15.65 3.63 11.38 0.64 41.98 594.86 552.54 17:20:17 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 17:30:17 7898720 11474496 4457568 27.22 256620 3291792 5272512 30.26 2160184 5721368 4368 17:40:17 3976052 7592780 8339068 50.93 259352 3329820 9214436 52.89 2168860 9626592 348 17:50:17 7715028 11346340 4588176 28.02 259996 3343788 5312000 30.49 2171192 5906340 204 18:00:17 7898392 11540356 4394252 26.84 260564 3353884 5121660 29.40 2172404 5729516 72 18:10:17 6270960 9927976 6005856 36.68 261128 3368388 6715544 38.55 2174568 7344232 188 18:20:17 6210456 9882988 6050864 36.96 261724 3383316 6756176 38.78 2177788 7408108 236 18:30:17 7498376 11301060 4633520 28.30 265584 3505632 5303148 30.44 2193408 6101952 60 18:40:17 11248628 15334464 601668 3.67 267672 3779656 1221196 7.01 2240312 2292732 26980 Average: 7339576 11050058 4883872 29.83 261580 3419534 5614584 32.23 2182340 6266355 4057 17:20:17 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 17:30:17 lo 46.13 46.13 23.78 23.78 0.00 0.00 0.00 0.00 17:30:17 ens3 2.27 2.23 0.58 0.55 0.00 0.00 0.00 0.00 17:30:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:40:17 lo 28.57 28.57 12.30 12.30 0.00 0.00 0.00 0.00 17:40:17 ens3 1.19 1.13 0.26 1.10 0.00 0.00 0.00 0.00 17:40:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:50:17 lo 19.94 19.94 9.48 9.48 0.00 0.00 0.00 0.00 17:50:17 ens3 0.67 0.56 0.17 0.13 0.00 0.00 0.00 0.00 17:50:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:00:17 lo 11.32 11.32 3.98 3.98 0.00 0.00 0.00 0.00 18:00:17 ens3 0.41 0.29 0.11 0.08 0.00 0.00 0.00 0.00 18:00:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:10:17 lo 26.43 26.43 11.29 11.29 0.00 0.00 0.00 0.00 18:10:17 ens3 0.51 0.44 0.11 0.09 0.00 0.00 0.00 0.00 18:10:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:20:17 lo 17.51 17.51 10.54 10.54 0.00 0.00 0.00 0.00 18:20:17 ens3 1.46 0.66 0.39 0.26 0.00 0.00 0.00 0.00 18:20:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:30:17 lo 17.26 17.26 9.76 9.76 0.00 0.00 0.00 0.00 18:30:17 ens3 1.71 1.00 0.54 0.41 0.00 0.00 0.00 0.00 18:30:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:40:17 lo 32.41 32.41 12.57 12.57 0.00 0.00 0.00 0.00 18:40:17 ens3 2.62 2.38 1.59 0.95 0.00 0.00 0.00 0.00 18:40:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 24.95 24.95 11.71 11.71 0.00 0.00 0.00 0.00 Average: ens3 1.36 1.09 0.47 0.45 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 5.15.0-131-generic (prd-ubuntu2204-docker-4c-16g-2586) 09/30/25 _x86_64_ (4 CPU) 17:10:48 LINUX RESTART (4 CPU) 17:20:17 CPU %user %nice %system %iowait %steal %idle 17:30:17 all 60.21 0.00 2.43 0.14 0.11 37.11 17:30:17 0 60.05 0.00 2.57 0.09 0.11 37.18 17:30:17 1 60.38 0.00 2.44 0.23 0.11 36.83 17:30:17 2 59.99 0.00 2.43 0.10 0.11 37.38 17:30:17 3 60.42 0.00 2.29 0.13 0.12 37.04 17:40:17 all 30.45 0.00 1.19 0.09 0.09 68.18 17:40:17 0 30.70 0.00 1.15 0.10 0.09 67.97 17:40:17 1 30.66 0.00 1.16 0.02 0.09 68.07 17:40:17 2 29.93 0.00 1.18 0.15 0.09 68.65 17:40:17 3 30.51 0.00 1.27 0.09 0.09 68.04 17:50:17 all 8.26 0.00 0.41 0.03 0.06 91.24 17:50:17 0 7.97 0.00 0.41 0.01 0.06 91.55 17:50:17 1 8.50 0.00 0.43 0.06 0.06 90.96 17:50:17 2 8.33 0.00 0.43 0.03 0.07 91.15 17:50:17 3 8.25 0.00 0.39 0.01 0.07 91.29 18:00:17 all 6.87 0.00 0.39 0.02 0.06 92.66 18:00:17 0 6.82 0.00 0.36 0.04 0.06 92.72 18:00:17 1 6.92 0.00 0.39 0.00 0.06 92.62 18:00:17 2 6.76 0.00 0.39 0.01 0.06 92.78 18:00:17 3 6.99 0.00 0.42 0.01 0.06 92.52 18:10:17 all 10.00 0.00 0.46 0.02 0.07 89.45 18:10:17 0 9.95 0.00 0.48 0.01 0.07 89.49 18:10:17 1 10.12 0.00 0.45 0.01 0.06 89.34 18:10:17 2 9.98 0.00 0.43 0.04 0.07 89.49 18:10:17 3 9.94 0.00 0.50 0.02 0.07 89.48 18:20:17 all 9.45 0.00 0.46 0.04 0.07 89.98 18:20:17 0 9.72 0.00 0.41 0.05 0.07 89.75 18:20:17 1 9.20 0.00 0.39 0.07 0.06 90.28 18:20:17 2 9.41 0.00 0.53 0.03 0.07 89.96 18:20:17 3 9.46 0.00 0.51 0.02 0.07 89.94 18:30:17 all 19.22 0.00 0.83 0.16 0.07 79.71 18:30:17 0 19.68 0.00 0.85 0.05 0.07 79.35 18:30:17 1 18.64 0.00 0.80 0.16 0.08 80.33 18:30:17 2 19.87 0.00 0.84 0.10 0.07 79.13 18:30:17 3 18.71 0.00 0.85 0.32 0.08 80.05 18:40:17 all 11.16 0.00 0.64 0.25 0.07 87.88 18:40:17 0 11.24 0.00 0.66 0.19 0.07 87.84 18:40:17 1 10.05 0.00 0.50 0.04 0.06 89.35 18:40:17 2 12.36 0.00 0.69 0.52 0.07 86.36 18:40:17 3 11.01 0.00 0.70 0.23 0.07 87.98 Average: all 19.45 0.00 0.85 0.09 0.08 79.53 Average: 0 19.51 0.00 0.86 0.07 0.07 79.49 Average: 1 19.31 0.00 0.82 0.07 0.07 79.72 Average: 2 19.58 0.00 0.86 0.12 0.08 79.36 Average: 3 19.41 0.00 0.87 0.10 0.08 79.55