10:07:17 Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/transportpce/+/125172 10:07:17 Running as SYSTEM 10:07:17 [EnvInject] - Loading node environment variables. 10:07:17 Building remotely on prd-ubuntu2204-docker-4c-16g-63099 (ubuntu2204-docker-4c-16g) in workspace /w/workspace/transportpce-tox-verify-transportpce-master 10:07:17 [ssh-agent] Looking for ssh-agent implementation... 10:07:17 [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) 10:07:17 $ ssh-agent 10:07:17 SSH_AUTH_SOCK=/tmp/ssh-XXXXXXzsBwq5/agent.1573 10:07:17 SSH_AGENT_PID=1575 10:07:17 [ssh-agent] Started. 10:07:17 Running ssh-add (command line suppressed) 10:07:17 Identity added: /w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_8978231496186580540.key (/w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_8978231496186580540.key) 10:07:17 [ssh-agent] Using credentials jenkins (jenkins-ssh) 10:07:17 The recommended git tool is: NONE 10:07:20 using credential jenkins-ssh 10:07:20 Wiping out workspace first. 10:07:20 Cloning the remote Git repository 10:07:20 Cloning repository git://devvexx.opendaylight.org/mirror/transportpce 10:07:20 > git init /w/workspace/transportpce-tox-verify-transportpce-master # timeout=10 10:07:20 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce 10:07:20 > git --version # timeout=10 10:07:20 > git --version # 'git version 2.34.1' 10:07:20 using GIT_SSH to set credentials jenkins-ssh 10:07:20 Verifying host key using known hosts file, will automatically accept unseen keys 10:07:20 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce +refs/heads/*:refs/remotes/origin/* # timeout=10 10:07:23 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 10:07:23 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 10:07:24 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 10:07:24 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce 10:07:24 using GIT_SSH to set credentials jenkins-ssh 10:07:24 Verifying host key using known hosts file, will automatically accept unseen keys 10:07:24 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce refs/changes/72/125172/2 # timeout=10 10:07:24 > git rev-parse 87039bc1b95ff8424f51995fd96d1f99488030e1^{commit} # timeout=10 10:07:24 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script 10:07:24 Checking out Revision 87039bc1b95ff8424f51995fd96d1f99488030e1 (refs/changes/72/125172/2) 10:07:24 > git config core.sparsecheckout # timeout=10 10:07:24 > git checkout -f 87039bc1b95ff8424f51995fd96d1f99488030e1 # timeout=10 10:07:28 Commit message: "ci: migrate Sonar scan to security-workflows" 10:07:28 > git rev-parse FETCH_HEAD^{commit} # timeout=10 10:07:28 > git rev-list --no-walk 1ed23c7aecb00cb0d7d6095fa9bb4744d8a79ce3 # timeout=10 10:07:28 > git remote # timeout=10 10:07:28 > git submodule init # timeout=10 10:07:28 > git submodule sync # timeout=10 10:07:28 > git config --get remote.origin.url # timeout=10 10:07:28 > git submodule init # timeout=10 10:07:28 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 10:07:28 ERROR: No submodules found. 10:07:28 provisioning config files... 10:07:28 copy managed file [npmrc] to file:/home/jenkins/.npmrc 10:07:28 copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf 10:07:28 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins11668989371555474837.sh 10:07:28 ---> python-tools-install.sh 10:07:28 Setup pyenv: 10:07:28 * system (set by /opt/pyenv/version) 10:07:28 * 3.8.20 (set by /opt/pyenv/version) 10:07:28 * 3.9.20 (set by /opt/pyenv/version) 10:07:28 3.10.15 10:07:28 3.11.10 10:07:33 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-c5j9 10:07:33 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv 10:07:33 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:07:38 lf-activate-venv(): INFO: Installing additional packages: lftools 10:08:07 lf-activate-venv(): INFO: Adding /tmp/venv-c5j9/bin to PATH 10:08:07 Generating Requirements File 10:08:36 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. 10:08:36 httplib2 0.30.2 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. 10:08:37 Python 3.11.10 10:08:37 pip 26.2.1 from /tmp/venv-c5j9/lib/python3.11/site-packages/pip (python 3.11) 10:08:37 aiohappyeyeballs==2.7.1 10:08:37 aiohttp==3.14.4 10:08:37 aiosignal==1.4.0 10:08:37 appdirs==1.4.4 10:08:37 argcomplete==3.7.2 10:08:37 aspy.yaml==1.3.0 10:08:37 attrs==26.1.0 10:08:37 autopage==0.6.0 10:08:37 beautifulsoup4==4.15.0 10:08:37 boto3==1.43.110 10:08:37 botocore==1.43.110 10:08:37 bs4==0.0.2 10:08:37 certifi==2026.7.22 10:08:37 cffi==2.1.1 10:08:37 cfgv==3.5.0 10:08:37 chardet==7.6.0 10:08:37 charset-normalizer==3.5.2 10:08:37 click==8.5.0 10:08:37 cliff==4.16.0 10:08:37 cmd2==4.2.4 10:08:37 cryptography==3.3.2 10:08:37 debtcollector==3.1.0 10:08:37 decorator==5.3.1 10:08:37 defusedxml==0.7.1 10:08:37 Deprecated==1.3.1 10:08:37 distlib==0.4.3 10:08:37 dnspython==2.9.0 10:08:37 docker==7.2.0 10:08:37 dogpile.cache==1.5.0 10:08:37 durationpy==0.11 10:08:37 email-validator==2.3.0 10:08:37 filelock==4.0.12 10:08:37 frozenlist==1.8.0 10:08:37 future==1.0.0 10:08:37 gitdb==4.0.12 10:08:37 GitPython==3.2.0 10:08:37 httplib2==0.30.2 10:08:37 identify==2.6.20 10:08:37 idna==3.20 10:08:37 importlib-resources==1.5.0 10:08:37 iso8601==2.1.0 10:08:37 Jinja2==3.1.6 10:08:37 jmespath==1.1.0 10:08:37 jsonpatch==1.33 10:08:37 jsonpointer==3.2.0 10:08:37 jsonschema==4.26.0 10:08:37 jsonschema-specifications==2025.9.1 10:08:37 keystoneauth1==5.18.0 10:08:37 kubernetes==36.0.3 10:08:37 lftools==0.37.23 10:08:37 lxml==6.1.3 10:08:37 markdown-it-py==4.2.0 10:08:37 MarkupSafe==3.0.4 10:08:37 mdurl==0.1.2 10:08:37 msgpack==1.2.3 10:08:37 multi_key_dict==2.0.3 10:08:37 multidict==6.9.1 10:08:37 munch==4.0.0 10:08:37 netaddr==1.3.0 10:08:37 niet==1.4.2 10:08:37 nodeenv==1.11.0 10:08:37 oauth2client==4.1.3 10:08:37 oauthlib==4.0.0 10:08:37 openstacksdk==4.21.0 10:08:37 os-service-types==1.9.0 10:08:37 osc-lib==4.7.0 10:08:37 oslo.config==10.7.0 10:08:37 oslo.context==6.5.0 10:08:37 oslo.i18n==6.9.0 10:08:37 oslo.log==8.3.2 10:08:37 oslo.serialization==5.11.0 10:08:37 oslo.utils==10.2.0 10:08:37 packaging==26.3 10:08:37 pbr==7.1.3 10:08:37 platformdirs==4.12.4 10:08:37 prettytable==3.18.0 10:08:37 prompt_toolkit==3.0.53 10:08:37 propcache==0.5.4 10:08:37 psutil==7.2.2 10:08:37 pyasn1==0.6.4 10:08:37 pyasn1_modules==0.4.2 10:08:37 pycparser==3.1 10:08:37 pygerrit2==2.0.15 10:08:37 PyGithub==2.10.0 10:08:37 Pygments==2.21.0 10:08:37 PyJWT==2.15.1 10:08:37 PyNaCl==1.6.2 10:08:37 pyparsing==2.4.7 10:08:37 pyperclip==1.11.0 10:08:37 pyrsistent==0.20.0 10:08:37 python-dateutil==2.9.0.post0 10:08:37 python-discovery==1.6.1 10:08:37 python-heatclient==5.3.0 10:08:37 python-jenkins==1.8.3 10:08:37 python-keystoneclient==6.0.0 10:08:37 python-magnumclient==5.0.0 10:08:37 python-manilaclient==6.3.0 10:08:37 python-openstackclient==10.4.0 10:08:37 python-swiftclient==4.11.0 10:08:37 PyYAML==6.0.3 10:08:37 referencing==0.37.0 10:08:37 requests==2.34.2 10:08:37 requests-oauthlib==2.0.0 10:08:37 rfc3986==2.0.0 10:08:37 rich==15.0.0 10:08:37 rich-argparse==1.8.0 10:08:37 rpds-py==2026.9.1 10:08:37 rsa==4.9.1 10:08:37 ruamel.yaml==0.19.1 10:08:37 ruamel.yaml.clib==0.2.15 10:08:37 s3transfer==0.19.2 10:08:37 simplejson==4.2.0 10:08:37 six==1.17.0 10:08:37 smmap==5.0.3 10:08:37 soupsieve==2.10 10:08:37 stevedore==5.9.1 10:08:37 tabulate==0.10.0 10:08:37 toml==0.10.2 10:08:37 tomlkit==0.15.1 10:08:37 tqdm==4.70.1 10:08:37 typing_extensions==4.16.0 10:08:37 urllib3==1.26.20 10:08:37 virtualenv==21.14.6 10:08:37 wcwidth==0.9.2 10:08:37 websocket-client==1.9.2 10:08:37 wrapt==2.5.0 10:08:37 xdg==6.0.0 10:08:37 xmltodict==1.0.4 10:08:37 yarl==1.25.1 10:08:37 yq==4.4.0 10:08:37 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins15170461671426312890.sh 10:08:37 ---> uv-install.sh 10:08:37 Installing uv/uvx (latest) using shell installer 10:08:37 2026-10-09 10:08:37 URL:https://releases.astral.sh/installers/uv/latest/uv-installer.sh [71308/71308] -> "/tmp/uv-install-hytlnn.sh" [1] 10:08:38 downloading uv 0.12.24 x86_64-unknown-linux-gnu 10:08:38 installing to /home/jenkins/.local/bin 10:08:38 uv 10:08:38 uvx 10:08:38 everything's installed! 10:08:38 10:08:38 To add $HOME/.local/bin to your PATH, either restart your shell or run: 10:08:38 10:08:38 source $HOME/.local/bin/env (sh, bash, zsh) 10:08:38 source $HOME/.local/bin/env.fish (fish) 10:08:38 Adding install location to PATH 10:08:38 ---> Validating uv/uvx install 10:08:38 uvx 0.12.24 (x86_64-unknown-linux-gnu) 10:08:38 [EnvInject] - Injecting environment variables from a build step. 10:08:38 [EnvInject] - Injecting as environment variables the properties content 10:08:38 PYTHON=python3 10:08:38 10:08:38 [EnvInject] - Variables injected successfully. 10:08:38 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins13932908660331277458.sh 10:08:38 ---> tox-install.sh 10:08:38 + source /home/jenkins/lf-env.sh 10:08:38 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 10:08:38 ++ mktemp -d /tmp/venv-XXXX 10:08:38 + lf_venv=/tmp/venv-6J7Q 10:08:38 + local venv_file=/tmp/.os_lf_venv 10:08:38 + local python=python3 10:08:38 + local options 10:08:38 + local set_path=true 10:08:38 + local install_args= 10:08:38 ++ 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 10:08:38 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:08:38 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:08:38 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 10:08:38 + true 10:08:38 + case $1 in 10:08:38 + venv_file=/tmp/.toxenv 10:08:38 + shift 2 10:08:38 + true 10:08:38 + case $1 in 10:08:38 + shift 10:08:38 + break 10:08:38 + case $python in 10:08:38 + local pkg_list= 10:08:38 + [[ -d /opt/pyenv ]] 10:08:38 + echo 'Setup pyenv:' 10:08:38 Setup pyenv: 10:08:38 + export PYENV_ROOT=/opt/pyenv 10:08:38 + PYENV_ROOT=/opt/pyenv 10:08:38 + 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 10:08:38 + 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 10:08:38 + pyenv versions 10:08:38 system 10:08:38 3.8.20 10:08:38 3.9.20 10:08:38 3.10.15 10:08:38 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 10:08:38 + command -v pyenv 10:08:38 ++ pyenv init - --no-rehash 10:08:39 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 10:08:39 for i in ${!paths[@]}; do 10:08:39 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 10:08:39 fi; done; 10:08:39 echo "${paths[*]}"'\'')" 10:08:39 export PATH="/opt/pyenv/shims:${PATH}" 10:08:39 export PYENV_SHELL=bash 10:08:39 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 10:08:39 pyenv() { 10:08:39 local command 10:08:39 command="${1:-}" 10:08:39 if [ "$#" -gt 0 ]; then 10:08:39 shift 10:08:39 fi 10:08:39 10:08:39 case "$command" in 10:08:39 rehash|shell) 10:08:39 eval "$(pyenv "sh-$command" "$@")" 10:08:39 ;; 10:08:39 *) 10:08:39 command pyenv "$command" "$@" 10:08:39 ;; 10:08:39 esac 10:08:39 }' 10:08:39 +++ bash --norc -ec 'IFS=:; paths=($PATH); 10:08:39 for i in ${!paths[@]}; do 10:08:39 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 10:08:39 fi; done; 10:08:39 echo "${paths[*]}"' 10:08:39 ++ 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 10:08:39 ++ 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 10:08:39 ++ 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 10:08:39 ++ export PYENV_SHELL=bash 10:08:39 ++ PYENV_SHELL=bash 10:08:39 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 10:08:39 +++ complete -F _pyenv pyenv 10:08:39 ++ lf-pyver python3 10:08:39 ++ local py_version_xy=python3 10:08:39 ++ local py_version_xyz= 10:08:39 ++ pyenv versions 10:08:39 ++ local command 10:08:39 ++ command=versions 10:08:39 ++ '[' 1 -gt 0 ']' 10:08:39 ++ shift 10:08:39 ++ case "$command" in 10:08:39 ++ command pyenv versions 10:08:39 ++ awk '{ print $1 }' 10:08:39 ++ grep -E '^[0-9.]*[0-9]$' 10:08:39 ++ sed 's/^[ *]* //' 10:08:39 ++ [[ ! -s /tmp/.pyenv_versions ]] 10:08:39 +++ grep '^3' /tmp/.pyenv_versions 10:08:39 +++ sort -V 10:08:39 +++ tail -n 1 10:08:39 ++ py_version_xyz=3.11.10 10:08:39 ++ [[ -z 3.11.10 ]] 10:08:39 ++ echo 3.11.10 10:08:39 ++ return 0 10:08:39 + pyenv local 3.11.10 10:08:39 + local command 10:08:39 + command=local 10:08:39 + '[' 2 -gt 0 ']' 10:08:39 + shift 10:08:39 + case "$command" in 10:08:39 + command pyenv local 3.11.10 10:08:39 + for arg in "$@" 10:08:39 + case $arg in 10:08:39 + pkg_list+='tox ' 10:08:39 + for arg in "$@" 10:08:39 + case $arg in 10:08:39 + pkg_list+='virtualenv ' 10:08:39 + for arg in "$@" 10:08:39 + case $arg in 10:08:39 + pkg_list+='urllib3~=1.26.15 ' 10:08:39 + [[ -f /tmp/.toxenv ]] 10:08:39 + [[ ! -f /tmp/.toxenv ]] 10:08:39 + [[ -n '' ]] 10:08:39 + python3 -m venv /tmp/venv-6J7Q 10:08:43 + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-6J7Q' 10:08:43 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-6J7Q 10:08:43 + echo /tmp/venv-6J7Q 10:08:43 + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' 10:08:43 lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv 10:08:43 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 10:08:43 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:08:43 + local 'pip_opts=--upgrade --quiet' 10:08:43 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 10:08:43 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 10:08:43 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 10:08:43 + [[ -n '' ]] 10:08:43 + [[ -n '' ]] 10:08:43 + lf-venv-pip-install /tmp/venv-6J7Q/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 10:08:43 + local venv_python=/tmp/venv-6J7Q/bin/python3 10:08:43 + shift 10:08:43 + local upstream=https://pypi.org/simple 10:08:43 + /tmp/venv-6J7Q/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 10:08:47 + return 0 10:08:47 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 10:08:47 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 10:08:47 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 10:08:47 + lf-venv-pip-install /tmp/venv-6J7Q/bin/python3 --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 10:08:47 + local venv_python=/tmp/venv-6J7Q/bin/python3 10:08:47 + shift 10:08:47 + local upstream=https://pypi.org/simple 10:08:47 + /tmp/venv-6J7Q/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 10:08:50 + return 0 10:08:50 + type python3 10:08:50 + true 10:08:50 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-6J7Q/bin to PATH' 10:08:50 lf-activate-venv(): INFO: Adding /tmp/venv-6J7Q/bin to PATH 10:08:50 + PATH=/tmp/venv-6J7Q/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 10:08:50 + return 0 10:08:50 + python3 --version 10:08:50 Python 3.11.10 10:08:50 + python3 -m pip --version 10:08:50 pip 26.2.1 from /tmp/venv-6J7Q/lib/python3.11/site-packages/pip (python 3.11) 10:08:50 + python3 -m pip freeze 10:08:50 cachetools==7.2.1 10:08:50 colorama==0.4.6 10:08:50 distlib==0.4.3 10:08:50 filelock==4.0.12 10:08:50 packaging==26.3 10:08:50 platformdirs==4.12.4 10:08:50 pluggy==1.6.0 10:08:50 pyproject-api==1.11.4 10:08:50 python-discovery==1.6.1 10:08:50 tomli_w==1.2.0 10:08:50 tox==4.64.10 10:08:50 typing_extensions==4.16.0 10:08:50 urllib3==1.26.20 10:08:50 virtualenv==21.14.6 10:08:50 [transportpce-tox-verify-transportpce-master] $ /bin/sh -xe /tmp/jenkins11114181718423892427.sh 10:08:50 [EnvInject] - Injecting environment variables from a build step. 10:08:50 [EnvInject] - Injecting as environment variables the properties content 10:08:50 PARALLEL=True 10:08:50 10:08:50 [EnvInject] - Variables injected successfully. 10:08:50 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins16066885364652148846.sh 10:08:50 ---> tox-run.sh 10:08:50 + PATH=/home/jenkins/.local/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 10:08:50 + ARCHIVE_TOX_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/tox 10:08:50 + ARCHIVE_DOC_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/docs 10:08:50 + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox 10:08:50 + cd /w/workspace/transportpce-tox-verify-transportpce-master/. 10:08:50 + source /home/jenkins/lf-env.sh 10:08:50 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 10:08:50 ++ mktemp -d /tmp/venv-XXXX 10:08:50 + lf_venv=/tmp/venv-PR1h 10:08:50 + local venv_file=/tmp/.os_lf_venv 10:08:50 + local python=python3 10:08:50 + local options 10:08:50 + local set_path=true 10:08:50 + local install_args= 10:08:50 ++ 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 10:08:50 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:08:50 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:08:50 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 10:08:50 + true 10:08:50 + case $1 in 10:08:50 + venv_file=/tmp/.toxenv 10:08:50 + shift 2 10:08:50 + true 10:08:50 + case $1 in 10:08:50 + shift 10:08:50 + break 10:08:50 + case $python in 10:08:50 + local pkg_list= 10:08:50 + [[ -d /opt/pyenv ]] 10:08:50 + echo 'Setup pyenv:' 10:08:50 Setup pyenv: 10:08:50 + export PYENV_ROOT=/opt/pyenv 10:08:50 + PYENV_ROOT=/opt/pyenv 10:08:50 + export PATH=/opt/pyenv/bin:/home/jenkins/.local/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 10:08:50 + PATH=/opt/pyenv/bin:/home/jenkins/.local/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 10:08:50 + pyenv versions 10:08:50 system 10:08:50 3.8.20 10:08:50 3.9.20 10:08:50 3.10.15 10:08:50 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 10:08:50 + command -v pyenv 10:08:50 ++ pyenv init - --no-rehash 10:08:50 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 10:08:50 for i in ${!paths[@]}; do 10:08:50 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 10:08:50 fi; done; 10:08:50 echo "${paths[*]}"'\'')" 10:08:50 export PATH="/opt/pyenv/shims:${PATH}" 10:08:50 export PYENV_SHELL=bash 10:08:50 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 10:08:50 pyenv() { 10:08:50 local command 10:08:50 command="${1:-}" 10:08:50 if [ "$#" -gt 0 ]; then 10:08:50 shift 10:08:50 fi 10:08:50 10:08:50 case "$command" in 10:08:50 rehash|shell) 10:08:50 eval "$(pyenv "sh-$command" "$@")" 10:08:50 ;; 10:08:50 *) 10:08:50 command pyenv "$command" "$@" 10:08:50 ;; 10:08:50 esac 10:08:50 }' 10:08:50 +++ bash --norc -ec 'IFS=:; paths=($PATH); 10:08:50 for i in ${!paths[@]}; do 10:08:50 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 10:08:50 fi; done; 10:08:50 echo "${paths[*]}"' 10:08:50 ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/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 10:08:50 ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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 10:08:50 ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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 10:08:50 ++ export PYENV_SHELL=bash 10:08:50 ++ PYENV_SHELL=bash 10:08:50 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 10:08:50 +++ complete -F _pyenv pyenv 10:08:50 ++ lf-pyver python3 10:08:50 ++ local py_version_xy=python3 10:08:50 ++ local py_version_xyz= 10:08:50 ++ pyenv versions 10:08:50 ++ local command 10:08:50 ++ command=versions 10:08:50 ++ '[' 1 -gt 0 ']' 10:08:50 ++ shift 10:08:50 ++ case "$command" in 10:08:50 ++ command pyenv versions 10:08:50 ++ awk '{ print $1 }' 10:08:50 ++ grep -E '^[0-9.]*[0-9]$' 10:08:50 ++ sed 's/^[ *]* //' 10:08:50 ++ [[ ! -s /tmp/.pyenv_versions ]] 10:08:50 +++ grep '^3' /tmp/.pyenv_versions 10:08:50 +++ sort -V 10:08:50 +++ tail -n 1 10:08:50 ++ py_version_xyz=3.11.10 10:08:50 ++ [[ -z 3.11.10 ]] 10:08:50 ++ echo 3.11.10 10:08:50 ++ return 0 10:08:50 + pyenv local 3.11.10 10:08:50 + local command 10:08:50 + command=local 10:08:50 + '[' 2 -gt 0 ']' 10:08:50 + shift 10:08:50 + case "$command" in 10:08:50 + command pyenv local 3.11.10 10:08:50 + for arg in "$@" 10:08:50 + case $arg in 10:08:50 + pkg_list+='tox ' 10:08:50 + for arg in "$@" 10:08:50 + case $arg in 10:08:50 + pkg_list+='virtualenv ' 10:08:50 + for arg in "$@" 10:08:50 + case $arg in 10:08:50 + pkg_list+='urllib3~=1.26.15 ' 10:08:50 + [[ -f /tmp/.toxenv ]] 10:08:50 ++ cat /tmp/.toxenv 10:08:50 + lf_venv=/tmp/venv-6J7Q 10:08:50 + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-6J7Q from' file:/tmp/.toxenv 10:08:50 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-6J7Q from file:/tmp/.toxenv 10:08:50 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 10:08:50 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:08:50 + local 'pip_opts=--upgrade --quiet' 10:08:50 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 10:08:50 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 10:08:50 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 10:08:50 + [[ -n '' ]] 10:08:50 + [[ -n '' ]] 10:08:50 + lf-venv-pip-install /tmp/venv-6J7Q/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 10:08:50 + local venv_python=/tmp/venv-6J7Q/bin/python3 10:08:50 + shift 10:08:50 + local upstream=https://pypi.org/simple 10:08:50 + /tmp/venv-6J7Q/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 10:08:51 + return 0 10:08:51 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 10:08:51 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 10:08:51 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 10:08:51 + lf-venv-pip-install /tmp/venv-6J7Q/bin/python3 --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 10:08:51 + local venv_python=/tmp/venv-6J7Q/bin/python3 10:08:51 + shift 10:08:51 + local upstream=https://pypi.org/simple 10:08:51 + /tmp/venv-6J7Q/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 10:08:52 + return 0 10:08:52 + type python3 10:08:52 + true 10:08:52 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-6J7Q/bin to PATH' 10:08:52 lf-activate-venv(): INFO: Adding /tmp/venv-6J7Q/bin to PATH 10:08:52 + PATH=/tmp/venv-6J7Q/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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 10:08:52 + return 0 10:08:52 + [[ -d /opt/pyenv ]] 10:08:52 + echo '---> Setting up pyenv' 10:08:52 ---> Setting up pyenv 10:08:52 + export PYENV_ROOT=/opt/pyenv 10:08:52 + PYENV_ROOT=/opt/pyenv 10:08:52 + export PATH=/opt/pyenv/bin:/tmp/venv-6J7Q/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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 10:08:52 + PATH=/opt/pyenv/bin:/tmp/venv-6J7Q/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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 10:08:52 ++ pwd 10:08:52 + PYTHONPATH=/w/workspace/transportpce-tox-verify-transportpce-master 10:08:52 + export PYTHONPATH 10:08:52 + export TOX_TESTENV_PASSENV=PYTHONPATH 10:08:52 + TOX_TESTENV_PASSENV=PYTHONPATH 10:08:52 + tox --version 10:08:53 4.64.10 from /tmp/venv-6J7Q/lib/python3.11/site-packages/tox/__init__.py 10:08:53 + PARALLEL=True 10:08:53 + TOX_OPTIONS_LIST= 10:08:53 + [[ -n '' ]] 10:08:53 + case ${PARALLEL,,} in 10:08:53 + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' 10:08:53 + tox --parallel auto --parallel-live 10:08:53 + tee -a /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tox.log 10:08:54 docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt 10:08:54 checkbashisms: freeze> python -m pip freeze --all 10:08:54 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 10:08:54 docs: install_deps> python -I -m pip install -r docs/requirements.txt 10:08:55 checkbashisms: pip==26.2.1,setuptools==84.0.0 10:08:55 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 10:08:55 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)' 10:08:55 checkbashisms: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + 10:08:56 checkbashisms: OK ✔ in 3.08 seconds 10:08:56 pre-commit: install_deps> python -I -m pip install pre-commit 10:08:59 pre-commit: freeze> python -m pip freeze --all 10:08:59 pre-commit: cfgv==3.5.0,distlib==0.4.3,filelock==4.0.12,identify==2.6.20,nodeenv==1.11.0,packaging==26.3,pip==26.2.1,platformdirs==4.12.4,pre_commit==4.6.2,python-discovery==1.6.1,PyYAML==6.0.3,setuptools==84.0.0,virtualenv==21.14.6 10:08:59 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 10:08:59 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)' 10:08:59 /usr/bin/cpan 10:08:59 pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure 10:08:59 [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. 10:09:00 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. 10:09:00 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. 10:09:01 [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. 10:09:01 [INFO] Initializing environment for https://github.com/hhatto/autopep8. 10:09:01 [INFO] Initializing environment for https://github.com/perltidy/perltidy. 10:09:02 buildcontroller: freeze> python -m pip freeze --all 10:09:02 [INFO] Initializing environment for https://github.com/koalaman/shellcheck-precommit. 10:09:02 buildcontroller: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:09:02 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh 10:09:02 + update-java-alternatives -l 10:09:02 java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 10:09:02 java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 10:09:02 java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64 10:09:02 + sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 10:09:02 update-alternatives: error: no alternatives for jaotc 10:09:03 update-alternatives: error: no alternatives for rmic 10:09:03 [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier. 10:09:03 + java -version 10:09:03 + sed -n s/.* version "\([0-9]*\).*/\1/p 10:09:03 + JAVA_VER=21 10:09:03 + echo 21 10:09:03 21 10:09:03 + sed -n s/^javac \([0-9]*\).*/\1/p 10:09:03 + javac -version 10:09:03 [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier:prettier@4.0.0-alpha.8. 10:09:03 + JAVAC_VER=21 10:09:03 + echo 21 10:09:03 21 10:09:03 ok, java is 21 or newer 10:09:03 + [ 21 -ge 21 ] 10:09:03 + [ 21 -ge 21 ] 10:09:03 + echo ok, java is 21 or newer 10:09:03 + wget -nv https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz -P /tmp 10:09:03 2026-10-09 10:09:03 URL:https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz [9278065/9278065] -> "/tmp/apache-maven-3.9.16-bin.tar.gz" [1] 10:09:03 + sudo mkdir -p /opt 10:09:03 + sudo tar xf /tmp/apache-maven-3.9.16-bin.tar.gz -C /opt 10:09:03 [INFO] Initializing environment for https://github.com/adrienverge/yamllint. 10:09:03 + sudo ln -s /opt/apache-maven-3.9.16 /opt/maven 10:09:03 + sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn 10:09:03 + mvn --version 10:09:04 Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5) 10:09:04 Maven home: /opt/maven 10:09:04 Java version: 21.0.12.1, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 10:09:04 Default locale: en, platform encoding: UTF-8 10:09:04 OS name: "linux", version: "5.15.0-198-generic", arch: "amd64", family: "unix" 10:09:04 [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. 10:09:04 [INFO] Once installed this environment will be reused. 10:09:04 [INFO] This may take a few minutes... 10:09:04 NOTE: Picked up JDK_JAVA_OPTIONS: 10:09:04 --add-opens=java.base/java.io=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.lang=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.net=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.nio=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.nio.file=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.util=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.util.jar=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.util.stream=ALL-UNNAMED 10:09:04 --add-opens=java.base/java.util.zip=ALL-UNNAMED 10:09:04 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 10:09:04 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 10:09:04 -Xlog:disable 10:09:09 [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. 10:09:09 [INFO] Once installed this environment will be reused. 10:09:09 [INFO] This may take a few minutes... 10:09:11 docs-linkcheck: freeze> python -m pip freeze --all 10:09:11 docs: freeze> python -m pip freeze --all 10:09:11 docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.2,deepmerge==3.0.1,docutils==0.22.4,idna==3.20,imagesize==2.0.1,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.52.1,lfdocs_conf==0.11.0,MarkupSafe==3.0.4,minijinja==2.24.0,mistune==3.3.4,packaging==26.3,picobox==4.0.0,pip==26.2.1,Pygments==2.21.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==3.0.1,roman-numerals==4.1.0,rpds-py==2026.9.1,setuptools==84.0.0,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.5.0,sphinx-tabs==3.5.0,sphinx_mdinclude==0.6.2,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.1.1,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.8.0 10:09:11 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 10:09:11 docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.2,deepmerge==3.0.1,docutils==0.22.4,idna==3.20,imagesize==2.0.1,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.52.1,lfdocs_conf==0.11.0,MarkupSafe==3.0.4,minijinja==2.24.0,mistune==3.3.4,packaging==26.3,picobox==4.0.0,pip==26.2.1,Pygments==2.21.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==3.0.1,roman-numerals==4.1.0,rpds-py==2026.9.1,setuptools==84.0.0,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.5.0,sphinx-tabs==3.5.0,sphinx_mdinclude==0.6.2,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.1.1,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.8.0 10:09:11 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 10:09:15 docs: OK ✔ in 21.41 seconds 10:09:15 pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' 10:09:16 [INFO] Installing environment for https://github.com/hhatto/autopep8. 10:09:16 [INFO] Once installed this environment will be reused. 10:09:16 [INFO] This may take a few minutes... 10:09:18 docs-linkcheck: OK ✔ in 24.35 seconds 10:09:18 pylint: freeze> python -m pip freeze --all 10:09:18 pylint: astroid==4.3.4,dill==0.4.1,isort==9.0.2,mccabe==0.7.0,mypy_extensions==1.1.0,pip==26.2.1,platformdirs==4.12.4,pylint==4.1.2,setuptools==84.0.0,tomlkit==0.15.1 10:09:18 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}$' '{}' + 10:09:20 [INFO] Installing environment for https://github.com/perltidy/perltidy. 10:09:20 [INFO] Once installed this environment will be reused. 10:09:20 [INFO] This may take a few minutes... 10:09:31 [INFO] Installing environment for https://github.com/pre-commit/mirrors-prettier. 10:09:31 [INFO] Once installed this environment will be reused. 10:09:31 [INFO] This may take a few minutes... 10:09:35 [INFO] Installing environment for https://github.com/adrienverge/yamllint. 10:09:35 [INFO] Once installed this environment will be reused. 10:09:35 [INFO] This may take a few minutes... 10:09:39 10:09:39 ------------------------------------ 10:09:39 Your code has been rated at 10.00/10 10:09:39 10:09:41 trim trailing whitespace.................................................Passed 10:09:41 fix end of files.........................................................Passed 10:09:41 check for added large files..............................................Passed 10:09:41 check for merge conflicts................................................Passed 10:09:42 check for case conflicts.................................................Passed 10:09:42 check json...............................................................Passed 10:09:42 mixed line ending........................................................Passed 10:09:42 Tabs remover.............................................................Passed 10:09:43 autopep8.................................................................Passed 10:09:45 perltidy.................................................................Passed 10:09:46 ShellCheck v0.11.0.......................................................Passed 10:09:50 prettier.................................................................Passed 10:09:52 yamllint.................................................................Passed 10:09:52 pylint: OK ✔ in 26.04 seconds 10:09:52 pre-commit: commands[3] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run gitlint-ci --hook-stage manual 10:09:52 [INFO] Installing environment for https://github.com/jorisroovers/gitlint. 10:09:52 [INFO] Once installed this environment will be reused. 10:09:52 [INFO] This may take a few minutes... 10:10:01 gitlint..................................................................Passed 10:10:41 pre-commit: OK ✔ in 1 minute 5 seconds 10:10:41 buildcontroller: OK ✔ in 1 minute 46.74 seconds 10:10:41 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 10:10:41 build_karaf_tests200: 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 10:10:41 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 10:10:41 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 10:10:49 buildlighty: freeze> python -m pip freeze --all 10:10:49 build_karaf_tests221: freeze> python -m pip freeze --all 10:10:49 build_karaf_tests71: freeze> python -m pip freeze --all 10:10:49 build_karaf_tests200: freeze> python -m pip freeze --all 10:10:49 buildlighty: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:10:49 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh 10:10:49 NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED 10:10:49 build_karaf_tests71: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:10:49 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 10:10:50 build karaf in karaf71 with ./karaf71.env 10:10:50 build_karaf_tests221: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:10:50 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 10:10:50 build_karaf_tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:10:50 build_karaf_tests200: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 10:10:50 build karaf in karaf221 with ./karaf221.env 10:10:50 build karaf in karafoc200 with ./karafoc200.env 10:10:50 NOTE: Picked up JDK_JAVA_OPTIONS: 10:10:50 --add-opens=java.base/java.io=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.net=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio.file=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.jar=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.stream=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.zip=ALL-UNNAMED 10:10:50 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 10:10:50 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 10:10:50 -Xlog:disable 10:10:50 NOTE: Picked up JDK_JAVA_OPTIONS: 10:10:50 --add-opens=java.base/java.io=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.net=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio.file=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.jar=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.stream=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.zip=ALL-UNNAMED 10:10:50 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 10:10:50 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 10:10:50 -Xlog:disable 10:10:50 NOTE: Picked up JDK_JAVA_OPTIONS: 10:10:50 --add-opens=java.base/java.io=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.net=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.nio.file=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.jar=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.stream=ALL-UNNAMED 10:10:50 --add-opens=java.base/java.util.zip=ALL-UNNAMED 10:10:50 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 10:10:50 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 10:10:50 -Xlog:disable 10:11:29 buildlighty: OK ✔ in 48.96 seconds 10:11:29 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 10:12:02 build_karaf_tests200: OK ✔ in 1 minute 11.5 seconds 10:12:02 build_karaf_tests71: OK ✔ in 1 minute 21.39 seconds 10:12:02 build_karaf_tests221: OK ✔ in 1 minute 21.67 seconds 10:12:02 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 10:12:10 sims: freeze> python -m pip freeze --all 10:12:10 sims: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:12:10 sims: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_lightynode.sh 10:12:10 Using lighynode version 22.1.0.7 10:12:10 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory 10:12:53 sims: OK ✔ in 44.87 seconds 10:12:53 testsPCE: freeze> python -m pip freeze --all 10:12:53 testsPCE: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,click==8.5.0,contourpy==1.3.3,cryptography==3.3.2,cycler==0.12.1,dict2xml==1.7.8,Flask==2.1.3,Flask-Injector==0.14.0,fonttools==4.66.1,gnpy4tpce==2.4.7,idna==3.20,iniconfig==2.3.1,injector==0.24.0,invoke==3.0.3,itsdangerous==2.2.0,Jinja2==3.1.6,kiwisolver==1.5.1,lxml==6.1.3,MarkupSafe==3.0.4,matplotlib==3.11.2,netconf-client==3.6.0,networkx==2.8.8,numpy==1.26.4,packaging==26.3,pandas==1.5.3,paramiko==5.0.0,pbr==5.11.1,pillow==12.3.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pyparsing==3.3.3,pytest==9.1.1,python-dateutil==2.9.0.post0,pytz==2026.5,requests==2.34.2,scipy==1.17.1,setuptools==50.3.2,six==1.17.0,urllib3==2.8.0,Werkzeug==2.0.3,xlrd==1.2.0 10:12:53 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce 10:12:53 pytest -q transportpce_tests/pce/test01_pce.py 10:13:41 .................... [100%] 10:14:44 20 passed in 111.17s (0:01:51) 10:14:45 pytest -q transportpce_tests/pce/test02_pce_400G.py 10:15:01 ............ [100%] 10:15:31 12 passed in 46.65s 10:15:32 pytest -q transportpce_tests/pce/test03_gnpy.py 10:15:50 ........ [100%] 10:16:11 8 passed in 39.45s 10:16:11 pytest -q transportpce_tests/pce/test04_pce_bug_fix.py 10:16:44 ... [100%] 10:16:49 3 passed in 37.40s 10:16:49 testsPCE: OK ✔ in 4 minutes 47.45 seconds 10:16:49 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 10:16:57 tests_tapi: freeze> python -m pip freeze --all 10:16:57 tests_tapi: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:16:57 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi 10:16:57 using environment variables from ./karaf221.env 10:16:57 pytest -q transportpce_tests/tapi/test01_abstracted_topology.py 10:18:08 ................................................... [100%] 10:21:21 51 passed in 263.01s (0:04:23) 10:21:21 pytest -q transportpce_tests/tapi/test02_full_topology.py 10:22:14 .................................... [100%] 10:26:52 36 passed in 331.18s (0:05:31) 10:26:52 pytest -q transportpce_tests/tapi/test03_tapi_device_change_notifications.py 10:27:41 ....................................................................... [100%] 10:32:20 71 passed in 327.71s (0:05:27) 10:32:20 pytest -q transportpce_tests/tapi/test04_topo_extension.py 10:33:15 ................... [100%] 10:37:49 19 passed in 328.53s (0:05:28) 10:37:49 pytest -q transportpce_tests/tapi/test05_pce_tapi.py 10:39:54 ...................... [100%] 10:45:31 22 passed in 461.71s (0:07:41) 10:45:32 tests_tapi: OK ✔ in 28 minutes 42.33 seconds 10:45:32 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 10:45:32 tests200: 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 10:45:39 tests221: freeze> python -m pip freeze --all 10:45:39 tests200: freeze> python -m pip freeze --all 10:45:39 tests221: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:45:39 tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 10:45:39 using environment variables from ./karaf221.env 10:45:39 pytest -q transportpce_tests/2.2.1/test01_portmapping.py 10:45:39 tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:45:39 tests200: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc200 10:45:39 using environment variables from ./karafoc200.env 10:45:39 pytest -q transportpce_tests/oc200/test01_portmapping.py 10:46:27 .................. [100%] 10:46:45 10 passed in 66.29s (0:01:06) 10:46:46 pytest -q transportpce_tests/oc200/test02_topology.py 10:46:46 ............................. [100%] 10:47:18 35 passed in 98.87s (0:01:38) 10:47:18 pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py 10:47:26 ............ [100%] 10:47:50 14 passed in 63.97s (0:01:03) 10:47:50 pytest -q transportpce_tests/oc200/test03_renderer.py 10:47:56 ...... [100%] 10:48:11 6 passed in 52.50s 10:48:11 pytest -q transportpce_tests/2.2.1/test03_topology.py 10:48:24 ................ [100%] 10:48:49 16 passed in 59.20s 10:48:49 pytest -q transportpce_tests/oc200/test04_end2end.py 10:49:09 .................................................................... [100%] 10:50:44 44 passed in 152.98s (0:02:32) 10:50:44 pytest -q transportpce_tests/2.2.1/test04_otn_topology.py 10:50:45 ......................... [100%] 10:51:48 12 passed in 63.21s (0:01:03) 10:51:48 pytest -q transportpce_tests/2.2.1/test05_flex_grid.py 10:51:58 ...... [100%] 10:52:07 43 passed in 197.11s (0:03:17) 10:52:07 tests200: OK ✔ in 6 minutes 35.51 seconds 10:52:07 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 10:52:16 tests71: freeze> python -m pip freeze --all 10:52:16 tests71: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 10:52:16 tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 10:52:16 using environment variables from ./karaf71.env 10:52:16 pytest -q transportpce_tests/7.1/test01_portmapping.py 10:52:16 ................ [100%] 10:53:45 16 passed in 117.30s (0:01:57) 10:53:45 pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py 10:54:18 ............................... [100%] 10:54:25 31 passed in 39.24s 10:54:25 pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py 10:55:02 ....................F.FF.FFF.FF.F.. [100%] 10:55:58 26 passed in 93.17s (0:01:33) 10:55:58 pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py 10:56:36 ...................... [100%] 10:57:40 22 passed in 101.38s (0:01:41) 10:57:40 pytest -q transportpce_tests/2.2.1/test09_olm.py 10:58:23 ...............F.FF [100%] 10:58:58 =================================== FAILURES =================================== 10:58:58 __________ TestTransportPCEPortmapping.test_01_xpdr_device_connection __________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_01_xpdr_device_connection(self): 10:58:58 response = test_utils.mount_device("XPDR-A2", 10:58:58 ('xpdra2', self.NODE_VERSION)) 10:58:58 > self.assertEqual(response.status_code, requests.codes.created, 10:58:58 test_utils.CODE_SHOULD_BE_201) 10:58:58 E AssertionError: 404 != 201 : Http status code should be 201 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:51: AssertionError 10:58:58 ---------------------------- Captured stdout setup ----------------------------- 10:58:58 starting OpenDaylight... 10:58:58 starting KARAF (karaf71) TransportPCE build... 10:58:58 Searching for patterns in karaf.log... Pattern found! OpenDaylight started ! 10:58:58 starting simulator xpdra2 in OpenROADM device version 7.1... 10:58:58 Searching for patterns in xpdra2-71.log... Pattern found! simulator for xpdra2 started 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_01_xpdr_device_connection 10:58:58 Searching for patterns in karaf.log... Pattern not found after 180 seconds! Node XPDR-A2 still not added to tpce topology... 10:58:58 __________ TestTransportPCEPortmapping.test_02_xpdr_device_connected ___________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_02_xpdr_device_connected(self): 10:58:58 > response = test_utils.check_device_connection("XPDR-A2") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:56: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2' 10:58:58 10:58:58 def check_device_connection(node: str): 10:58:58 url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}?content=nonconfig', 10:58:58 'draft-bierman02': '{}/operational/network-topology:network-topology/topology/topology-netconf/node/{}'} 10:58:58 response = get_request(url[RESTCONF_VERSION].format('{}', node)) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'network-topology:node', 10:58:58 'draft-bierman02': 'node'} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 connection_status = res[return_key[RESTCONF_VERSION] 10:58:58 ][0]['netconf-node-topology:netconf-node']['connection-status'] 10:58:58 else: 10:58:58 > connection_status = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:414: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_02_xpdr_device_connected 10:58:58 __________ TestTransportPCEPortmapping.test_03_xpdr_portmapping_info ___________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_03_xpdr_portmapping_info(self): 10:58:58 > response = test_utils.get_portmapping_node_attr("XPDR-A2", "node-info", None) 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:62: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'node-info', value = None 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_03_xpdr_portmapping_info 10:58:58 ________ TestTransportPCEPortmapping.test_04_tpdr_portmapping_NETWORK1 _________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_04_tpdr_portmapping_NETWORK1(self): 10:58:58 > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR1-NETWORK1") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:75: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'mapping', value = 'XPDR1-NETWORK1' 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_04_tpdr_portmapping_NETWORK1 10:58:58 _________ TestTransportPCEPortmapping.test_05_tpdr_portmapping_CLIENT1 _________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_05_tpdr_portmapping_CLIENT1(self): 10:58:58 > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR1-CLIENT1") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:99: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'mapping', value = 'XPDR1-CLIENT1' 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_05_tpdr_portmapping_CLIENT1 10:58:58 ________ TestTransportPCEPortmapping.test_06_mpdr_portmapping_NETWORK1 _________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_06_mpdr_portmapping_NETWORK1(self): 10:58:58 > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:119: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_06_mpdr_portmapping_NETWORK1 10:58:58 _________ TestTransportPCEPortmapping.test_07_mpdr_portmapping_CLIENT1 _________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_07_mpdr_portmapping_CLIENT1(self): 10:58:58 > res = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-CLIENT1") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:142: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-CLIENT1' 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_07_mpdr_portmapping_CLIENT1 10:58:58 ____________ TestTransportPCEPortmapping.test_08_check_mccapprofile ____________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_08_check_mccapprofile(self): 10:58:58 > res = test_utils.get_portmapping_node_attr("XPDR-A2", "mc-capabilities", "XPDR-mcprofile") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:162: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'mc-capabilities', value = 'XPDR-mcprofile' 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_08_check_mccapprofile 10:58:58 ___________ TestTransportPCEPortmapping.test_09_mpdr_switching_pool ____________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_09_mpdr_switching_pool(self): 10:58:58 > response = test_utils.get_portmapping_node_attr("XPDR-A2", "switching-pool-lcp", "1") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:168: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'switching-pool-lcp', value = '1' 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_09_mpdr_switching_pool 10:58:58 ________ TestTransportPCEPortmapping.test_10_xpdr_device_disconnection _________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_10_xpdr_device_disconnection(self): 10:58:58 response = test_utils.unmount_device("XPDR-A2") 10:58:58 > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) 10:58:58 E AssertionError: 404 not found in (200, 204) 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:185: AssertionError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_10_xpdr_device_disconnection 10:58:58 Searching for patterns in karaf.log... Pattern not found after 180 seconds! Node XPDR-A2 still not deleted from tpce topology... 10:58:58 _________ TestTransportPCEPortmapping.test_11_xpdr_device_disconnected _________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_11_xpdr_device_disconnected(self): 10:58:58 > response = test_utils.check_device_connection("XPDR-A2") 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:188: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2' 10:58:58 10:58:58 def check_device_connection(node: str): 10:58:58 url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}?content=nonconfig', 10:58:58 'draft-bierman02': '{}/operational/network-topology:network-topology/topology/topology-netconf/node/{}'} 10:58:58 response = get_request(url[RESTCONF_VERSION].format('{}', node)) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'network-topology:node', 10:58:58 'draft-bierman02': 'node'} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 connection_status = res[return_key[RESTCONF_VERSION] 10:58:58 ][0]['netconf-node-topology:netconf-node']['connection-status'] 10:58:58 else: 10:58:58 > connection_status = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:414: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_11_xpdr_device_disconnected 10:58:58 ________ TestTransportPCEPortmapping.test_12_xpdr_device_not_connected _________ 10:58:58 10:58:58 self = 10:58:58 10:58:58 def test_12_xpdr_device_not_connected(self): 10:58:58 > response = test_utils.get_portmapping_node_attr("XPDR-A2", "node-info", None) 10:58:58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10:58:58 10:58:58 transportpce_tests/7.1/test01_portmapping.py:196: 10:58:58 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10:58:58 10:58:58 node = 'XPDR-A2', attr = 'node-info', value = None 10:58:58 10:58:58 def get_portmapping_node_attr(node: str, attr: str, value: str): 10:58:58 # pylint: disable=consider-using-f-string 10:58:58 url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 10:58:58 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} 10:58:58 target_url = url[RESTCONF_VERSION].format('{}', node) 10:58:58 if attr is not None: 10:58:58 target_url = (target_url + '/{}').format('{}', attr) 10:58:58 if value is not None: 10:58:58 suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} 10:58:58 target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) 10:58:58 else: 10:58:58 attr = 'nodes' 10:58:58 response = get_request(target_url) 10:58:58 res = response.json() 10:58:58 return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 10:58:58 'draft-bierman02': attr} 10:58:58 if return_key[RESTCONF_VERSION] in res.keys(): 10:58:58 return_output = res[return_key[RESTCONF_VERSION]] 10:58:58 else: 10:58:58 > return_output = res['errors']['error'][0] 10:58:58 ^^^^^^^^^^^^^ 10:58:58 E KeyError: 'errors' 10:58:58 10:58:58 transportpce_tests/common/test_utils.py:523: KeyError 10:58:58 ----------------------------- Captured stdout call ----------------------------- 10:58:58 execution of test_12_xpdr_device_not_connected 10:58:58 --------------------------- Captured stdout teardown --------------------------- 10:58:58 all processes killed 10:58:58 ODL log file stored 10:58:58 =========================== short test summary info ============================ 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_01_xpdr_device_connection 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_02_xpdr_device_connected 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_03_xpdr_portmapping_info 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_04_tpdr_portmapping_NETWORK1 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_05_tpdr_portmapping_CLIENT1 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_06_mpdr_portmapping_NETWORK1 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_07_mpdr_portmapping_CLIENT1 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_08_check_mccapprofile 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_09_mpdr_switching_pool 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_device_disconnection 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_11_xpdr_device_disconnected 10:58:58 FAILED transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_12_xpdr_device_not_connected 10:58:58 12 failed in 402.25s (0:06:42) 10:58:58 tests71: exit 1 (402.58 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 pid=23998 10:59:08 ........................ [100%] 11:00:46 40 passed in 185.86s (0:03:05) 11:00:46 pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py 11:01:30 ........................................................................ [ 74%] 11:07:07 ......................... [100%] 11:09:00 97 passed in 493.19s (0:08:13) 11:09:00 pytest -q transportpce_tests/2.2.1/test12_end2end.py 11:09:43 ...................................................... [100%] 11:16:32 54 passed in 452.14s (0:07:32) 11:16:32 pytest -q transportpce_tests/2.2.1/test14_otn_switch_end2end.py 11:17:29 ........................................................................ [ 71%] 11:22:38 ............................. [100%] 11:24:48 101 passed in 495.71s (0:08:15) 11:24:48 pytest -q transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py 11:25:45 ........................................................................ [ 67%] 11:31:32 ................................... [100%] 11:34:54 107 passed in 605.32s (0:10:05) 11:34:54 pytest -q transportpce_tests/2.2.1/test16_freq_end2end.py 11:35:40 ............................................. [100%] 11:41:18 45 passed in 384.20s (0:06:24) 11:41:18 tests71: FAIL ✖ in 6 minutes 51.69 seconds 11:41:18 tests221: OK ✔ in 55 minutes 46.93 seconds 11:41:18 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 11:41:27 tests_hybrid: freeze> python -m pip freeze --all 11:41:27 tests_hybrid: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.1,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.8.0 11:41:27 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid 11:41:27 using environment variables from ./karaf221.env 11:41:27 pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py 11:42:12 ................................................... [100%] 11:44:00 51 passed in 152.31s (0:02:32) 11:44:00 pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py 11:44:47 ..............................................$ ssh-agent -k 11:47:37 unset SSH_AUTH_SOCK; 11:47:37 unset SSH_AGENT_PID; 11:47:37 echo Agent pid 1575 killed; 11:47:37 [ssh-agent] Stopped. 11:47:37 Build was aborted 11:47:37 Aborted by new patch set. 11:47:37 [PostBuildScript] - [INFO] Executing post build scripts. 11:47:37 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins7038419497845546412.sh 11:47:37 ---> sysstat.sh 11:47:37 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins14255832347824289756.sh 11:47:37 ---> package-listing.sh 11:47:37 + '[' -f /etc/os-release ']' 11:47:37 + . /etc/os-release 11:47:37 ++ PRETTY_NAME='Ubuntu 22.04.5 LTS' 11:47:37 ++ NAME=Ubuntu 11:47:37 ++ VERSION_ID=22.04 11:47:37 ++ VERSION='22.04.5 LTS (Jammy Jellyfish)' 11:47:37 ++ VERSION_CODENAME=jammy 11:47:37 ++ ID=ubuntu 11:47:37 ++ ID_LIKE=debian 11:47:37 ++ HOME_URL=https://www.ubuntu.com/ 11:47:37 ++ SUPPORT_URL=https://help.ubuntu.com/ 11:47:37 ++ BUG_REPORT_URL=https://bugs.launchpad.net/ubuntu/ 11:47:37 ++ PRIVACY_POLICY_URL=https://www.ubuntu.com/legal/terms-and-policies/privacy-policy 11:47:37 ++ UBUNTU_CODENAME=jammy 11:47:37 + case " ${ID:-} ${ID_LIKE:-} " in 11:47:37 + OS_FAMILY=debian 11:47:37 + workspace=/w/workspace/transportpce-tox-verify-transportpce-master 11:47:37 + START_PACKAGES=/tmp/packages_start.txt 11:47:37 + END_PACKAGES=/tmp/packages_end.txt 11:47:37 + DIFF_PACKAGES=/tmp/packages_diff.txt 11:47:37 + PACKAGES=/tmp/packages_start.txt 11:47:37 + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' 11:47:37 + PACKAGES=/tmp/packages_end.txt 11:47:37 + case "${OS_FAMILY}" in 11:47:37 + dpkg -l 11:47:37 + grep '^ii' 11:47:37 + '[' -f /tmp/packages_start.txt ']' 11:47:37 + '[' -f /tmp/packages_end.txt ']' 11:47:37 + diff /tmp/packages_start.txt /tmp/packages_end.txt 11:47:37 + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' 11:47:37 + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/ 11:47:37 + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/transportpce-tox-verify-transportpce-master/archives/ 11:47:37 + exit 0 11:47:37 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins7655498693920737322.sh 11:47:37 ---> capture-instance-metadata.sh 11:47:37 Setup pyenv: 11:47:37 system 11:47:37 3.8.20 11:47:37 3.9.20 11:47:37 3.10.15 11:47:37 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 11:47:37 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-c5j9 from file:/tmp/.os_lf_venv 11:47:37 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 11:47:40 lf-activate-venv(): INFO: Installing additional packages: lftools 11:47:41 ..Terminated 11:47:43 tests_hybrid: exit 1 (375.47 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid pid=38601 11:47:43 + tox_status=143 11:47:43 + echo '---> Completed tox runs' 11:47:43 ---> Completed tox runs 11:47:43 + for i in .tox/*/log 11:47:43 ++ echo .tox/build_karaf_tests200/log 11:47:43 ++ awk -F/ '{print $2}' 11:47:56 lf-activate-venv(): INFO: Adding /tmp/venv-c5j9/bin to PATH 11:47:56 INFO: Running in OpenStack, capturing instance metadata 11:47:56 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins994154156470748328.sh 11:47:56 provisioning config files... 11:47:57 Could not find credentials [logs] for transportpce-tox-verify-transportpce-master #6170 11:47:57 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/transportpce-tox-verify-transportpce-master@tmp/config18220897899723588698tmp 11:47:57 Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] 11:47:57 Run condition [Regular expression match] enabling perform for step [Provide Configuration files] 11:47:57 provisioning config files... 11:47:57 copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials 11:47:57 [EnvInject] - Injecting environment variables from a build step. 11:47:57 [EnvInject] - Injecting as environment variables the properties content 11:47:57 SERVER_ID=logs 11:47:57 11:47:57 [EnvInject] - Variables injected successfully. 11:47:57 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins15143979259111469419.sh 11:47:57 ---> create-netrc.sh 11:47:57 WARN: Log server credential not found. 11:47:57 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins6138569971676003709.sh 11:47:57 ---> python-tools-install.sh 11:47:57 Setup pyenv: 11:47:57 system 11:47:57 3.8.20 11:47:57 3.9.20 11:47:57 3.10.15 11:47:57 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 11:47:57 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-c5j9 from file:/tmp/.os_lf_venv 11:47:57 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 11:47:59 lf-activate-venv(): INFO: Installing additional packages: lftools 11:48:09 lf-activate-venv(): INFO: Adding /tmp/venv-c5j9/bin to PATH 11:48:09 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins11849251670731510609.sh 11:48:09 ---> uv-install.sh 11:48:09 uv 0.12.24 is already installed 11:48:09 uvx 0.12.24 (x86_64-unknown-linux-gnu) 11:48:09 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins3335780313569742606.sh 11:48:09 ---> sudo-logs.sh 11:48:09 Archiving 'sudo' log.. 11:48:09 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins3636334575228336448.sh 11:48:09 ---> job-cost.sh 11:48:09 INFO: Activating Python virtual environment... 11:48:09 Setup pyenv: 11:48:09 system 11:48:09 3.8.20 11:48:09 3.9.20 11:48:09 3.10.15 11:48:09 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 11:48:10 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-c5j9 from file:/tmp/.os_lf_venv 11:48:10 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 11:48:11 lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 11:48:20 lf-activate-venv(): INFO: Adding /tmp/venv-c5j9/bin to PATH 11:48:20 INFO: No stack-cost file found 11:48:20 INFO: Instance uptime: 6108s 11:48:20 INFO: Fetching instance metadata (attempt 1 of 3)... 11:48:20 DEBUG: URL: http://169.254.169.254/latest/meta-data/instance-type 11:48:20 INFO: Successfully fetched instance metadata 11:48:20 INFO: Instance type: v3-standard-4 11:48:20 INFO: Retrieving pricing info for: v3-standard-4 11:48:20 INFO: Fetching Vexxhost pricing API (attempt 1 of 3)... 11:48:20 DEBUG: URL: https://pricing.vexxhost.net/v1/pricing/v3-standard-4/cost?seconds=6108 11:48:21 INFO: Successfully fetched Vexxhost pricing API 11:48:21 INFO: Retrieved cost: 0.22 11:48:21 INFO: Retrieved resource: v3-standard-4 11:48:21 INFO: Creating archive directory: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost 11:48:21 INFO: Archiving costs to: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost.csv 11:48:21 INFO: Successfully archived job cost data 11:48:21 DEBUG: Cost data: transportpce-tox-verify-transportpce-master,6170,2026-10-09 11:48:21,v3-standard-4,6108,0.22,0.00,ABORTED 11:48:21 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins13560185563402911946.sh 11:48:21 ---> logs-deploy.sh 11:48:21 Setup pyenv: 11:48:21 system 11:48:21 3.8.20 11:48:21 3.9.20 11:48:21 3.10.15 11:48:21 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 11:48:21 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-c5j9 from file:/tmp/.os_lf_venv 11:48:21 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 11:48:23 lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 11:48:33 lf-activate-venv(): INFO: Adding /tmp/venv-c5j9/bin to PATH 11:48:33 WARNING: Nexus logging server not set 11:48:33 INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/transportpce-tox-verify-transportpce-master/6170/ 11:48:33 INFO: archiving logs to S3 11:48:35 ---> uname -a: 11:48:35 Linux prd-ubuntu2204-docker-4c-16g-63099 5.15.0-198-generic #208-Ubuntu SMP Fri Sep 4 10:22:38 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux 11:48:35 11:48:35 11:48:35 ---> lscpu: 11:48:35 Architecture: x86_64 11:48:35 CPU op-mode(s): 32-bit, 64-bit 11:48:35 Address sizes: 40 bits physical, 48 bits virtual 11:48:35 Byte Order: Little Endian 11:48:35 CPU(s): 4 11:48:35 On-line CPU(s) list: 0-3 11:48:35 Vendor ID: AuthenticAMD 11:48:35 Model name: AMD EPYC-Rome Processor 11:48:35 CPU family: 23 11:48:35 Model: 49 11:48:35 Thread(s) per core: 1 11:48:35 Core(s) per socket: 1 11:48:35 Socket(s): 4 11:48:35 Stepping: 0 11:48:35 BogoMIPS: 5599.99 11:48:35 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 lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip rdpid arch_capabilities 11:48:35 Virtualization: AMD-V 11:48:35 Hypervisor vendor: KVM 11:48:35 Virtualization type: full 11:48:35 L1d cache: 128 KiB (4 instances) 11:48:35 L1i cache: 128 KiB (4 instances) 11:48:35 L2 cache: 2 MiB (4 instances) 11:48:35 L3 cache: 64 MiB (4 instances) 11:48:35 NUMA node(s): 1 11:48:35 NUMA node0 CPU(s): 0-3 11:48:35 Vulnerability Gather data sampling: Not affected 11:48:35 Vulnerability Indirect target selection: Not affected 11:48:35 Vulnerability Itlb multihit: Not affected 11:48:35 Vulnerability L1tf: Not affected 11:48:35 Vulnerability Mds: Not affected 11:48:35 Vulnerability Meltdown: Not affected 11:48:35 Vulnerability Mmio stale data: Not affected 11:48:35 Vulnerability Reg file data sampling: Not affected 11:48:35 Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled 11:48:35 Vulnerability Spec rstack overflow: Mitigation; SMT disabled 11:48:35 Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp 11:48:35 Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization 11:48:35 Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected 11:48:35 Vulnerability Srbds: Not affected 11:48:35 Vulnerability Tsa: Not affected 11:48:35 Vulnerability Tsx async abort: Not affected 11:48:35 Vulnerability Vmscape: Not affected 11:48:35 11:48:35 11:48:35 ---> nproc: 11:48:35 4 11:48:35 11:48:35 11:48:35 ---> df -h: 11:48:35 Filesystem Size Used Avail Use% Mounted on 11:48:35 tmpfs 1.6G 1.1M 1.6G 1% /run 11:48:35 /dev/vda1 78G 17G 62G 21% / 11:48:35 tmpfs 7.9G 0 7.9G 0% /dev/shm 11:48:35 tmpfs 5.0M 0 5.0M 0% /run/lock 11:48:35 /dev/vda15 105M 6.1M 99M 6% /boot/efi 11:48:35 tmpfs 1.6G 4.0K 1.6G 1% /run/user/1001 11:48:35 11:48:35 11:48:35 ---> free -m: 11:48:35 total used free shared buff/cache available 11:48:35 Mem: 15989 720 7218 4 8050 14925 11:48:35 Swap: 1023 0 1023 11:48:35 11:48:35 11:48:35 ---> ip addr: 11:48:35 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 11:48:35 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 11:48:35 inet 127.0.0.1/8 scope host lo 11:48:35 valid_lft forever preferred_lft forever 11:48:35 inet6 ::1/128 scope host 11:48:35 valid_lft forever preferred_lft forever 11:48:35 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 11:48:35 link/ether fa:16:3e:3e:71:b6 brd ff:ff:ff:ff:ff:ff 11:48:35 altname enp0s3 11:48:35 inet 10.30.171.59/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 11:48:35 valid_lft 80286sec preferred_lft 80286sec 11:48:35 inet6 fe80::f816:3eff:fe3e:71b6/64 scope link 11:48:35 valid_lft forever preferred_lft forever 11:48:35 3: docker0: mtu 1458 qdisc noqueue state DOWN group default 11:48:35 link/ether 12:df:0c:0a:a3:97 brd ff:ff:ff:ff:ff:ff 11:48:35 inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 11:48:35 valid_lft forever preferred_lft forever 11:48:35 inet6 fe80::10df:cff:fe0a:a397/64 scope link 11:48:35 valid_lft forever preferred_lft forever 11:48:35 11:48:35 11:48:35 ---> sar -b -r -n DEV: 11:48:35 Linux 5.15.0-198-generic (prd-ubuntu2204-docker-4c-16g-63099) 10/09/26 _x86_64_ (4 CPU) 11:48:35 11:48:35 10:06:45 LINUX RESTART (4 CPU) 11:48:35 11:48:35 10:10:16 tps rtps wtps dtps bread/s bwrtn/s bdscd/s 11:48:35 10:20:10 59.98 1.87 55.13 2.98 109.21 25380.93 6557.26 11:48:35 10:30:22 7.41 0.34 6.71 0.35 23.19 214.12 626.22 11:48:35 10:40:01 8.53 0.01 8.13 0.40 0.46 267.44 655.56 11:48:35 10:50:22 25.07 0.75 23.10 1.21 10.84 1778.84 957.87 11:48:35 11:00:22 22.05 0.04 20.94 1.07 2.00 1617.04 1677.13 11:48:35 11:10:01 7.61 0.00 7.31 0.30 0.00 238.62 107.93 11:48:35 11:20:00 22.40 0.06 6.32 16.02 1.18 185.77 215655.84 11:48:35 11:30:22 7.38 0.00 7.16 0.23 0.00 183.50 304.63 11:48:35 11:40:01 5.33 0.00 5.14 0.19 0.00 167.87 66.46 11:48:35 Average: 18.46 0.34 15.58 2.53 16.33 3321.83 25192.70 11:48:35 11:48:35 10:10:16 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 11:48:35 10:20:10 1081468 8985108 6940992 42.39 233444 7510268 7764080 44.57 1904864 12654808 276 11:48:35 10:30:22 3048168 10969936 4957392 30.28 234988 7526768 5663964 32.51 1973328 10622940 104 11:48:35 10:40:01 1858264 9795584 6131040 37.45 236708 7540592 6947372 39.88 1979576 11802008 336 11:48:35 10:50:22 151012 7399400 8525512 52.07 250204 6841328 9357984 53.71 2125076 13361120 500 11:48:35 11:00:22 3775288 11339168 4586828 28.01 260232 7138020 5359660 30.76 2177056 9696312 160 11:48:35 11:10:01 3958488 11557316 4370284 26.69 261364 7171732 5178596 29.73 2179944 9497452 356 11:48:35 11:20:00 2215968 9844376 6081916 37.15 262672 7199960 6873844 39.46 2187552 11232604 128 11:48:35 11:30:22 2206404 9859508 6066892 37.05 263384 7223868 6835756 39.24 2191156 11252476 84 11:48:35 11:40:01 3739360 11417672 4509508 27.54 264064 7248360 5250204 30.14 2193340 9713460 248 11:48:35 Average: 2448269 10129785 5796707 35.40 251896 7266766 6581273 37.78 2101321 11092576 244 11:48:35 11:48:35 10:10:16 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 11:48:35 10:20:10 lo 9.55 9.55 7.50 7.50 0.00 0.00 0.00 0.00 11:48:35 10:20:10 ens3 78.76 55.81 905.98 5.16 0.00 0.00 0.00 0.00 11:48:35 10:20:10 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 10:30:22 lo 12.47 12.47 6.97 6.97 0.00 0.00 0.00 0.00 11:48:35 10:30:22 ens3 0.63 0.48 0.12 0.09 0.00 0.00 0.00 0.00 11:48:35 10:30:22 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 10:40:01 lo 7.77 7.77 5.11 5.11 0.00 0.00 0.00 0.00 11:48:35 10:40:01 ens3 8.07 5.12 4.84 4.40 0.00 0.00 0.00 0.00 11:48:35 10:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 10:50:22 lo 17.11 17.11 13.86 13.86 0.00 0.00 0.00 0.00 11:48:35 10:50:22 ens3 1.52 1.09 0.38 0.30 0.00 0.00 0.00 0.00 11:48:35 10:50:22 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 11:00:22 lo 20.16 20.16 9.22 9.22 0.00 0.00 0.00 0.00 11:48:35 11:00:22 ens3 1.32 1.03 0.29 0.27 0.00 0.00 0.00 0.00 11:48:35 11:00:22 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 11:10:01 lo 15.91 15.91 8.37 8.37 0.00 0.00 0.00 0.00 11:48:35 11:10:01 ens3 0.84 0.70 0.20 0.16 0.00 0.00 0.00 0.00 11:48:35 11:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 11:20:00 lo 29.57 29.57 11.75 11.75 0.00 0.00 0.00 0.00 11:48:35 11:20:00 ens3 0.61 0.44 0.10 0.08 0.00 0.00 0.00 0.00 11:48:35 11:20:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 11:30:22 lo 19.50 19.50 10.43 10.43 0.00 0.00 0.00 0.00 11:48:35 11:30:22 ens3 0.74 0.63 0.14 0.11 0.00 0.00 0.00 0.00 11:48:35 11:30:22 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 11:40:01 lo 12.44 12.44 6.75 6.75 0.00 0.00 0.00 0.00 11:48:35 11:40:01 ens3 0.63 0.52 0.12 0.09 0.00 0.00 0.00 0.00 11:48:35 11:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 Average: lo 16.12 16.12 8.93 8.93 0.00 0.00 0.00 0.00 11:48:35 Average: ens3 10.26 7.25 100.54 1.17 0.00 0.00 0.00 0.00 11:48:35 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:48:35 11:48:35 11:48:35 ---> sar -P ALL: 11:48:35 Linux 5.15.0-198-generic (prd-ubuntu2204-docker-4c-16g-63099) 10/09/26 _x86_64_ (4 CPU) 11:48:35 11:48:35 10:06:45 LINUX RESTART (4 CPU) 11:48:35 11:48:35 10:10:16 CPU %user %nice %system %iowait %steal %idle 11:48:35 10:20:10 all 32.17 0.00 1.93 2.60 0.02 63.27 11:48:35 10:20:10 0 30.99 0.00 1.77 3.19 0.02 64.04 11:48:35 10:20:10 1 34.83 0.00 2.25 2.05 0.02 60.85 11:48:35 10:20:10 2 31.74 0.00 1.80 2.75 0.02 63.69 11:48:35 10:20:10 3 31.14 0.00 1.92 2.39 0.02 64.52 11:48:35 10:30:22 all 15.61 0.00 0.74 0.07 0.02 83.56 11:48:35 10:30:22 0 15.19 0.00 0.73 0.02 0.03 84.03 11:48:35 10:30:22 1 15.44 0.00 0.70 0.06 0.02 83.78 11:48:35 10:30:22 2 15.50 0.00 0.89 0.19 0.02 83.39 11:48:35 10:30:22 3 16.30 0.00 0.62 0.02 0.02 83.03 11:48:35 10:40:01 all 16.72 0.00 0.78 0.04 0.02 82.44 11:48:35 10:40:01 0 16.50 0.00 0.83 0.05 0.02 82.60 11:48:35 10:40:01 1 17.03 0.00 0.78 0.03 0.02 82.14 11:48:35 10:40:01 2 16.17 0.00 0.73 0.07 0.02 83.01 11:48:35 10:40:01 3 17.16 0.00 0.79 0.01 0.02 82.02 11:48:35 10:50:22 all 33.27 0.00 1.40 0.08 0.03 65.22 11:48:35 10:50:22 0 32.67 0.00 1.59 0.14 0.03 65.58 11:48:35 10:50:22 1 33.96 0.00 1.21 0.05 0.02 64.75 11:48:35 10:50:22 2 32.84 0.00 1.36 0.06 0.03 65.71 11:48:35 10:50:22 3 33.62 0.00 1.45 0.05 0.03 64.85 11:48:35 11:00:22 all 30.43 0.00 1.42 0.13 0.03 67.99 11:48:35 11:00:22 0 30.35 0.00 1.50 0.05 0.02 68.08 11:48:35 11:00:22 1 29.38 0.00 1.41 0.11 0.03 69.08 11:48:35 11:00:22 2 30.56 0.00 1.38 0.16 0.03 67.87 11:48:35 11:00:22 3 31.43 0.00 1.40 0.19 0.03 66.94 11:48:35 11:10:01 all 13.67 0.00 0.75 0.03 0.02 85.53 11:48:35 11:10:01 0 14.24 0.00 0.84 0.02 0.02 84.89 11:48:35 11:10:01 1 13.67 0.00 0.76 0.02 0.02 85.54 11:48:35 11:10:01 2 13.55 0.00 0.76 0.05 0.02 85.63 11:48:35 11:10:01 3 13.24 0.00 0.62 0.05 0.02 86.08 11:48:35 11:20:00 all 11.18 0.00 0.56 0.03 0.01 88.22 11:48:35 11:20:00 0 11.40 0.00 0.57 0.04 0.01 87.99 11:48:35 11:20:00 1 10.98 0.00 0.63 0.02 0.01 88.36 11:48:35 11:20:00 2 11.29 0.00 0.50 0.03 0.02 88.16 11:48:35 11:20:00 3 11.05 0.00 0.53 0.04 0.01 88.36 11:48:35 11:30:22 all 10.04 0.00 0.55 0.05 0.02 89.34 11:48:35 11:30:22 0 10.22 0.00 0.59 0.06 0.02 89.11 11:48:35 11:30:22 1 10.18 0.00 0.51 0.03 0.02 89.27 11:48:35 11:30:22 2 9.71 0.00 0.57 0.11 0.02 89.58 11:48:35 11:30:22 3 10.06 0.00 0.52 0.02 0.02 89.39 11:48:35 11:40:01 all 7.94 0.00 0.55 0.03 0.01 91.47 11:48:35 11:40:01 0 7.98 0.00 0.69 0.01 0.01 91.31 11:48:35 11:40:01 1 8.02 0.00 0.49 0.07 0.01 91.40 11:48:35 11:40:01 2 8.04 0.00 0.55 0.01 0.02 91.38 11:48:35 11:40:01 3 7.73 0.00 0.45 0.03 0.01 91.78 11:48:35 Average: all 19.08 0.00 0.97 0.34 0.02 79.59 11:48:35 Average: 0 18.91 0.00 1.01 0.39 0.02 79.66 11:48:35 Average: 1 19.36 0.00 0.97 0.27 0.02 79.38 11:48:35 Average: 2 18.90 0.00 0.95 0.38 0.02 79.74 11:48:35 Average: 3 19.16 0.00 0.93 0.31 0.02 79.58 11:48:35 11:48:35 11:48:35