07:03:05 Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/transportpce/+/121292 07:03:05 Running as SYSTEM 07:03:05 [EnvInject] - Loading node environment variables. 07:03:05 Building remotely on prd-ubuntu2204-docker-4c-16g-30004 (ubuntu2204-docker-4c-16g) in workspace /w/workspace/transportpce-tox-verify-transportpce-master 07:03:13 [ssh-agent] Looking for ssh-agent implementation... 07:03:13 [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) 07:03:13 $ ssh-agent 07:03:13 SSH_AUTH_SOCK=/tmp/ssh-XXXXXXA2TfGw/agent.1554 07:03:13 SSH_AGENT_PID=1556 07:03:13 [ssh-agent] Started. 07:03:13 Running ssh-add (command line suppressed) 07:03:13 Identity added: /w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_16944035766165495523.key (/w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_16944035766165495523.key) 07:03:13 [ssh-agent] Using credentials jenkins (jenkins-ssh) 07:03:13 The recommended git tool is: NONE 07:03:22 using credential jenkins-ssh 07:03:22 Wiping out workspace first. 07:03:23 Cloning the remote Git repository 07:03:23 Cloning repository git://devvexx.opendaylight.org/mirror/transportpce 07:03:23 > git init /w/workspace/transportpce-tox-verify-transportpce-master # timeout=10 07:03:23 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce 07:03:23 > git --version # timeout=10 07:03:23 > git --version # 'git version 2.34.1' 07:03:23 using GIT_SSH to set credentials jenkins-ssh 07:03:23 Verifying host key using known hosts file, will automatically accept unseen keys 07:03:23 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce +refs/heads/*:refs/remotes/origin/* # timeout=10 07:03:51 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 07:03:51 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 07:03:52 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 07:03:52 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce 07:03:52 using GIT_SSH to set credentials jenkins-ssh 07:03:52 Verifying host key using known hosts file, will automatically accept unseen keys 07:03:52 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce refs/changes/92/121292/10 # timeout=10 07:03:53 > git rev-parse 2c040a0ea8f31348bf2a55470a12bac6e9a1085c^{commit} # timeout=10 07:03:53 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script 07:03:53 Checking out Revision 2c040a0ea8f31348bf2a55470a12bac6e9a1085c (refs/changes/92/121292/10) 07:03:53 > git config core.sparsecheckout # timeout=10 07:03:53 > git checkout -f 2c040a0ea8f31348bf2a55470a12bac6e9a1085c # timeout=10 07:03:53 Commit message: "Only convert nodes belonging to supporting node" 07:03:53 > git rev-parse FETCH_HEAD^{commit} # timeout=10 07:03:53 > git rev-list --no-walk 0120f9df42735f58b771a69f964604b3e9a4b8c6 # timeout=10 07:03:53 > git remote # timeout=10 07:03:53 > git submodule init # timeout=10 07:03:53 > git submodule sync # timeout=10 07:03:53 > git config --get remote.origin.url # timeout=10 07:03:53 > git submodule init # timeout=10 07:03:53 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 07:03:53 ERROR: No submodules found. 07:03:57 provisioning config files... 07:03:57 copy managed file [npmrc] to file:/home/jenkins/.npmrc 07:03:57 copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf 07:03:57 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins7724675363512799555.sh 07:03:57 ---> python-tools-install.sh 07:03:57 Setup pyenv: 07:03:57 * system (set by /opt/pyenv/version) 07:03:57 * 3.8.20 (set by /opt/pyenv/version) 07:03:57 * 3.9.20 (set by /opt/pyenv/version) 07:03:57 3.10.15 07:03:57 3.11.10 07:04:02 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-O82e 07:04:02 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv 07:04:02 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 07:04:02 lf-activate-venv(): INFO: Attempting to install with network-safe options... 07:04:11 lf-activate-venv(): INFO: Base packages installed successfully 07:04:11 lf-activate-venv(): INFO: Installing additional packages: lftools 07:04:42 lf-activate-venv(): INFO: Adding /tmp/venv-O82e/bin to PATH 07:04:42 Generating Requirements File 07:05:08 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. 07:05:08 httplib2 0.30.2 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. 07:05:09 Python 3.11.10 07:05:09 pip 26.0.1 from /tmp/venv-O82e/lib/python3.11/site-packages/pip (python 3.11) 07:05:09 appdirs==1.4.4 07:05:09 argcomplete==3.6.3 07:05:09 aspy.yaml==1.3.0 07:05:09 attrs==26.1.0 07:05:09 autopage==0.6.0 07:05:09 beautifulsoup4==4.14.3 07:05:09 boto3==1.42.75 07:05:09 botocore==1.42.75 07:05:09 bs4==0.0.2 07:05:09 certifi==2026.2.25 07:05:09 cffi==2.0.0 07:05:09 cfgv==3.5.0 07:05:09 chardet==7.3.0 07:05:09 charset-normalizer==3.4.6 07:05:09 click==8.3.1 07:05:09 cliff==4.13.2 07:05:09 cmd2==3.4.0 07:05:09 cryptography==3.3.2 07:05:09 debtcollector==3.1.0 07:05:09 decorator==5.2.1 07:05:09 defusedxml==0.7.1 07:05:09 Deprecated==1.3.1 07:05:09 distlib==0.4.0 07:05:09 dnspython==2.8.0 07:05:09 docker==7.1.0 07:05:09 dogpile.cache==1.5.0 07:05:09 durationpy==0.10 07:05:09 email-validator==2.3.0 07:05:09 filelock==3.25.2 07:05:09 future==1.0.0 07:05:09 gitdb==4.0.12 07:05:09 GitPython==3.1.46 07:05:09 httplib2==0.30.2 07:05:09 identify==2.6.18 07:05:09 idna==3.11 07:05:09 importlib-resources==1.5.0 07:05:09 iso8601==2.1.0 07:05:09 Jinja2==3.1.6 07:05:09 jmespath==1.1.0 07:05:09 jsonpatch==1.33 07:05:09 jsonpointer==3.1.1 07:05:09 jsonschema==4.26.0 07:05:09 jsonschema-specifications==2025.9.1 07:05:09 keystoneauth1==5.13.1 07:05:09 kubernetes==35.0.0 07:05:09 lftools==0.37.22 07:05:09 lxml==6.0.2 07:05:09 markdown-it-py==4.0.0 07:05:09 MarkupSafe==3.0.3 07:05:09 mdurl==0.1.2 07:05:09 msgpack==1.1.2 07:05:09 multi_key_dict==2.0.3 07:05:09 munch==4.0.0 07:05:09 netaddr==1.3.0 07:05:09 niet==1.4.2 07:05:09 nodeenv==1.10.0 07:05:09 oauth2client==4.1.3 07:05:09 oauthlib==3.3.1 07:05:09 openstacksdk==4.10.0 07:05:09 os-service-types==1.8.2 07:05:09 osc-lib==4.4.0 07:05:09 oslo.config==10.3.0 07:05:09 oslo.context==6.3.0 07:05:09 oslo.i18n==6.7.2 07:05:09 oslo.log==8.1.0 07:05:09 oslo.serialization==5.9.1 07:05:09 oslo.utils==10.0.0 07:05:09 packaging==26.0 07:05:09 pbr==7.0.3 07:05:09 platformdirs==4.9.4 07:05:09 prettytable==3.17.0 07:05:09 psutil==7.2.2 07:05:09 pyasn1==0.6.3 07:05:09 pyasn1_modules==0.4.2 07:05:09 pycparser==3.0 07:05:09 pygerrit2==2.0.15 07:05:09 PyGithub==2.9.0 07:05:09 Pygments==2.19.2 07:05:09 PyJWT==2.12.1 07:05:09 PyNaCl==1.6.2 07:05:09 pyparsing==2.4.7 07:05:09 pyperclip==1.11.0 07:05:09 pyrsistent==0.20.0 07:05:09 python-cinderclient==9.9.0 07:05:09 python-dateutil==2.9.0.post0 07:05:09 python-discovery==1.2.0 07:05:09 python-heatclient==5.1.0 07:05:09 python-jenkins==1.8.3 07:05:09 python-keystoneclient==5.8.0 07:05:09 python-magnumclient==4.10.0 07:05:09 python-openstackclient==9.0.0 07:05:09 python-swiftclient==4.10.0 07:05:09 PyYAML==6.0.3 07:05:09 referencing==0.37.0 07:05:09 requests==2.32.5 07:05:09 requests-oauthlib==2.0.0 07:05:09 requestsexceptions==1.4.0 07:05:09 rfc3986==2.0.0 07:05:09 rich==14.3.3 07:05:09 rich-argparse==1.7.2 07:05:09 rpds-py==0.30.0 07:05:09 rsa==4.9.1 07:05:09 ruamel.yaml==0.19.1 07:05:09 ruamel.yaml.clib==0.2.15 07:05:09 s3transfer==0.16.0 07:05:09 simplejson==3.20.2 07:05:09 six==1.17.0 07:05:09 smmap==5.0.3 07:05:09 soupsieve==2.8.3 07:05:09 stevedore==5.7.0 07:05:09 tabulate==0.10.0 07:05:09 toml==0.10.2 07:05:09 tomlkit==0.14.0 07:05:09 tqdm==4.67.3 07:05:09 typing_extensions==4.15.0 07:05:09 urllib3==1.26.20 07:05:09 virtualenv==21.2.0 07:05:09 wcwidth==0.6.0 07:05:09 websocket-client==1.9.0 07:05:09 wrapt==2.1.2 07:05:09 xdg==6.0.0 07:05:09 xmltodict==1.0.4 07:05:09 yq==3.4.3 07:05:09 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins11461517555658310425.sh 07:05:09 ---> uv-install.sh 07:05:09 Installing uv/uvx (latest) using shell installer 07:05:09 2026-03-25 07:05:09 URL:https://release-assets.githubusercontent.com/github-production-release-asset/699532645/8526d680-25b4-4fe7-8df2-386b1bc03575?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-03-25T07%3A44%3A59Z&rscd=attachment%3B+filename%3Duv-installer.sh&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-03-25T06%3A44%3A42Z&ske=2026-03-25T07%3A44%3A59Z&sks=b&skv=2018-11-09&sig=g7AP%2F8SzPLpd3IF%2B3ELUFJTp0%2B8EF%2BakAxzDPtQ29pQ%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc3NDQyMjU4NywibmJmIjoxNzc0NDIyMjg3LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.4RsDRi4OSUM1MvzvbVLmjp8h1M1Djg0xLOpj4da4SKY&response-content-disposition=attachment%3B%20filename%3Duv-installer.sh&response-content-type=application%2Foctet-stream [72114/72114] -> "/tmp/uv-install-bEV1Bt.sh" [1] 07:05:09 downloading uv 0.11.1 x86_64-unknown-linux-gnu 07:05:10 installing to /home/jenkins/.local/bin 07:05:10 uv 07:05:10 uvx 07:05:10 everything's installed! 07:05:10 07:05:10 To add $HOME/.local/bin to your PATH, either restart your shell or run: 07:05:10 07:05:10 source $HOME/.local/bin/env (sh, bash, zsh) 07:05:10 source $HOME/.local/bin/env.fish (fish) 07:05:10 Adding install location to PATH 07:05:10 ---> Validating uv/uvx install 07:05:10 uvx 0.11.1 (x86_64-unknown-linux-gnu) 07:05:10 [EnvInject] - Injecting environment variables from a build step. 07:05:10 [EnvInject] - Injecting as environment variables the properties content 07:05:10 PYTHON=python3 07:05:10 07:05:10 [EnvInject] - Variables injected successfully. 07:05:11 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins11973395263390540108.sh 07:05:11 ---> tox-install.sh 07:05:11 + source /home/jenkins/lf-env.sh 07:05:11 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 07:05:11 ++ mktemp -d /tmp/venv-XXXX 07:05:11 + lf_venv=/tmp/venv-CXjw 07:05:11 + local venv_file=/tmp/.os_lf_venv 07:05:11 + local python=python3 07:05:11 + local options 07:05:11 + local set_path=true 07:05:11 + local install_args= 07:05:11 ++ 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 07:05:11 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 07:05:11 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 07:05:11 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 07:05:11 + true 07:05:11 + case $1 in 07:05:11 + venv_file=/tmp/.toxenv 07:05:11 + shift 2 07:05:11 + true 07:05:11 + case $1 in 07:05:11 + shift 07:05:11 + break 07:05:11 + case $python in 07:05:11 + local pkg_list= 07:05:11 + [[ -d /opt/pyenv ]] 07:05:11 + echo 'Setup pyenv:' 07:05:11 Setup pyenv: 07:05:11 + export PYENV_ROOT=/opt/pyenv 07:05:11 + PYENV_ROOT=/opt/pyenv 07:05:11 + 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 07:05:11 + 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 07:05:11 + pyenv versions 07:05:11 system 07:05:11 3.8.20 07:05:11 3.9.20 07:05:11 3.10.15 07:05:11 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 07:05:11 + command -v pyenv 07:05:11 ++ pyenv init - --no-rehash 07:05:11 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 07:05:11 for i in ${!paths[@]}; do 07:05:11 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 07:05:11 fi; done; 07:05:11 echo "${paths[*]}"'\'')" 07:05:11 export PATH="/opt/pyenv/shims:${PATH}" 07:05:11 export PYENV_SHELL=bash 07:05:11 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 07:05:11 pyenv() { 07:05:11 local command 07:05:11 command="${1:-}" 07:05:11 if [ "$#" -gt 0 ]; then 07:05:11 shift 07:05:11 fi 07:05:11 07:05:11 case "$command" in 07:05:11 rehash|shell) 07:05:11 eval "$(pyenv "sh-$command" "$@")" 07:05:11 ;; 07:05:11 *) 07:05:11 command pyenv "$command" "$@" 07:05:11 ;; 07:05:11 esac 07:05:11 }' 07:05:11 +++ bash --norc -ec 'IFS=:; paths=($PATH); 07:05:11 for i in ${!paths[@]}; do 07:05:11 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 07:05:11 fi; done; 07:05:11 echo "${paths[*]}"' 07:05:11 ++ 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 07:05:11 ++ 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 07:05:11 ++ 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 07:05:11 ++ export PYENV_SHELL=bash 07:05:11 ++ PYENV_SHELL=bash 07:05:11 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 07:05:11 +++ complete -F _pyenv pyenv 07:05:11 ++ lf-pyver python3 07:05:11 ++ local py_version_xy=python3 07:05:11 ++ local py_version_xyz= 07:05:11 ++ pyenv versions 07:05:11 ++ local command 07:05:11 ++ sed 's/^[ *]* //' 07:05:11 ++ command=versions 07:05:11 ++ '[' 1 -gt 0 ']' 07:05:11 ++ shift 07:05:11 ++ case "$command" in 07:05:11 ++ command pyenv versions 07:05:11 ++ grep -E '^[0-9.]*[0-9]$' 07:05:11 ++ awk '{ print $1 }' 07:05:11 ++ [[ ! -s /tmp/.pyenv_versions ]] 07:05:11 +++ sort -V 07:05:11 +++ tail -n 1 07:05:11 +++ grep '^3' /tmp/.pyenv_versions 07:05:11 ++ py_version_xyz=3.11.10 07:05:11 ++ [[ -z 3.11.10 ]] 07:05:11 ++ echo 3.11.10 07:05:11 ++ return 0 07:05:11 + pyenv local 3.11.10 07:05:11 + local command 07:05:11 + command=local 07:05:11 + '[' 2 -gt 0 ']' 07:05:11 + shift 07:05:11 + case "$command" in 07:05:11 + command pyenv local 3.11.10 07:05:11 + for arg in "$@" 07:05:11 + case $arg in 07:05:11 + pkg_list+='tox ' 07:05:11 + for arg in "$@" 07:05:11 + case $arg in 07:05:11 + pkg_list+='virtualenv ' 07:05:11 + for arg in "$@" 07:05:11 + case $arg in 07:05:11 + pkg_list+='urllib3~=1.26.15 ' 07:05:11 + [[ -f /tmp/.toxenv ]] 07:05:11 + [[ ! -f /tmp/.toxenv ]] 07:05:11 + [[ -n '' ]] 07:05:11 + python3 -m venv /tmp/venv-CXjw 07:05:15 + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-CXjw' 07:05:15 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-CXjw 07:05:15 + echo /tmp/venv-CXjw 07:05:15 + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' 07:05:15 lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv 07:05:15 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 07:05:15 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 07:05:15 + local 'pip_opts=--upgrade --quiet' 07:05:15 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 07:05:15 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 07:05:15 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 07:05:15 + [[ -n '' ]] 07:05:15 + [[ -n '' ]] 07:05:15 + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' 07:05:15 lf-activate-venv(): INFO: Attempting to install with network-safe options... 07:05:15 + /tmp/venv-CXjw/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 07:05:20 + echo 'lf-activate-venv(): INFO: Base packages installed successfully' 07:05:20 lf-activate-venv(): INFO: Base packages installed successfully 07:05:20 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 07:05:20 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 07:05:20 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 07:05:20 + /tmp/venv-CXjw/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 07:05:22 + type python3 07:05:22 + true 07:05:22 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-CXjw/bin to PATH' 07:05:22 lf-activate-venv(): INFO: Adding /tmp/venv-CXjw/bin to PATH 07:05:22 + PATH=/tmp/venv-CXjw/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 07:05:22 + return 0 07:05:22 + python3 --version 07:05:22 Python 3.11.10 07:05:22 + python3 -m pip --version 07:05:22 pip 26.0.1 from /tmp/venv-CXjw/lib/python3.11/site-packages/pip (python 3.11) 07:05:22 + python3 -m pip freeze 07:05:22 cachetools==7.0.5 07:05:22 colorama==0.4.6 07:05:22 distlib==0.4.0 07:05:22 filelock==3.25.2 07:05:22 packaging==26.0 07:05:22 platformdirs==4.9.4 07:05:22 pluggy==1.6.0 07:05:22 pyproject-api==1.10.0 07:05:22 python-discovery==1.2.0 07:05:22 tomli_w==1.2.0 07:05:22 tox==4.50.3 07:05:22 urllib3==1.26.20 07:05:22 virtualenv==21.2.0 07:05:23 [transportpce-tox-verify-transportpce-master] $ /bin/sh -xe /tmp/jenkins11792627340239643100.sh 07:05:23 [EnvInject] - Injecting environment variables from a build step. 07:05:23 [EnvInject] - Injecting as environment variables the properties content 07:05:23 PARALLEL=True 07:05:23 07:05:23 [EnvInject] - Variables injected successfully. 07:05:23 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins15320064726630589379.sh 07:05:23 ---> tox-run.sh 07:05:23 + 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 07:05:23 + ARCHIVE_TOX_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/tox 07:05:23 + ARCHIVE_DOC_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/docs 07:05:23 + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox 07:05:23 + cd /w/workspace/transportpce-tox-verify-transportpce-master/. 07:05:23 + source /home/jenkins/lf-env.sh 07:05:23 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 07:05:23 ++ mktemp -d /tmp/venv-XXXX 07:05:23 + lf_venv=/tmp/venv-zhlA 07:05:23 + local venv_file=/tmp/.os_lf_venv 07:05:23 + local python=python3 07:05:23 + local options 07:05:23 + local set_path=true 07:05:23 + local install_args= 07:05:23 ++ 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 07:05:23 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 07:05:23 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 07:05:23 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 07:05:23 + true 07:05:23 + case $1 in 07:05:23 + venv_file=/tmp/.toxenv 07:05:23 + shift 2 07:05:23 + true 07:05:23 + case $1 in 07:05:23 + shift 07:05:23 + break 07:05:23 + case $python in 07:05:23 + local pkg_list= 07:05:23 + [[ -d /opt/pyenv ]] 07:05:23 + echo 'Setup pyenv:' 07:05:23 Setup pyenv: 07:05:23 + export PYENV_ROOT=/opt/pyenv 07:05:23 + PYENV_ROOT=/opt/pyenv 07:05:23 + 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 07:05:23 + 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 07:05:23 + pyenv versions 07:05:23 system 07:05:23 3.8.20 07:05:23 3.9.20 07:05:23 3.10.15 07:05:23 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 07:05:23 + command -v pyenv 07:05:23 ++ pyenv init - --no-rehash 07:05:23 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 07:05:23 for i in ${!paths[@]}; do 07:05:23 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 07:05:23 fi; done; 07:05:23 echo "${paths[*]}"'\'')" 07:05:23 export PATH="/opt/pyenv/shims:${PATH}" 07:05:23 export PYENV_SHELL=bash 07:05:23 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 07:05:23 pyenv() { 07:05:23 local command 07:05:23 command="${1:-}" 07:05:23 if [ "$#" -gt 0 ]; then 07:05:23 shift 07:05:23 fi 07:05:23 07:05:23 case "$command" in 07:05:23 rehash|shell) 07:05:23 eval "$(pyenv "sh-$command" "$@")" 07:05:23 ;; 07:05:23 *) 07:05:23 command pyenv "$command" "$@" 07:05:23 ;; 07:05:23 esac 07:05:23 }' 07:05:23 +++ bash --norc -ec 'IFS=:; paths=($PATH); 07:05:23 for i in ${!paths[@]}; do 07:05:23 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 07:05:23 fi; done; 07:05:23 echo "${paths[*]}"' 07:05:23 ++ 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 07:05:23 ++ 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 07:05:23 ++ 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 07:05:23 ++ export PYENV_SHELL=bash 07:05:23 ++ PYENV_SHELL=bash 07:05:23 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 07:05:23 +++ complete -F _pyenv pyenv 07:05:23 ++ lf-pyver python3 07:05:23 ++ local py_version_xy=python3 07:05:23 ++ local py_version_xyz= 07:05:23 ++ pyenv versions 07:05:23 ++ local command 07:05:23 ++ command=versions 07:05:23 ++ sed 's/^[ *]* //' 07:05:23 ++ '[' 1 -gt 0 ']' 07:05:23 ++ shift 07:05:23 ++ case "$command" in 07:05:23 ++ command pyenv versions 07:05:23 ++ awk '{ print $1 }' 07:05:23 ++ grep -E '^[0-9.]*[0-9]$' 07:05:23 ++ [[ ! -s /tmp/.pyenv_versions ]] 07:05:23 +++ sort -V 07:05:23 +++ grep '^3' /tmp/.pyenv_versions 07:05:23 +++ tail -n 1 07:05:23 ++ py_version_xyz=3.11.10 07:05:23 ++ [[ -z 3.11.10 ]] 07:05:23 ++ echo 3.11.10 07:05:23 ++ return 0 07:05:23 + pyenv local 3.11.10 07:05:23 + local command 07:05:23 + command=local 07:05:23 + '[' 2 -gt 0 ']' 07:05:23 + shift 07:05:23 + case "$command" in 07:05:23 + command pyenv local 3.11.10 07:05:23 + for arg in "$@" 07:05:23 + case $arg in 07:05:23 + pkg_list+='tox ' 07:05:23 + for arg in "$@" 07:05:23 + case $arg in 07:05:23 + pkg_list+='virtualenv ' 07:05:23 + for arg in "$@" 07:05:23 + case $arg in 07:05:23 + pkg_list+='urllib3~=1.26.15 ' 07:05:23 + [[ -f /tmp/.toxenv ]] 07:05:23 ++ cat /tmp/.toxenv 07:05:23 + lf_venv=/tmp/venv-CXjw 07:05:23 + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-CXjw from' file:/tmp/.toxenv 07:05:23 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-CXjw from file:/tmp/.toxenv 07:05:23 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 07:05:23 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 07:05:23 + local 'pip_opts=--upgrade --quiet' 07:05:23 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 07:05:23 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 07:05:23 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 07:05:23 + [[ -n '' ]] 07:05:23 + [[ -n '' ]] 07:05:23 + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' 07:05:23 lf-activate-venv(): INFO: Attempting to install with network-safe options... 07:05:23 + /tmp/venv-CXjw/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 07:05:24 + echo 'lf-activate-venv(): INFO: Base packages installed successfully' 07:05:24 lf-activate-venv(): INFO: Base packages installed successfully 07:05:24 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 07:05:24 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 07:05:24 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 07:05:24 + /tmp/venv-CXjw/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 07:05:26 + type python3 07:05:26 + true 07:05:26 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-CXjw/bin to PATH' 07:05:26 lf-activate-venv(): INFO: Adding /tmp/venv-CXjw/bin to PATH 07:05:26 + PATH=/tmp/venv-CXjw/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 07:05:26 + return 0 07:05:26 + [[ -d /opt/pyenv ]] 07:05:26 + echo '---> Setting up pyenv' 07:05:26 ---> Setting up pyenv 07:05:26 + export PYENV_ROOT=/opt/pyenv 07:05:26 + PYENV_ROOT=/opt/pyenv 07:05:26 + export PATH=/opt/pyenv/bin:/tmp/venv-CXjw/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 07:05:26 + PATH=/opt/pyenv/bin:/tmp/venv-CXjw/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 07:05:26 ++ pwd 07:05:26 + PYTHONPATH=/w/workspace/transportpce-tox-verify-transportpce-master 07:05:26 + export PYTHONPATH 07:05:26 + export TOX_TESTENV_PASSENV=PYTHONPATH 07:05:26 + TOX_TESTENV_PASSENV=PYTHONPATH 07:05:26 + tox --version 07:05:26 4.50.3 from /tmp/venv-CXjw/lib/python3.11/site-packages/tox/__init__.py 07:05:26 + PARALLEL=True 07:05:26 + TOX_OPTIONS_LIST= 07:05:26 + [[ -n '' ]] 07:05:26 + case ${PARALLEL,,} in 07:05:26 + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' 07:05:26 + tox --parallel auto --parallel-live 07:05:26 + tee -a /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tox.log 07:05:28 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 07:05:28 docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt 07:05:28 docs: install_deps> python -I -m pip install -r docs/requirements.txt 07:05:28 checkbashisms: freeze> python -m pip freeze --all 07:05:29 checkbashisms: pip==26.0.1,setuptools==82.0.0 07:05:29 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 07:05:29 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)' 07:05:29 checkbashisms: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + 07:05:30 checkbashisms: OK ✔ in 3.61 seconds 07:05:30 pre-commit: install_deps> python -I -m pip install pre-commit 07:05:43 pre-commit: freeze> python -m pip freeze --all 07:05:43 pre-commit: cfgv==3.5.0,distlib==0.4.0,filelock==3.25.2,identify==2.6.18,nodeenv==1.10.0,pip==26.0.1,platformdirs==4.9.4,pre_commit==4.5.1,python-discovery==1.2.0,PyYAML==6.0.3,setuptools==82.0.0,virtualenv==21.2.0 07:05:43 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 07:05:43 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)' 07:05:43 /usr/bin/cpan 07:05:43 pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure 07:05:46 [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. 07:05:49 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. 07:05:54 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. 07:05:57 [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. 07:06:01 [INFO] Initializing environment for https://github.com/pre-commit/mirrors-autopep8. 07:06:02 [INFO] Initializing environment for https://github.com/perltidy/perltidy. 07:06:04 [INFO] Initializing environment for https://github.com/koalaman/shellcheck-precommit. 07:06:06 [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier. 07:06:14 [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier:prettier@4.0.0-alpha.8. 07:06:17 buildcontroller: freeze> python -m pip freeze --all 07:06:17 buildcontroller: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:06:17 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh 07:06:17 + update-java-alternatives -l 07:06:17 java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 07:06:17 java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 07:06:17 java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64 07:06:17 + sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 07:06:18 update-alternatives: error: no alternatives for jaotc 07:06:25 [INFO] Initializing environment for https://github.com/adrienverge/yamllint. 07:06:28 update-alternatives: error: no alternatives for rmic 07:06:32 [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. 07:06:32 [INFO] Once installed this environment will be reused. 07:06:32 [INFO] This may take a few minutes... 07:06:54 [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. 07:06:54 [INFO] Once installed this environment will be reused. 07:06:54 [INFO] This may take a few minutes... 07:06:55 + java -version 07:06:55 + sed -n ;s/.* version "\(.*\)\.\(.*\)\..*".*$/\1/p; 07:06:55 + JAVA_VER=21 07:06:55 + echo 21 07:06:55 21 07:06:55 + sed -n ;s/javac \(.*\)\.\(.*\)\..*.*$/\1/p; 07:06:55 + javac -version 07:06:56 + JAVAC_VER=21 07:06:56 + echo 21 07:06:56 + [ 21 -ge 21 ] 07:06:56 + [ 21 -ge 21 ] 07:06:56 + echo ok, java is 21 or newer 07:06:56 21 07:06:56 ok, java is 21 or newer 07:06:56 + wget -nv https://dlcdn.apache.org/maven/maven-3/3.9.14/binaries/apache-maven-3.9.14-bin.tar.gz -P /tmp 07:06:56 2026-03-25 07:06:56 URL:https://dlcdn.apache.org/maven/maven-3/3.9.14/binaries/apache-maven-3.9.14-bin.tar.gz [9238692/9238692] -> "/tmp/apache-maven-3.9.14-bin.tar.gz" [1] 07:06:56 + sudo mkdir -p /opt 07:06:56 + sudo tar xf /tmp/apache-maven-3.9.14-bin.tar.gz -C /opt 07:06:56 + sudo ln -s /opt/apache-maven-3.9.14 /opt/maven 07:06:56 + sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn 07:06:56 + mvn --version 07:06:57 Apache Maven 3.9.14 (996c630dbc656c76214ce58821dcc58be960875b) 07:06:57 Maven home: /opt/maven 07:06:57 Java version: 21.0.10, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 07:06:57 Default locale: en, platform encoding: UTF-8 07:06:57 OS name: "linux", version: "5.15.0-171-generic", arch: "amd64", family: "unix" 07:06:57 NOTE: Picked up JDK_JAVA_OPTIONS: 07:06:57 --add-opens=java.base/java.io=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.lang=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.net=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.nio=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.nio.file=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.util=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.util.jar=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.util.stream=ALL-UNNAMED 07:06:57 --add-opens=java.base/java.util.zip=ALL-UNNAMED 07:06:57 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 07:06:57 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 07:06:57 -Xlog:disable 07:07:07 [INFO] Installing environment for https://github.com/pre-commit/mirrors-autopep8. 07:07:07 [INFO] Once installed this environment will be reused. 07:07:07 [INFO] This may take a few minutes... 07:07:19 [INFO] Installing environment for https://github.com/perltidy/perltidy. 07:07:19 [INFO] Once installed this environment will be reused. 07:07:19 [INFO] This may take a few minutes... 07:07:44 [INFO] Installing environment for https://github.com/pre-commit/mirrors-prettier. 07:07:44 [INFO] Once installed this environment will be reused. 07:07:44 [INFO] This may take a few minutes... 07:08:10 [INFO] Installing environment for https://github.com/adrienverge/yamllint. 07:08:10 [INFO] Once installed this environment will be reused. 07:08:10 [INFO] This may take a few minutes... 07:08:22 trim trailing whitespace.................................................Passed 07:08:23 fix end of files.........................................................Passed 07:08:23 check for added large files..............................................Passed 07:08:23 check for merge conflicts................................................Passed 07:08:24 check for case conflicts.................................................Passed 07:08:24 check json...............................................................Passed 07:08:24 mixed line ending........................................................Passed 07:08:25 Tabs remover.............................................................Passed 07:08:25 autopep8.................................................................Passed 07:08:30 perltidy.................................................................Passed 07:08:32 ShellCheck v0.10.0.......................................................docs-linkcheck: freeze> python -m pip freeze --all 07:09:01 docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,blockdiag==3.0.0,certifi==2026.2.25,charset-normalizer==3.4.6,contourpy==1.3.3,cycler==0.12.1,docutils==0.21.2,fonttools==4.62.1,funcparserlib==2.0.0a0,future==1.0.0,idna==3.11,imagesize==2.0.0,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.5.0,lfdocs_conf==0.10.0,MarkupSafe==3.0.3,matplotlib==3.10.8,numpy==2.4.3,nwdiag==3.0.0,packaging==26.0,pillow==12.1.1,pip==26.0.1,Pygments==2.19.2,pyparsing==3.3.2,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.32.5,requests-file==1.5.1,roman-numerals==4.1.0,roman-numerals-py==4.1.0,seqdiag==3.0.0,setuptools==82.0.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-tabs==3.5.0,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.6.3,webcolors==25.10.0 07:09:01 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 07:09:12 docs: freeze> python -m pip freeze --all 07:09:12 docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,blockdiag==3.0.0,certifi==2026.2.25,charset-normalizer==3.4.6,contourpy==1.3.3,cycler==0.12.1,docutils==0.21.2,fonttools==4.62.1,funcparserlib==2.0.0a0,future==1.0.0,idna==3.11,imagesize==2.0.0,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.5.0,lfdocs_conf==0.10.0,MarkupSafe==3.0.3,matplotlib==3.10.8,numpy==2.4.3,nwdiag==3.0.0,packaging==26.0,pillow==12.1.1,pip==26.0.1,Pygments==2.19.2,pyparsing==3.3.2,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.32.5,requests-file==1.5.1,roman-numerals==4.1.0,roman-numerals-py==4.1.0,seqdiag==3.0.0,setuptools==82.0.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-tabs==3.5.0,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.6.3,webcolors==25.10.0 07:09:12 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 07:09:16 docs-linkcheck: OK ✔ in 3 minutes 48.94 seconds 07:09:16 pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' 07:09:38 docs: OK ✔ in 3 minutes 52.99 seconds 07:09:38 pylint: freeze> python -m pip freeze --all 07:09:39 pylint: astroid==4.0.4,dill==0.4.1,isort==8.0.1,mccabe==0.7.0,pip==26.0.1,platformdirs==4.9.4,pylint==4.0.5,setuptools==82.0.0,tomlkit==0.14.0 07:09:39 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}$' '{}' + 07:10:05 07:10:05 ------------------------------------ 07:10:05 Your code has been rated at 10.00/10 07:10:05 07:10:45 pylint: OK ✔ in 51.55 seconds 07:10:45 buildcontroller: OK ✔ in 5 minutes 18.18 seconds 07:10:45 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 07:10:45 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 07:10:47 build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 07:12:29 Passed 07:12:29 prettier.................................................................Passed 07:12:31 yamllint.................................................................Passed 07:12:32 pre-commit: commands[3] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run gitlint-ci --hook-stage manual 07:12:32 [INFO] Installing environment for https://github.com/jorisroovers/gitlint. 07:12:32 [INFO] Once installed this environment will be reused. 07:12:32 [INFO] This may take a few minutes... 07:12:35 build_karaf_tests121: freeze> python -m pip freeze --all 07:12:35 build_karaf_tests121: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:12:35 build_karaf_tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 07:12:35 build karaf in karaf121 with ./karaf121.env 07:12:36 NOTE: Picked up JDK_JAVA_OPTIONS: 07:12:36 --add-opens=java.base/java.io=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.lang=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.net=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.nio=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.nio.file=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.util=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.util.jar=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.util.stream=ALL-UNNAMED 07:12:36 --add-opens=java.base/java.util.zip=ALL-UNNAMED 07:12:36 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 07:12:36 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 07:12:36 -Xlog:disable 07:12:37 build_karaf_tests221: freeze> python -m pip freeze --all 07:12:37 build_karaf_tests221: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:12:37 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 07:12:37 build karaf in karaf221 with ./karaf221.env 07:12:37 NOTE: Picked up JDK_JAVA_OPTIONS: 07:12:37 --add-opens=java.base/java.io=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.lang=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.net=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.nio=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.nio.file=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.util=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.util.jar=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.util.stream=ALL-UNNAMED 07:12:37 --add-opens=java.base/java.util.zip=ALL-UNNAMED 07:12:37 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 07:12:37 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 07:12:37 -Xlog:disable 07:12:37 build_karaf_tests71: freeze> python -m pip freeze --all 07:12:38 build_karaf_tests71: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:12:38 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 07:12:38 build karaf in karaf71 with ./karaf71.env 07:12:38 NOTE: Picked up JDK_JAVA_OPTIONS: 07:12:38 --add-opens=java.base/java.io=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.lang=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.net=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.nio=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.nio.file=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.util=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.util.jar=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.util.stream=ALL-UNNAMED 07:12:38 --add-opens=java.base/java.util.zip=ALL-UNNAMED 07:12:38 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 07:12:38 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 07:12:38 -Xlog:disable 07:14:08 build_karaf_tests121: OK ✔ in 3 minutes 22.81 seconds 07:14:08 build_karaf_tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 07:16:06 build_karaf_tests221: OK ✔ in 5 minutes 15.47 seconds 07:16:06 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 07:16:35 gitlint..................................................................Passed 07:16:35 pre-commit: OK ✔ in 11 minutes 4.77 seconds 07:16:35 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 07:17:25 build_karaf_tests71: OK ✔ in 5 minutes 52.03 seconds 07:17:25 build_karaf_tests190: freeze> python -m pip freeze --all 07:17:25 build_karaf_tests190: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:17:25 build_karaf_tests190: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 07:17:25 build karaf in karafoc with ./karafoc.env 07:17:26 NOTE: Picked up JDK_JAVA_OPTIONS: 07:17:26 --add-opens=java.base/java.io=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.lang=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.net=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.nio=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.nio.file=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.util=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.util.jar=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.util.stream=ALL-UNNAMED 07:17:26 --add-opens=java.base/java.util.zip=ALL-UNNAMED 07:17:26 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 07:17:26 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 07:17:26 -Xlog:disable 07:17:49 sims: freeze> python -m pip freeze --all 07:17:49 sims: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:17:49 sims: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_lightynode.sh 07:17:49 Using lighynode version 22.1.0.6 07:17:49 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory 07:17:50 buildlighty: freeze> python -m pip freeze --all 07:17:50 buildlighty: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:17:50 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh 07:17:50 NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED 07:18:18 sims: OK ✔ in 1 minute 16.76 seconds 07:18:18 buildlighty: OK ✔ in 2 minutes 17.14 seconds 07:18:18 build_karaf_tests190: OK ✔ in 4 minutes 10.06 seconds 07:18:18 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 07:20:30 testsPCE: freeze> python -m pip freeze --all 07:20:30 testsPCE: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,click==8.3.1,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.62.1,gnpy4tpce==2.4.7,idna==3.11,iniconfig==2.3.0,injector==0.24.0,invoke==2.2.1,itsdangerous==2.2.0,Jinja2==3.1.6,kiwisolver==1.5.0,lxml==6.0.2,MarkupSafe==3.0.3,matplotlib==3.10.8,netconf-client==3.5.0,networkx==2.8.8,numpy==1.26.4,packaging==26.0,pandas==1.5.3,paramiko==4.0.0,pbr==5.11.1,pillow==12.1.1,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pyparsing==3.3.2,pytest==9.0.2,python-dateutil==2.9.0.post0,pytz==2026.1.post1,requests==2.32.5,scipy==1.17.1,setuptools==50.3.2,six==1.17.0,urllib3==2.6.3,Werkzeug==2.0.3,xlrd==1.2.0 07:20:30 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce 07:20:30 pytest -q transportpce_tests/pce/test01_pce.py 07:22:03 FFFFFFFFFFFFFFFFFFFF [100%] 07:22:25 =================================== FAILURES =================================== 07:22:25 ________________ TestTransportPCEPce.test_01_load_port_mapping _________________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_01_load_port_mapping(self): 07:22:25 response = test_utils.post_portmapping(self.port_mapping_data) 07:22:25 > self.assertIn(response['status_code'], (requests.codes.created, requests.codes.no_content)) 07:22:25 E AssertionError: 401 not found in (201, 204) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:113: AssertionError 07:22:25 ---------------------------- Captured stdout setup ----------------------------- 07:22:25 sample files content loaded 07:22:25 starting OpenDaylight... 07:22:25 starting KARAF (karaf) TransportPCE build... 07:22:25 Searching for patterns in karaf.log... Pattern found! OpenDaylight started ! 07:22:25 _____________ TestTransportPCEPce.test_02_load_simple_topology_bi ______________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_02_load_simple_topology_bi(self): 07:22:25 response = test_utils.put_ietf_network('openroadm-topology', self.simple_topo_bi_dir_data) 07:22:25 > self.assertIn(response['status_code'], (requests.codes.ok, requests.codes.no_content)) 07:22:25 E AssertionError: 401 not found in (200, 204) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:119: AssertionError 07:22:25 ____________________ TestTransportPCEPce.test_03_get_nodeId ____________________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_03_get_nodeId(self): 07:22:25 response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADMA01-SRG1', 'config') 07:22:25 > self.assertEqual(response['status_code'], requests.codes.ok) 07:22:25 E AssertionError: 401 != 200 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:125: AssertionError 07:22:25 ____________________ TestTransportPCEPce.test_04_get_linkId ____________________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_04_get_linkId(self): 07:22:25 > response = test_utils.get_ietf_network_link_request( 07:22:25 'openroadm-topology', 'XPDRA01-XPDR1-XPDR1-NETWORK1toROADMA01-SRG1-SRG1-PP1-TXRX', 'config') 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:131: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 network = 'openroadm-topology' 07:22:25 link = 'XPDRA01-XPDR1-XPDR1-NETWORK1toROADMA01-SRG1-SRG1-PP1-TXRX' 07:22:25 content = 'config' 07:22:25 07:22:25 def get_ietf_network_link_request(network: str, link: str, content: str): 07:22:25 url = {'rfc8040': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}?content={}', 07:22:25 'draft-bierman02': '{}/{}/ietf-network:networks/network/{}/ietf-network-topology:link/{}'} 07:22:25 if RESTCONF_VERSION in ('rfc8040'): 07:22:25 format_args = ('{}', network, link, content) 07:22:25 elif content == 'config': 07:22:25 format_args = ('{}', content, network, link) 07:22:25 else: 07:22:25 format_args = ('{}', 'operational', network, link) 07:22:25 response = get_request(url[RESTCONF_VERSION].format(*format_args)) 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': 'ietf-network-topology:link', 07:22:25 'draft-bierman02': 'ietf-network-topology:link'} 07:22:25 > link = res[return_key[RESTCONF_VERSION]][0] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'ietf-network-topology:link' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:602: KeyError 07:22:25 _____________ TestTransportPCEPce.test_05_path_computation_xpdr_bi _____________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_05_path_computation_xpdr_bi(self): 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:139: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-a-end': {'clli': 'NodeA', 'node-id': 'XPDRA01', 'service-format': 'Ethernet', 'service-rate': '100'}, 'service-handler-header': {'request-id': 'request1'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 _____________ TestTransportPCEPce.test_06_path_computation_rdm_bi ______________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_06_path_computation_rdm_bi(self): 07:22:25 self.path_computation_input_data["service-a-end"]["node-id"] = "ROADMA01" 07:22:25 self.path_computation_input_data["service-z-end"]["node-id"] = "ROADMC01" 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:151: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-a-end': {'clli': 'NodeA', 'node-id': 'ROADMA01', 'service-format': 'Ethernet', 'service-rate': '100'}, 'service-handler-header': {'request-id': 'request1'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 _____________ TestTransportPCEPce.test_07_load_simple_topology_uni _____________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_07_load_simple_topology_uni(self): 07:22:25 response = test_utils.put_ietf_network('openroadm-topology', self.simple_topo_uni_dir_data) 07:22:25 > self.assertIn(response['status_code'], (requests.codes.ok, requests.codes.no_content)) 07:22:25 E AssertionError: 401 not found in (200, 204) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:162: AssertionError 07:22:25 ____________________ TestTransportPCEPce.test_08_get_nodeId ____________________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_08_get_nodeId(self): 07:22:25 response = test_utils.get_ietf_network_node_request('openroadm-topology', 'XPONDER-1-2', 'config') 07:22:25 > self.assertEqual(response['status_code'], requests.codes.ok) 07:22:25 E AssertionError: 401 != 200 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:168: AssertionError 07:22:25 ____________________ TestTransportPCEPce.test_09_get_linkId ____________________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_09_get_linkId(self): 07:22:25 > response = test_utils.get_ietf_network_link_request( 07:22:25 'openroadm-topology', 'XPONDER-1-2XPDR-NW1-TX-toOpenROADM-1-2-SRG1-SRG1-PP1-RX', 'config') 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:174: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 network = 'openroadm-topology' 07:22:25 link = 'XPONDER-1-2XPDR-NW1-TX-toOpenROADM-1-2-SRG1-SRG1-PP1-RX' 07:22:25 content = 'config' 07:22:25 07:22:25 def get_ietf_network_link_request(network: str, link: str, content: str): 07:22:25 url = {'rfc8040': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}?content={}', 07:22:25 'draft-bierman02': '{}/{}/ietf-network:networks/network/{}/ietf-network-topology:link/{}'} 07:22:25 if RESTCONF_VERSION in ('rfc8040'): 07:22:25 format_args = ('{}', network, link, content) 07:22:25 elif content == 'config': 07:22:25 format_args = ('{}', content, network, link) 07:22:25 else: 07:22:25 format_args = ('{}', 'operational', network, link) 07:22:25 response = get_request(url[RESTCONF_VERSION].format(*format_args)) 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': 'ietf-network-topology:link', 07:22:25 'draft-bierman02': 'ietf-network-topology:link'} 07:22:25 > link = res[return_key[RESTCONF_VERSION]][0] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'ietf-network-topology:link' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:602: KeyError 07:22:25 ____________ TestTransportPCEPce.test_10_path_computation_xpdr_uni _____________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_10_path_computation_xpdr_uni(self): 07:22:25 self.path_computation_input_data["service-a-end"]["node-id"] = "XPONDER-1-2" 07:22:25 self.path_computation_input_data["service-a-end"]["clli"] = "ORANGE1" 07:22:25 self.path_computation_input_data["service-z-end"]["node-id"] = "XPONDER-3-2" 07:22:25 self.path_computation_input_data["service-z-end"]["clli"] = "ORANGE3" 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:186: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-a-end': {'clli': 'ORANGE1', 'node-id': 'XPONDER-1-2', 'service-format': 'Ethernet', 'service-rate': '100'}, 'service-handler-header': {'request-id': 'request1'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 _____________ TestTransportPCEPce.test_11_path_computation_rdm_uni _____________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_11_path_computation_rdm_uni(self): 07:22:25 self.path_computation_input_data["service-a-end"]["node-id"] = "OpenROADM-2-1" 07:22:25 self.path_computation_input_data["service-a-end"]["clli"] = "cll21" 07:22:25 self.path_computation_input_data["service-z-end"]["node-id"] = "OpenROADM-2-2" 07:22:25 self.path_computation_input_data["service-z-end"]["clli"] = "ncli22" 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:200: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-a-end': {'clli': 'cll21', 'node-id': 'OpenROADM-2-1', 'service-format': 'Ethernet', 'service-rate': '100'}, 'service-handler-header': {'request-id': 'request1'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 ______________ TestTransportPCEPce.test_12_load_complex_topology _______________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_12_load_complex_topology(self): 07:22:25 response = test_utils.put_ietf_network('openroadm-topology', self.complex_topo_uni_dir_data) 07:22:25 > self.assertIn(response['status_code'], (requests.codes.ok, requests.codes.no_content)) 07:22:25 E AssertionError: 401 not found in (200, 204) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:223: AssertionError 07:22:25 ____________________ TestTransportPCEPce.test_13_get_nodeId ____________________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_13_get_nodeId(self): 07:22:25 response = test_utils.get_ietf_network_node_request('openroadm-topology', 'XPONDER-3-2', 'config') 07:22:25 > self.assertEqual(response['status_code'], requests.codes.ok) 07:22:25 E AssertionError: 401 != 200 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:229: AssertionError 07:22:25 ______________ TestTransportPCEPce.test_14_fail_path_computation _______________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_14_fail_path_computation(self): 07:22:25 del self.path_computation_input_data["service-name"] 07:22:25 del self.path_computation_input_data["service-a-end"] 07:22:25 del self.path_computation_input_data["service-z-end"] 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:238: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-handler-header': {'request-id': 'request1'}} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 ____________ TestTransportPCEPce.test_15_success1_path_computation _____________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_15_success1_path_computation(self): 07:22:25 self.path_computation_input_data["service-name"] = "service 1" 07:22:25 self.path_computation_input_data["service-a-end"] = {"service-format": "Ethernet", "service-rate": "100", 07:22:25 "clli": "ORANGE2", "node-id": "XPONDER-2-2"} 07:22:25 self.path_computation_input_data["service-z-end"] = {"service-format": "Ethernet", "service-rate": "100", 07:22:25 "clli": "ORANGE1", "node-id": "XPONDER-1-2"} 07:22:25 self.path_computation_input_data["hard-constraints"] = {"customer-code": ["Some customer-code"], 07:22:25 "co-routing": { 07:22:25 "service-identifier-list": [{ 07:22:25 "service-identifier": "Some existing-service"}] 07:22:25 }} 07:22:25 self.path_computation_input_data["soft-constraints"] = {"customer-code": ["Some customer-code"], 07:22:25 "co-routing": { 07:22:25 "service-identifier-list": [{ 07:22:25 "service-identifier": "Some existing-service"}] 07:22:25 }} 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:263: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'hard-constraints': {'co-routing': {'service-identifier-list': [{'service-identifier': 'Some existing-service'}]}, 'c...ervice-a-end': {'clli': 'ORANGE2', 'node-id': 'XPONDER-2-2', 'service-format': 'Ethernet', 'service-rate': '100'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 ____________ TestTransportPCEPce.test_16_success2_path_computation _____________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_16_success2_path_computation(self): 07:22:25 self.path_computation_input_data["service-a-end"]["node-id"] = "XPONDER-1-2" 07:22:25 self.path_computation_input_data["service-a-end"]["clli"] = "ORANGE1" 07:22:25 self.path_computation_input_data["service-z-end"]["node-id"] = "XPONDER-3-2" 07:22:25 self.path_computation_input_data["service-z-end"]["clli"] = "ORANGE3" 07:22:25 del self.path_computation_input_data["hard-constraints"] 07:22:25 del self.path_computation_input_data["soft-constraints"] 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:280: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-a-end': {'clli': 'ORANGE1', 'node-id': 'XPONDER-1-2', 'service-format': 'Ethernet', 'service-rate': '100'}, 'service-handler-header': {'request-id': 'request1'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 ____________ TestTransportPCEPce.test_17_success3_path_computation _____________ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_17_success3_path_computation(self): 07:22:25 self.path_computation_input_data["hard-constraints"] = {"exclude": 07:22:25 {"node-id": ["OpenROADM-2-1", "OpenROADM-2-2"]}} 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:296: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'hard-constraints': {'exclude': {'node-id': ['OpenROADM-2-1', 'OpenROADM-2-2']}}, 'pce-routing-metric': 'hop-count', ...ervice-a-end': {'clli': 'ORANGE1', 'node-id': 'XPONDER-1-2', 'service-format': 'Ethernet', 'service-rate': '100'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 __ TestTransportPCEPce.test_18_path_computation_before_oms_attribute_deletion __ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_18_path_computation_before_oms_attribute_deletion(self): 07:22:25 self.path_computation_input_data["service-a-end"]["node-id"] = "XPONDER-2-2" 07:22:25 self.path_computation_input_data["service-a-end"]["clli"] = "ORANGE2" 07:22:25 self.path_computation_input_data["service-z-end"]["node-id"] = "XPONDER-1-2" 07:22:25 self.path_computation_input_data["service-z-end"]["clli"] = "ORANGE1" 07:22:25 del self.path_computation_input_data["hard-constraints"] 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:315: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-a-end': {'clli': 'ORANGE2', 'node-id': 'XPONDER-2-2', 'service-format': 'Ethernet', 'service-rate': '100'}, 'service-handler-header': {'request-id': 'request1'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 _ TestTransportPCEPce.test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link _ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link(self): 07:22:25 response = test_utils.del_oms_attr_request("OpenROADM-1-3-DEG2-to-OpenROADM-1-2-DEG2") 07:22:25 > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) 07:22:25 E AssertionError: 401 not found in (200, 204) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:337: AssertionError 07:22:25 __ TestTransportPCEPce.test_20_path_computation_after_oms_attribute_deletion ___ 07:22:25 07:22:25 self = 07:22:25 07:22:25 def test_20_path_computation_after_oms_attribute_deletion(self): 07:22:25 > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 07:22:25 'path-computation-request', 07:22:25 self.path_computation_input_data) 07:22:25 07:22:25 transportpce_tests/pce/test01_pce.py:342: 07:22:25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:22:25 07:22:25 api_module = 'transportpce-pce', rpc = 'path-computation-request' 07:22:25 payload = {'pce-routing-metric': 'hop-count', 'resource-reserve': 'true', 'service-a-end': {'clli': 'ORANGE2', 'node-id': 'XPONDER-2-2', 'service-format': 'Ethernet', 'service-rate': '100'}, 'service-handler-header': {'request-id': 'request1'}, ...} 07:22:25 07:22:25 def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): 07:22:25 # pylint: disable=consider-using-f-string 07:22:25 url = "{}/operations/{}:{}".format('{}', api_module, rpc) 07:22:25 if payload is None: 07:22:25 data = None 07:22:25 elif RESTCONF_VERSION == 'draft-bierman02': 07:22:25 data = prepend_dict_keys({'input': payload}, api_module + ':') 07:22:25 else: 07:22:25 data = {'input': payload} 07:22:25 response = post_request(url, data) 07:22:25 if response.status_code == requests.codes.no_content: 07:22:25 return_output = None 07:22:25 else: 07:22:25 res = response.json() 07:22:25 return_key = {'rfc8040': api_module + ':output', 07:22:25 'draft-bierman02': 'output'} 07:22:25 if response.status_code == requests.codes.internal_server_error: 07:22:25 return_output = res 07:22:25 else: 07:22:25 > return_output = res[return_key[RESTCONF_VERSION]] 07:22:25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 07:22:25 E KeyError: 'transportpce-pce:output' 07:22:25 07:22:25 transportpce_tests/common/test_utils.py:761: KeyError 07:22:25 --------------------------- Captured stdout teardown --------------------------- 07:22:25 all processes killed 07:22:25 ODL log file stored 07:22:25 =========================== short test summary info ============================ 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_01_load_port_mapping 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_02_load_simple_topology_bi 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_03_get_nodeId 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_04_get_linkId 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_05_path_computation_xpdr_bi 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_06_path_computation_rdm_bi 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_07_load_simple_topology_uni 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_08_get_nodeId 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_09_get_linkId 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_10_path_computation_xpdr_uni 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_11_path_computation_rdm_uni 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_12_load_complex_topology 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_13_get_nodeId 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_14_fail_path_computation 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_15_success1_path_computation 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_16_success2_path_computation 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_17_success3_path_computation 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_18_path_computation_before_oms_attribute_deletion 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link 07:22:25 FAILED transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_20_path_computation_after_oms_attribute_deletion 07:22:25 20 failed in 114.55s (0:01:54) 07:22:25 testsPCE: exit 1 (114.94 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pid=5336 07:22:26 testsPCE: FAIL ✖ in 4 minutes 7.71 seconds 07:22:26 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 07:22:26 tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 07:22:28 tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 07:22:55 tests121: freeze> python -m pip freeze --all 07:22:55 tests_tapi: freeze> python -m pip freeze --all 07:22:55 tests190: freeze> python -m pip freeze --all 07:22:55 tests121: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:22:55 tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 1.2.1 07:22:55 using environment variables from ./karaf121.env 07:22:55 pytest -q transportpce_tests/1.2.1/test01_portmapping.py 07:22:55 tests_tapi: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:22:55 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi 07:22:55 using environment variables from ./karaf221.env 07:22:55 pytest -q transportpce_tests/tapi/test01_abstracted_topology.py 07:22:55 tests190: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:22:55 tests190: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc 07:22:55 using environment variables from ./karafoc.env 07:22:55 pytest -q transportpce_tests/oc/test01_portmapping.py 07:24:12 FF.....................................FFFFFFFFFF.FFF.................F [100%] 07:30:26 =================================== FAILURES =================================== 07:30:26 ___________ TestTransportPCEPortmapping.test_01_meta_data_insertion ____________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_01_meta_data_insertion(self): 07:30:26 response = test_utils_oc.metadata_input() 07:30:26 > self.assertEqual(response.status_code, requests.codes.created, 07:30:26 test_utils.CODE_SHOULD_BE_201) 07:30:26 E AssertionError: 401 != 201 : Http status code should be 201 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:48: AssertionError 07:30:26 ---------------------------- Captured stdout setup ----------------------------- 07:30:26 starting OpenDaylight... 07:30:26 starting KARAF (karafoc) TransportPCE build... 07:30:26 Searching for patterns in karaf.log... Pattern found! OpenDaylight started ! 07:30:26 starting simulator oc-mpdr in OpenROADM device version oc... 07:30:26 Searching for patterns in sample-openconfig-mpdr.log... Pattern found! simulator for oc-mpdr started 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_01_meta_data_insertion 07:30:26 __________ TestTransportPCEPortmapping.test_02_catlog_input_insertion __________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_02_catlog_input_insertion(self): 07:30:26 response = test_utils_oc.catlog_input() 07:30:26 > self.assertEqual(response.status_code, requests.codes.ok, 07:30:26 test_utils.CODE_SHOULD_BE_200) 07:30:26 E AssertionError: 401 != 200 : Http status code should be 200 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:53: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_02_catlog_input_insertion 07:30:26 __________ TestTransportPCEPortmapping.test_03_xpdr_device_connection __________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_03_xpdr_device_connection(self): 07:30:26 response = test_utils.mount_device("XPDR-OC", 07:30:26 ('oc-mpdr', self.NODE_VERSION)) 07:30:26 > self.assertEqual(response.status_code, requests.codes.created, 07:30:26 test_utils.CODE_SHOULD_BE_201) 07:30:26 E AssertionError: 401 != 201 : Http status code should be 201 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:59: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_03_xpdr_device_connection 07:30:26 Searching for patterns in karaf.log... Pattern not found after 180 seconds! Node XPDR-OC still not added to tpce topology... 07:30:26 __________ TestTransportPCEPortmapping.test_04_xpdr_device_connected ___________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_04_xpdr_device_connected(self): 07:30:26 response = test_utils.check_device_connection("XPDR-OC") 07:30:26 > self.assertEqual(response['status_code'], requests.codes.ok) 07:30:26 E AssertionError: 409 != 200 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:64: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_04_xpdr_device_connected 07:30:26 __________ TestTransportPCEPortmapping.test_05_xpdr_portmapping_info ___________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_05_xpdr_portmapping_info(self): 07:30:26 response = test_utils.get_portmapping_node_attr("XPDR-OC", "node-info", None) 07:30:26 > self.assertEqual(response['status_code'], requests.codes.ok) 07:30:26 E AssertionError: 409 != 200 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:69: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_05_xpdr_portmapping_info 07:30:26 ________ TestTransportPCEPortmapping.test_06_mpdr_portmapping_NETWORK5 _________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_06_mpdr_portmapping_NETWORK5(self): 07:30:26 response = test_utils.get_portmapping_node_attr("XPDR-OC", "mapping", "XPDR1-NETWORK5") 07:30:26 > self.assertEqual(response['status_code'], requests.codes.ok) 07:30:26 E AssertionError: 409 != 200 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:82: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_06_mpdr_portmapping_NETWORK5 07:30:26 _________ TestTransportPCEPortmapping.test_07_mpdr_portmapping_CLIENT1 _________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_07_mpdr_portmapping_CLIENT1(self): 07:30:26 response = test_utils.get_portmapping_node_attr("XPDR-OC", "mapping", "XPDR1-CLIENT1") 07:30:26 > self.assertEqual(response['status_code'], requests.codes.ok) 07:30:26 E AssertionError: 409 != 200 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:105: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_07_mpdr_portmapping_CLIENT1 07:30:26 ___________ TestTransportPCEPortmapping.test_08_mpdr_switching_pool ____________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_08_mpdr_switching_pool(self): 07:30:26 response = test_utils.get_portmapping_node_attr("XPDR-OC", "switching-pool-lcp", "1") 07:30:26 > self.assertEqual(response['status_code'], requests.codes.ok) 07:30:26 E AssertionError: 409 != 200 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:132: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_08_mpdr_switching_pool 07:30:26 ____________ TestTransportPCEPortmapping.test_09_check_mccapprofile ____________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_09_check_mccapprofile(self): 07:30:26 res = test_utils.get_portmapping_node_attr("XPDR-OC", "mc-capabilities", "XPDR-mcprofile") 07:30:26 > self.assertEqual(res['status_code'], requests.codes.ok) 07:30:26 E AssertionError: 409 != 200 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:149: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_09_check_mccapprofile 07:30:26 ________ TestTransportPCEPortmapping.test_10_xpdr_device_disconnection _________ 07:30:26 07:30:26 self = 07:30:26 07:30:26 def test_10_xpdr_device_disconnection(self): 07:30:26 response = test_utils.unmount_device("XPDR-OC") 07:30:26 > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) 07:30:26 E AssertionError: 409 not found in (200, 204) 07:30:26 07:30:26 transportpce_tests/oc/test01_portmapping.py:156: AssertionError 07:30:26 ----------------------------- Captured stdout call ----------------------------- 07:30:26 execution of test_10_xpdr_device_disconnection 07:30:26 Searching for patterns in karaf.log... Pattern not found after 180 seconds! Node XPDR-OC still not deleted from tpce topology... 07:30:26 --------------------------- Captured stdout teardown --------------------------- 07:30:26 all processes killed 07:30:26 ODL log file stored 07:30:26 =========================== short test summary info ============================ 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_01_meta_data_insertion 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_02_catlog_input_insertion 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_03_xpdr_device_connection 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_04_xpdr_device_connected 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_05_xpdr_portmapping_info 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_06_mpdr_portmapping_NETWORK5 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_07_mpdr_portmapping_CLIENT1 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_08_mpdr_switching_pool 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_09_check_mccapprofile 07:30:26 FAILED transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_device_disconnection 07:30:26 10 failed in 450.20s (0:07:30) 07:30:26 tests190: exit 1 (450.61 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc pid=6085 07:30:26 tests190: FAIL ✖ in 8 minutes 0.95 seconds 07:30:26 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 07:30:39 tests71: freeze> python -m pip freeze --all 07:30:39 tests71: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:30:39 tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 07:30:39 using environment variables from ./karaf71.env 07:30:39 pytest -q transportpce_tests/7.1/test01_portmapping.py 07:30:51 .....F.. [100%] 07:31:07 =================================== FAILURES =================================== 07:31:07 __________ TestTransportPCEPortmapping.test_01_rdm_device_connection ___________ 07:31:07 07:31:07 self = 07:31:07 07:31:07 def test_01_rdm_device_connection(self): 07:31:07 response = test_utils.mount_device("ROADMA01", ('roadma', self.NODE_VERSION)) 07:31:07 > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) 07:31:07 E AssertionError: 401 != 201 : Http status code should be 201 07:31:07 07:31:07 transportpce_tests/1.2.1/test01_portmapping.py:51: AssertionError 07:31:07 ---------------------------- Captured stdout setup ----------------------------- 07:31:07 starting OpenDaylight... 07:31:07 starting KARAF (karaf121) TransportPCE build... 07:31:07 Searching for patterns in karaf.log... Pattern found! OpenDaylight started ! 07:31:07 starting simulator xpdra in OpenROADM device version 1.2.1... 07:31:07 Searching for patterns in xpdra-121.log... Pattern found! simulator for xpdra started 07:31:07 starting simulator roadma in OpenROADM device version 1.2.1... 07:31:07 Searching for patterns in roadma-121.log... Pattern found! simulator for roadma started 07:31:07 ----------------------------- Captured stdout call ----------------------------- 07:31:07 execution of test_01_rdm_device_connection 07:31:07 Searching for patterns in karaf.log... Pattern not found after 180 seconds! Node ROADMA01 still not added to tpce topology... 07:31:07 ___________ TestTransportPCEPortmapping.test_02_rdm_device_connected ___________ 07:31:07 07:31:07 self = 07:31:07 07:31:07 def test_02_rdm_device_connected(self): 07:31:07 response = test_utils.check_device_connection("ROADMA01") 07:31:07 > self.assertEqual(response['status_code'], requests.codes.ok) 07:31:07 E AssertionError: 409 != 200 07:31:07 07:31:07 transportpce_tests/1.2.1/test01_portmapping.py:55: AssertionError 07:31:07 ----------------------------- Captured stdout call ----------------------------- 07:31:07 execution of test_02_rdm_device_connected 07:31:07 ___________ TestTransportPCEPortmapping.test_03_rdm_portmapping_info ___________ 07:31:07 07:31:07 self = 07:31:07 07:31:07 def test_03_rdm_portmapping_info(self): 07:31:07 response = test_utils.get_portmapping_node_attr("ROADMA01", "node-info", None) 07:31:07 > self.assertEqual(response['status_code'], requests.codes.ok) 07:31:07 E AssertionError: 409 != 200 07:31:07 07:31:07 transportpce_tests/1.2.1/test01_portmapping.py:61: AssertionError 07:31:07 ----------------------------- Captured stdout call ----------------------------- 07:31:07 execution of test_03_rdm_portmapping_info 07:31:07 ______ TestTransportPCEPortmapping.test_04_rdm_portmapping_DEG1_TTP_TXRX _______ 07:31:07 07:31:07 self = 07:31:07 07:31:07 def test_04_rdm_portmapping_DEG1_TTP_TXRX(self): 07:31:07 response = test_utils.get_portmapping_node_attr("ROADMA01", "mapping", "DEG1-TTP-TXRX") 07:31:07 > self.assertEqual(response['status_code'], requests.codes.ok) 07:31:07 E AssertionError: 409 != 200 07:31:07 07:31:07 transportpce_tests/1.2.1/test01_portmapping.py:74: AssertionError 07:31:07 ----------------------------- Captured stdout call ----------------------------- 07:31:07 execution of test_04_rdm_portmapping_DEG1_TTP_TXRX 07:31:07 ______ TestTransportPCEPortmapping.test_05_rdm_portmapping_SRG1_PP7_TXRX _______ 07:31:07 07:31:07 self = 07:31:07 07:31:07 def test_05_rdm_portmapping_SRG1_PP7_TXRX(self): 07:31:07 response = test_utils.get_portmapping_node_attr("ROADMA01", "mapping", "SRG1-PP7-TXRX") 07:31:07 > self.assertEqual(response['status_code'], requests.codes.ok) 07:31:07 E AssertionError: 409 != 200 07:31:07 07:31:07 transportpce_tests/1.2.1/test01_portmapping.py:83: AssertionError 07:31:07 ----------------------------- Captured stdout call ----------------------------- 07:31:07 execution of test_05_rdm_portmapping_SRG1_PP7_TXRX 07:31:07 ______ TestTransportPCEPortmapping.test_06_rdm_portmapping_SRG3_PP1_TXRX _______ 07:31:07 07:31:07 self = 07:31:07 07:31:07 def test_06_rdm_portmapping_SRG3_PP1_TXRX(self): 07:31:07 response = test_utils.get_portmapping_node_attr("ROADMA01", "mapping", "SRG3-PP1-TXRX") 07:31:07 > self.assertEqual(response['status_code'], requests.codes.ok) 07:31:07 E AssertionError: 409 != 200 07:31:07 07:31:07 transportpce_tests/1.2.1/test01_portmapping.py:92: AssertionError 07:31:07 ----------------------------- Captured stdout call ----------------------------- 07:31:07 execution of test_06_rdm_portmapping_SRG3_PP1_TXRX 07:31:07 _________ TestTransportPCEPortmapping.test_19_rdm_device_disconnection _________ 07:31:07 07:31:07 self = 07:31:07 07:31:07 def test_19_rdm_device_disconnection(self): 07:31:07 response = test_utils.unmount_device("ROADMA01") 07:31:07 > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) 07:31:07 E AssertionError: 409 not found in (200, 204) 07:31:07 07:31:07 transportpce_tests/1.2.1/test01_portmapping.py:214: AssertionError 07:31:07 ----------------------------- Captured stdout call ----------------------------- 07:31:07 execution of test_19_rdm_device_disconnection 07:31:07 Searching for patterns in karaf.log... Pattern not found after 180 seconds! Node ROADMA01 still not deleted from tpce topology... 07:31:07 =========================== short test summary info ============================ 07:31:07 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_01_rdm_device_connection 07:31:07 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_02_rdm_device_connected 07:31:07 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_03_rdm_portmapping_info 07:31:07 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_04_rdm_portmapping_DEG1_TTP_TXRX 07:31:07 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_05_rdm_portmapping_SRG1_PP7_TXRX 07:31:07 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_06_rdm_portmapping_SRG3_PP1_TXRX 07:31:07 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_19_rdm_device_disconnection 07:31:07 7 failed, 14 passed in 491.51s (0:08:11) 07:31:07 tests121: exit 1 (491.97 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 1.2.1 pid=6063 07:31:39 ............ [100%] 07:31:54 12 passed in 74.65s (0:01:14) 07:31:54 pytest -q transportpce_tests/7.1/test02_otn_renderer.py 07:32:27 ................................................................ [100%] 07:34:38 62 passed in 163.82s (0:02:43) 07:34:38 pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py 07:35:04 . [100%] 07:35:08 51 passed in 732.32s (0:12:12) 07:35:08 pytest -q transportpce_tests/tapi/test02_full_topology.py 07:35:17 ............................................................... [100%] 07:37:05 48 passed in 146.28s (0:02:26) 07:37:05 pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py 07:37:26 ............................. [100%] 07:38:24 22 passed in 78.43s (0:01:18) 07:38:42 .............. [100%] 07:40:49 36 passed in 340.67s (0:05:40) 07:40:49 pytest -q transportpce_tests/tapi/test03_tapi_device_change_notifications.py 07:41:43 ...................................................F......F............ [100%] 07:46:15 =================================== FAILURES =================================== 07:46:15 _ TestTransportPCEDeviceChangeNotifications.test_52_check_update_tapi_neps_ok __ 07:46:15 07:46:15 self = 07:46:15 07:46:15 def test_52_check_update_tapi_neps_ok(self): 07:46:15 > self.test_38_check_update_tapi_neps_ok() 07:46:15 07:46:15 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:820: 07:46:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 07:46:15 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:669: in test_38_check_update_tapi_neps_ok 07:46:15 self.assertEqual(nep['operational-state'], 'ENABLED', 07:46:15 E AssertionError: 'DISABLED' != 'ENABLED' 07:46:15 E - DISABLED 07:46:15 E + ENABLED 07:46:15 E : Operational State should be 'ENABLED' 07:46:15 ----------------------------- Captured stdout call ----------------------------- 07:46:15 execution of test_52_check_update_tapi_neps_ok 07:46:15 ___ TestTransportPCEDeviceChangeNotifications.test_59_check_update_tapi_neps ___ 07:46:15 07:46:15 self = 07:46:15 07:46:15 def test_59_check_update_tapi_neps(self): 07:46:15 self.node_details["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID 07:46:15 # self.node_details["node-id"] = uuid.UUID(bytes="ROADM-A1+PHOTONIC_MEDIA".bytes) 07:46:15 self.node_details["node-id"] = "3b726367-6f2d-3e3f-9033-d99b61459075" 07:46:15 response = test_utils.transportpce_api_rpc_request( 07:46:15 'tapi-topology', 'get-node-details', self.node_details) 07:46:15 self.assertEqual(response['status_code'], requests.codes.ok) 07:46:15 nep_list = response['output']['node']['owned-node-edge-point'] 07:46:15 nb_updated_neps = 0 07:46:15 for nep in nep_list: 07:46:15 if 'SRG1-PP2-TXRX' in nep['name'][0]['value']: 07:46:15 self.assertEqual(nep['operational-state'], 'DISABLED', 07:46:15 "Operational State should be 'DISABLED'") 07:46:15 self.assertEqual(nep['administrative-state'], 'LOCKED', 07:46:15 "Administrative State should be 'LOCKED'") 07:46:15 nb_updated_neps += 1 07:46:15 else: 07:46:15 > self.assertEqual(nep['operational-state'], 'ENABLED', 07:46:15 "Operational State should be 'ENABLED'") 07:46:15 E AssertionError: 'DISABLED' != 'ENABLED' 07:46:15 E - DISABLED 07:46:15 E + ENABLED 07:46:15 E : Operational State should be 'ENABLED' 07:46:15 07:46:15 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:907: AssertionError 07:46:15 ----------------------------- Captured stdout call ----------------------------- 07:46:15 execution of test_59_check_update_tapi_neps 07:46:15 =========================== short test summary info ============================ 07:46:15 FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_52_check_update_tapi_neps_ok 07:46:15 FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_59_check_update_tapi_neps 07:46:15 2 failed, 69 passed in 325.09s (0:05:25) 07:46:15 tests121: FAIL ✖ in 8 minutes 42.16 seconds 07:46:15 tests71: OK ✔ in 7 minutes 57.54 seconds 07:46:15 tests_tapi: exit 1 (1399.18 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi pid=6074 07:46:15 tests_tapi: FAIL ✖ in 23 minutes 49.47 seconds 07:46:15 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 07:46:21 tests221: freeze> python -m pip freeze --all 07:46:21 tests221: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.0,urllib3==2.6.3 07:46:21 tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 07:46:21 using environment variables from ./karaf221.env 07:46:21 pytest -q transportpce_tests/2.2.1/test01_portmapping.py 07:47:01 ................................... [100%] 07:47:42 35 passed in 80.01s (0:01:20) 07:47:42 pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py 07:48:17 ...... [100%] 07:48:31 6 passed in 49.17s 07:48:31 pytest -q transportpce_tests/2.2.1/test03_topology.py 07:49:19 ............................................ [100%] 07:50:55 44 passed in 143.03s (0:02:23) 07:50:55 pytest -q transportpce_tests/2.2.1/test04_otn_topology.py 07:51:34 ............ [100%] 07:51:58 12 passed in 62.88s (0:01:02) 07:51:58 pytest -q transportpce_tests/2.2.1/test05_flex_grid.py 07:52:27 ................ [100%] 07:53:56 16 passed in 117.97s (0:01:57) 07:53:56 pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py 07:54:31 ............................... [100%] 07:54:38 31 passed in 40.98s 07:54:38 pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py 07:55:17 .......................... [100%] 07:56:13 26 passed in 95.20s (0:01:35) 07:56:13 pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py 07:56:55 ...................... [100%] 07:57:59 22 passed in 105.51s (0:01:45) 07:57:59 pytest -q transportpce_tests/2.2.1/test09_olm.py 07:58:45 ........................................ [100%] 08:01:12 40 passed in 192.49s (0:03:12) 08:01:12 pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py 08:02:01 ........................................................................ [ 74%] 08:07:39 ......................... [100%] 08:09:30 97 passed in 498.03s (0:08:18) 08:09:31 pytest -q transportpce_tests/2.2.1/test12_end2end.py 08:10:14 ...................................................... [100%] 08:20:03 54 passed in 631.65s (0:10:31) 08:20:03 pytest -q transportpce_tests/2.2.1/test14_otn_switch_end2end.py 08:21:03 ........................................................................ [ 71%] 08:26:13 ............................. [100%] 08:28:22 101 passed in 499.37s (0:08:19) 08:28:22 pytest -q transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py 08:29:23 ........................................................................ [ 67%] 08:35:11 ................................... [100%] 08:38:32 107 passed in 609.65s (0:10:09) 08:38:32 pytest -q transportpce_tests/2.2.1/test16_freq_end2end.py 08:39:20 ............................................. [100%] 08:41:59 45 passed in 206.32s (0:03:26) 08:41:59 tests221: OK ✔ in 55 minutes 44.42 seconds 08:41:59 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 08:42:07 tests_hybrid: freeze> python -m pip freeze --all 08:42:07 tests_hybrid: bcrypt==5.0.0,certifi==2026.2.25,cffi==2.0.0,charset-normalizer==3.4.6,cryptography==46.0.5,dict2xml==1.7.8,idna==3.11,iniconfig==2.3.0,invoke==2.2.1,lxml==6.0.2,netconf-client==3.5.0,packaging==26.0,paramiko==4.0.0,pip==26.0.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pytest==9.0.2,requests==2.32.5,setuptools==82.0.1,urllib3==2.6.3 08:42:07 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid 08:42:07 using environment variables from ./karaf221.env 08:42:07 pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py 08:42:55 ................................................... [100%] 08:44:43 51 passed in 155.24s (0:02:35) 08:44:43 pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py 08:45:33 ........................................................................ [ 66%] 08:49:54 ..................................... [100%] 08:55:01 109 passed in 617.17s (0:10:17) 08:55:01 pytest -q transportpce_tests/hybrid/test03_autonomous_reroute.py 08:55:54 ..................................................... [100%] 08:59:28 53 passed in 267.29s (0:04:27) 08:59:28 buildcontroller: OK (318.17=setup[50.96]+cmd[267.22] seconds) 08:59:28 sims: OK (76.76=setup[74.37]+cmd[2.39] seconds) 08:59:28 build_karaf_tests121: OK (202.81=setup[110.86]+cmd[91.94] seconds) 08:59:28 testsPCE: FAIL code 1 (247.71=setup[132.77]+cmd[114.94] seconds) 08:59:28 tests121: FAIL code 1 (522.16=setup[30.18]+cmd[491.97] seconds) 08:59:28 build_karaf_tests221: OK (315.47=setup[112.32]+cmd[203.15] seconds) 08:59:28 tests_tapi: FAIL code 1 (1429.47=setup[30.29]+cmd[1399.18] seconds) 08:59:28 tests221: OK (3344.42=setup[6.86]+cmd[3337.56] seconds) 08:59:28 build_karaf_tests71: OK (352.03=setup[113.08]+cmd[238.95] seconds) 08:59:28 tests71: OK (477.54=setup[12.76]+cmd[464.78] seconds) 08:59:28 build_karaf_tests190: OK (250.06=setup[197.82]+cmd[52.24] seconds) 08:59:28 tests190: FAIL code 1 (480.95=setup[30.34]+cmd[450.61] seconds) 08:59:28 tests_hybrid: OK (1049.28=setup[8.38]+cmd[1040.90] seconds) 08:59:28 buildlighty: OK (137.14=setup[109.95]+cmd[27.19] seconds) 08:59:28 docs: OK (232.99=setup[226.08]+cmd[6.91] seconds) 08:59:28 docs-linkcheck: OK (228.94=setup[214.80]+cmd[14.13] seconds) 08:59:28 checkbashisms: OK (3.61=setup[2.24]+cmd[0.00,0.06,1.30] seconds) 08:59:28 pre-commit: OK (664.76=setup[13.05]+cmd[0.00,0.00,408.51,243.20] seconds) 08:59:28 pylint: OK (51.55=setup[23.45]+cmd[28.09] seconds) 08:59:28 evaluation failed :( (6841.98 seconds) 08:59:28 + tox_status=1 08:59:28 + echo '---> Completed tox runs' 08:59:28 ---> Completed tox runs 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/build_karaf_tests121/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=build_karaf_tests121 08:59:28 + cp -r .tox/build_karaf_tests121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests121 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/build_karaf_tests190/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=build_karaf_tests190 08:59:28 + cp -r .tox/build_karaf_tests190/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests190 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/build_karaf_tests221/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=build_karaf_tests221 08:59:28 + cp -r .tox/build_karaf_tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests221 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/build_karaf_tests71/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=build_karaf_tests71 08:59:28 + cp -r .tox/build_karaf_tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests71 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/buildcontroller/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=buildcontroller 08:59:28 + cp -r .tox/buildcontroller/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildcontroller 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/buildlighty/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=buildlighty 08:59:28 + cp -r .tox/buildlighty/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildlighty 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/checkbashisms/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=checkbashisms 08:59:28 + cp -r .tox/checkbashisms/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/checkbashisms 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/docs-linkcheck/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=docs-linkcheck 08:59:28 + cp -r .tox/docs-linkcheck/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs-linkcheck 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/docs/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=docs 08:59:28 + cp -r .tox/docs/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/pre-commit/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=pre-commit 08:59:28 + cp -r .tox/pre-commit/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pre-commit 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/pylint/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=pylint 08:59:28 + cp -r .tox/pylint/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pylint 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/sims/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=sims 08:59:28 + cp -r .tox/sims/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/sims 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/tests121/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=tests121 08:59:28 + cp -r .tox/tests121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests121 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/tests190/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:28 + tox_env=tests190 08:59:28 + cp -r .tox/tests190/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests190 08:59:28 + for i in .tox/*/log 08:59:28 ++ echo .tox/tests221/log 08:59:28 ++ awk -F/ '{print $2}' 08:59:29 + tox_env=tests221 08:59:29 + cp -r .tox/tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests221 08:59:29 + for i in .tox/*/log 08:59:29 ++ echo .tox/tests71/log 08:59:29 ++ awk -F/ '{print $2}' 08:59:29 + tox_env=tests71 08:59:29 + cp -r .tox/tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests71 08:59:29 + for i in .tox/*/log 08:59:29 ++ echo .tox/testsPCE/log 08:59:29 ++ awk -F/ '{print $2}' 08:59:29 + tox_env=testsPCE 08:59:29 + cp -r .tox/testsPCE/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/testsPCE 08:59:29 + for i in .tox/*/log 08:59:29 ++ echo .tox/tests_hybrid/log 08:59:29 ++ awk -F/ '{print $2}' 08:59:29 + tox_env=tests_hybrid 08:59:29 + cp -r .tox/tests_hybrid/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_hybrid 08:59:29 + for i in .tox/*/log 08:59:29 ++ echo .tox/tests_tapi/log 08:59:29 ++ awk -F/ '{print $2}' 08:59:29 + tox_env=tests_tapi 08:59:29 + cp -r .tox/tests_tapi/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_tapi 08:59:29 + DOC_DIR=docs/_build/html 08:59:29 + [[ -d docs/_build/html ]] 08:59:29 + echo '---> Archiving generated docs' 08:59:29 ---> Archiving generated docs 08:59:29 + mv docs/_build/html /w/workspace/transportpce-tox-verify-transportpce-master/archives/docs 08:59:29 + echo '---> tox-run.sh ends' 08:59:29 ---> tox-run.sh ends 08:59:29 + test 1 -eq 0 08:59:29 + exit 1 08:59:29 ++ '[' 1 = 1 ']' 08:59:29 ++ '[' -x /usr/bin/clear_console ']' 08:59:29 ++ /usr/bin/clear_console -q 08:59:29 Build step 'Execute shell' marked build as failure 08:59:29 $ ssh-agent -k 08:59:29 unset SSH_AUTH_SOCK; 08:59:29 unset SSH_AGENT_PID; 08:59:29 echo Agent pid 1556 killed; 08:59:29 [ssh-agent] Stopped. 08:59:29 [PostBuildScript] - [INFO] Executing post build scripts. 08:59:29 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins5149654817471790284.sh 08:59:29 ---> sysstat.sh 08:59:30 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins5377776235521401890.sh 08:59:30 ---> package-listing.sh 08:59:30 ++ facter osfamily 08:59:30 ++ tr '[:upper:]' '[:lower:]' 08:59:30 + OS_FAMILY=debian 08:59:30 + workspace=/w/workspace/transportpce-tox-verify-transportpce-master 08:59:30 + START_PACKAGES=/tmp/packages_start.txt 08:59:30 + END_PACKAGES=/tmp/packages_end.txt 08:59:30 + DIFF_PACKAGES=/tmp/packages_diff.txt 08:59:30 + PACKAGES=/tmp/packages_start.txt 08:59:30 + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' 08:59:30 + PACKAGES=/tmp/packages_end.txt 08:59:30 + case "${OS_FAMILY}" in 08:59:30 + dpkg -l 08:59:30 + grep '^ii' 08:59:30 + '[' -f /tmp/packages_start.txt ']' 08:59:30 + '[' -f /tmp/packages_end.txt ']' 08:59:30 + diff /tmp/packages_start.txt /tmp/packages_end.txt 08:59:30 + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' 08:59:30 + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/ 08:59:30 + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/transportpce-tox-verify-transportpce-master/archives/ 08:59:30 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins1773639629316972296.sh 08:59:30 ---> capture-instance-metadata.sh 08:59:30 Setup pyenv: 08:59:30 system 08:59:30 3.8.20 08:59:30 3.9.20 08:59:30 3.10.15 08:59:30 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 08:59:30 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-O82e from file:/tmp/.os_lf_venv 08:59:30 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 08:59:30 lf-activate-venv(): INFO: Attempting to install with network-safe options... 08:59:33 lf-activate-venv(): INFO: Base packages installed successfully 08:59:33 lf-activate-venv(): INFO: Installing additional packages: lftools 08:59:45 lf-activate-venv(): INFO: Adding /tmp/venv-O82e/bin to PATH 08:59:45 INFO: Running in OpenStack, capturing instance metadata 08:59:46 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins4460954304409919842.sh 08:59:46 provisioning config files... 08:59:47 Could not find credentials [logs] for transportpce-tox-verify-transportpce-master #4860 08:59:47 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/transportpce-tox-verify-transportpce-master@tmp/config11040110792252588209tmp 08:59:47 Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] 08:59:47 Run condition [Regular expression match] enabling perform for step [Provide Configuration files] 08:59:47 provisioning config files... 08:59:47 copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials 08:59:47 [EnvInject] - Injecting environment variables from a build step. 08:59:47 [EnvInject] - Injecting as environment variables the properties content 08:59:47 SERVER_ID=logs 08:59:47 08:59:47 [EnvInject] - Variables injected successfully. 08:59:47 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins12154509434008573957.sh 08:59:47 ---> create-netrc.sh 08:59:47 WARN: Log server credential not found. 08:59:47 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins15371908556031464972.sh 08:59:47 ---> python-tools-install.sh 08:59:47 Setup pyenv: 08:59:47 system 08:59:47 3.8.20 08:59:47 3.9.20 08:59:47 3.10.15 08:59:47 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 08:59:47 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-O82e from file:/tmp/.os_lf_venv 08:59:47 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 08:59:47 lf-activate-venv(): INFO: Attempting to install with network-safe options... 08:59:49 lf-activate-venv(): INFO: Base packages installed successfully 08:59:49 lf-activate-venv(): INFO: Installing additional packages: lftools 09:00:02 lf-activate-venv(): INFO: Adding /tmp/venv-O82e/bin to PATH 09:00:02 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins14413473542143054531.sh 09:00:02 ---> uv-install.sh 09:00:02 uv 0.11.1 is already installed 09:00:02 uvx 0.11.1 (x86_64-unknown-linux-gnu) 09:00:02 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins13364002829856801859.sh 09:00:02 ---> sudo-logs.sh 09:00:02 Archiving 'sudo' log.. 09:00:03 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins5735260759263602736.sh 09:00:03 ---> job-cost.sh 09:00:03 INFO: Activating Python virtual environment... 09:00:03 Setup pyenv: 09:00:03 system 09:00:03 3.8.20 09:00:03 3.9.20 09:00:03 3.10.15 09:00:03 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 09:00:03 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-O82e from file:/tmp/.os_lf_venv 09:00:03 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 09:00:03 lf-activate-venv(): INFO: Attempting to install with network-safe options... 09:00:05 lf-activate-venv(): INFO: Base packages installed successfully 09:00:05 lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 09:00:12 lf-activate-venv(): INFO: Adding /tmp/venv-O82e/bin to PATH 09:00:12 INFO: No stack-cost file found 09:00:12 INFO: Instance uptime: 7138s 09:00:12 INFO: Fetching instance metadata (attempt 1 of 3)... 09:00:12 DEBUG: URL: http://169.254.169.254/latest/meta-data/instance-type 09:00:12 INFO: Successfully fetched instance metadata 09:00:12 INFO: Instance type: v3-standard-4 09:00:12 INFO: Retrieving pricing info for: v3-standard-4 09:00:12 INFO: Fetching Vexxhost pricing API (attempt 1 of 3)... 09:00:12 DEBUG: URL: https://pricing.vexxhost.net/v1/pricing/v3-standard-4/cost?seconds=7138 09:00:12 INFO: Successfully fetched Vexxhost pricing API 09:00:12 INFO: Retrieved cost: 0.22 09:00:12 INFO: Retrieved resource: v3-standard-4 09:00:12 INFO: Creating archive directory: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost 09:00:12 INFO: Archiving costs to: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost.csv 09:00:12 INFO: Successfully archived job cost data 09:00:12 DEBUG: Cost data: transportpce-tox-verify-transportpce-master,4860,2026-03-25 09:00:12,v3-standard-4,7138,0.22,0.00,FAILURE 09:00:12 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins5125487950224739058.sh 09:00:12 ---> logs-deploy.sh 09:00:12 Setup pyenv: 09:00:12 system 09:00:12 3.8.20 09:00:12 3.9.20 09:00:12 3.10.15 09:00:13 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 09:00:13 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-O82e from file:/tmp/.os_lf_venv 09:00:13 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 09:00:13 lf-activate-venv(): INFO: Attempting to install with network-safe options... 09:00:15 lf-activate-venv(): INFO: Base packages installed successfully 09:00:15 lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 09:00:26 lf-activate-venv(): INFO: Adding /tmp/venv-O82e/bin to PATH 09:00:26 WARNING: Nexus logging server not set 09:00:26 INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/transportpce-tox-verify-transportpce-master/4860/ 09:00:26 INFO: archiving logs to S3 09:00:26 /tmp/venv-O82e/lib/python3.11/site-packages/requests/__init__.py:113: RequestsDependencyWarning: urllib3 (1.26.20) or chardet (7.3.0)/charset_normalizer (3.4.6) doesn't match a supported version! 09:00:26 warnings.warn( 09:00:28 ---> uname -a: 09:00:28 Linux prd-ubuntu2204-docker-4c-16g-30004 5.15.0-171-generic #181-Ubuntu SMP Fri Feb 6 22:44:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux 09:00:28 09:00:28 09:00:28 ---> lscpu: 09:00:28 Architecture: x86_64 09:00:28 CPU op-mode(s): 32-bit, 64-bit 09:00:28 Address sizes: 40 bits physical, 48 bits virtual 09:00:28 Byte Order: Little Endian 09:00:28 CPU(s): 4 09:00:28 On-line CPU(s) list: 0-3 09:00:28 Vendor ID: AuthenticAMD 09:00:28 Model name: AMD EPYC-Rome Processor 09:00:28 CPU family: 23 09:00:28 Model: 49 09:00:28 Thread(s) per core: 1 09:00:28 Core(s) per socket: 1 09:00:28 Socket(s): 4 09:00:28 Stepping: 0 09:00:28 BogoMIPS: 5600.00 09:00:28 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt nrip_save umip rdpid arch_capabilities 09:00:28 Virtualization: AMD-V 09:00:28 Hypervisor vendor: KVM 09:00:28 Virtualization type: full 09:00:28 L1d cache: 128 KiB (4 instances) 09:00:28 L1i cache: 128 KiB (4 instances) 09:00:28 L2 cache: 2 MiB (4 instances) 09:00:28 L3 cache: 64 MiB (4 instances) 09:00:28 NUMA node(s): 1 09:00:28 NUMA node0 CPU(s): 0-3 09:00:28 Vulnerability Gather data sampling: Not affected 09:00:28 Vulnerability Indirect target selection: Not affected 09:00:28 Vulnerability Itlb multihit: Not affected 09:00:28 Vulnerability L1tf: Not affected 09:00:28 Vulnerability Mds: Not affected 09:00:28 Vulnerability Meltdown: Not affected 09:00:28 Vulnerability Mmio stale data: Not affected 09:00:28 Vulnerability Reg file data sampling: Not affected 09:00:28 Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled 09:00:28 Vulnerability Spec rstack overflow: Mitigation; SMT disabled 09:00:28 Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp 09:00:28 Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization 09:00:28 Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected 09:00:28 Vulnerability Srbds: Not affected 09:00:28 Vulnerability Tsa: Not affected 09:00:28 Vulnerability Tsx async abort: Not affected 09:00:28 Vulnerability Vmscape: Not affected 09:00:28 09:00:28 09:00:28 ---> nproc: 09:00:28 4 09:00:28 09:00:28 09:00:28 ---> df -h: 09:00:28 Filesystem Size Used Avail Use% Mounted on 09:00:28 tmpfs 1.6G 1.1M 1.6G 1% /run 09:00:28 /dev/vda1 78G 18G 61G 23% / 09:00:28 tmpfs 7.9G 0 7.9G 0% /dev/shm 09:00:28 tmpfs 5.0M 0 5.0M 0% /run/lock 09:00:28 /dev/vda15 105M 6.1M 99M 6% /boot/efi 09:00:28 tmpfs 1.6G 4.0K 1.6G 1% /run/user/1001 09:00:28 09:00:28 09:00:28 ---> free -m: 09:00:28 total used free shared buff/cache available 09:00:28 Mem: 15989 723 9660 4 5605 14923 09:00:28 Swap: 1023 0 1023 09:00:28 09:00:28 09:00:28 ---> ip addr: 09:00:28 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 09:00:28 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 09:00:28 inet 127.0.0.1/8 scope host lo 09:00:28 valid_lft forever preferred_lft forever 09:00:28 inet6 ::1/128 scope host 09:00:28 valid_lft forever preferred_lft forever 09:00:28 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 09:00:28 link/ether fa:16:3e:21:4b:99 brd ff:ff:ff:ff:ff:ff 09:00:28 altname enp0s3 09:00:28 inet 10.30.170.109/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 09:00:28 valid_lft 79257sec preferred_lft 79257sec 09:00:28 inet6 fe80::f816:3eff:fe21:4b99/64 scope link 09:00:28 valid_lft forever preferred_lft forever 09:00:28 3: docker0: mtu 1458 qdisc noqueue state DOWN group default 09:00:28 link/ether d6:6e:e3:58:5b:ff brd ff:ff:ff:ff:ff:ff 09:00:28 inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 09:00:28 valid_lft forever preferred_lft forever 09:00:28 inet6 fe80::d46e:e3ff:fe58:5bff/64 scope link 09:00:28 valid_lft forever preferred_lft forever 09:00:28 09:00:28 09:00:28 ---> sar -b -r -n DEV: 09:00:28 Linux 5.15.0-171-generic (prd-ubuntu2204-docker-4c-16g-30004) 03/25/26 _x86_64_ (4 CPU) 09:00:28 09:00:28 07:01:28 LINUX RESTART (4 CPU) 09:00:28 09:00:28 07:10:10 tps rtps wtps dtps bread/s bwrtn/s bdscd/s 09:00:28 07:20:10 42.27 0.30 39.44 2.53 35.87 24772.04 36105.80 09:00:28 07:30:11 29.18 2.28 25.09 1.81 112.44 6011.89 2037.90 09:00:28 07:40:10 40.03 21.47 17.57 0.99 264.53 1439.00 633.21 09:00:28 07:50:41 13.01 0.04 12.31 0.66 1.15 573.44 1106.16 09:00:28 08:00:42 16.61 0.01 15.81 0.79 0.56 434.77 584.60 09:00:28 08:10:41 7.00 0.00 6.64 0.35 0.43 187.78 170.08 09:00:28 08:20:03 2.87 0.01 2.81 0.06 0.43 54.36 0.50 09:00:28 08:30:41 7.92 0.01 7.56 0.35 0.99 226.01 317.55 09:00:28 08:40:42 4.23 0.00 4.13 0.11 0.13 133.14 93.39 09:00:28 08:50:41 9.85 0.07 9.45 0.33 4.88 554.36 154.94 09:00:28 Average: 17.31 2.41 14.10 0.80 41.93 3426.70 4109.01 09:00:28 09:00:28 07:10:10 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 09:00:28 07:20:10 5007184 15157028 771500 4.71 228296 9743280 1516624 8.71 1933368 8709124 234172 09:00:28 07:30:11 846404 5163016 10763252 65.74 256328 3958564 11752376 67.46 1824284 13020548 380 09:00:28 07:40:10 6433320 11110652 4818136 29.43 268032 4303732 5560308 31.92 2046724 7229208 140 09:00:28 07:50:41 6684384 11466564 4464020 27.26 273340 4397924 5266708 30.23 2097496 6926356 76 09:00:28 08:00:42 6599932 11432760 4497564 27.47 276332 4445380 5256376 30.17 2104648 7008560 100 09:00:28 08:10:41 6647584 11503460 4426952 27.04 277444 4467256 5192940 29.81 2106668 6941944 464 09:00:28 08:20:03 10414644 15287976 644116 3.93 277896 4484256 1350296 7.75 2108444 3169608 13676 09:00:28 08:30:41 5051768 9943368 5986292 36.56 279184 4501164 6775712 38.89 2112588 8546916 264 09:00:28 08:40:42 6517276 11428484 4501912 27.50 279692 4520208 5275644 30.28 2114552 7086232 356 09:00:28 08:50:41 6317428 11354864 4574872 27.94 283800 4636124 5179968 29.73 2129516 7255132 180 09:00:28 Average: 6051992 11384817 4544862 27.76 270034 4945789 5312695 30.49 2057829 7589363 24981 09:00:28 09:00:28 07:10:10 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 09:00:28 07:20:10 lo 0.55 0.55 0.08 0.08 0.00 0.00 0.00 0.00 09:00:28 07:20:10 ens3 48.45 37.37 698.24 3.90 0.00 0.00 0.00 0.00 09:00:28 07:20:10 docker0 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 07:30:11 lo 9.23 9.23 7.37 7.37 0.00 0.00 0.00 0.00 09:00:28 07:30:11 ens3 1.32 1.11 0.43 0.41 0.00 0.00 0.00 0.00 09:00:28 07:30:11 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 07:40:10 lo 22.50 22.50 11.80 11.80 0.00 0.00 0.00 0.00 09:00:28 07:40:10 ens3 2.18 1.15 0.51 0.38 0.00 0.00 0.00 0.00 09:00:28 07:40:10 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 07:50:41 lo 13.18 13.18 6.34 6.34 0.00 0.00 0.00 0.00 09:00:28 07:50:41 ens3 1.48 0.90 0.33 0.24 0.00 0.00 0.00 0.00 09:00:28 07:50:41 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 08:00:42 lo 16.24 16.24 8.12 8.12 0.00 0.00 0.00 0.00 09:00:28 08:00:42 ens3 1.37 1.05 0.27 1.48 0.00 0.00 0.00 0.00 09:00:28 08:00:42 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 08:10:41 lo 17.65 17.65 8.85 8.85 0.00 0.00 0.00 0.00 09:00:28 08:10:41 ens3 1.00 0.62 0.22 0.16 0.00 0.00 0.00 0.00 09:00:28 08:10:41 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 08:20:03 lo 23.14 23.14 7.48 7.48 0.00 0.00 0.00 0.00 09:00:28 08:20:03 ens3 0.65 0.26 0.13 0.07 0.00 0.00 0.00 0.00 09:00:28 08:20:03 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 08:30:41 lo 19.50 19.50 10.74 10.74 0.00 0.00 0.00 0.00 09:00:28 08:30:41 ens3 0.92 0.62 0.20 0.15 0.00 0.00 0.00 0.00 09:00:28 08:30:41 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 08:40:42 lo 16.63 16.63 9.55 9.55 0.00 0.00 0.00 0.00 09:00:28 08:40:42 ens3 0.74 0.50 0.17 0.12 0.00 0.00 0.00 0.00 09:00:28 08:40:42 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 08:50:41 lo 21.50 21.50 10.30 10.30 0.00 0.00 0.00 0.00 09:00:28 08:50:41 ens3 1.43 0.91 0.37 0.27 0.00 0.00 0.00 0.00 09:00:28 08:50:41 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 Average: lo 15.97 15.97 8.07 8.07 0.00 0.00 0.00 0.00 09:00:28 Average: ens3 5.94 4.43 69.77 0.72 0.00 0.00 0.00 0.00 09:00:28 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:28 09:00:28 09:00:28 ---> sar -P ALL: 09:00:28 Linux 5.15.0-171-generic (prd-ubuntu2204-docker-4c-16g-30004) 03/25/26 _x86_64_ (4 CPU) 09:00:28 09:00:28 07:01:28 LINUX RESTART (4 CPU) 09:00:28 09:00:28 07:10:10 CPU %user %nice %system %iowait %steal %idle 09:00:28 07:20:10 all 16.14 0.00 1.18 36.35 0.09 46.24 09:00:28 07:20:10 0 17.55 0.00 1.35 34.09 0.09 46.92 09:00:28 07:20:10 1 15.74 0.00 1.09 30.48 0.09 52.60 09:00:28 07:20:10 2 18.71 0.00 1.30 35.46 0.09 44.44 09:00:28 07:20:10 3 12.55 0.00 0.99 45.38 0.08 41.00 09:00:28 07:30:11 all 24.62 0.00 1.38 11.95 0.15 61.90 09:00:28 07:30:11 0 24.51 0.00 1.41 9.41 0.15 64.52 09:00:28 07:30:11 1 23.22 0.00 1.49 7.79 0.16 67.34 09:00:28 07:30:11 2 26.65 0.00 1.40 14.37 0.16 57.42 09:00:28 07:30:11 3 24.09 0.00 1.21 16.24 0.15 58.32 09:00:28 07:40:10 all 28.19 0.00 1.21 1.43 0.15 69.03 09:00:28 07:40:10 0 28.90 0.00 1.19 1.13 0.14 68.65 09:00:28 07:40:10 1 27.35 0.00 1.20 1.71 0.15 69.59 09:00:28 07:40:10 2 28.70 0.00 1.17 1.46 0.16 68.52 09:00:28 07:40:10 3 27.80 0.00 1.27 1.43 0.14 69.37 09:00:28 07:50:41 all 23.92 0.00 0.94 0.08 0.12 74.94 09:00:28 07:50:41 0 22.97 0.00 1.00 0.17 0.10 75.77 09:00:28 07:50:41 1 24.39 0.00 0.84 0.03 0.16 74.58 09:00:28 07:50:41 2 24.35 0.00 0.97 0.04 0.10 74.55 09:00:28 07:50:41 3 23.95 0.00 0.98 0.09 0.11 74.87 09:00:28 08:00:42 all 28.22 0.00 1.00 0.20 0.14 70.45 09:00:28 08:00:42 0 28.06 0.00 1.24 0.37 0.12 70.20 09:00:28 08:00:42 1 27.31 0.00 0.97 0.16 0.15 71.41 09:00:28 08:00:42 2 28.24 0.00 0.88 0.11 0.14 70.63 09:00:28 08:00:42 3 29.28 0.00 0.90 0.15 0.14 69.54 09:00:28 08:10:41 all 14.87 0.00 0.59 0.09 0.07 84.37 09:00:28 08:10:41 0 15.20 0.00 0.61 0.11 0.07 84.02 09:00:28 08:10:41 1 14.60 0.00 0.66 0.05 0.08 84.61 09:00:28 08:10:41 2 14.83 0.00 0.61 0.03 0.07 84.46 09:00:28 08:10:41 3 14.88 0.00 0.50 0.16 0.07 84.40 09:00:28 08:20:03 all 3.55 0.00 0.43 0.01 0.05 95.96 09:00:28 08:20:03 0 3.33 0.00 0.35 0.01 0.04 96.28 09:00:28 08:20:03 1 3.77 0.00 0.53 0.02 0.05 95.63 09:00:28 08:20:03 2 3.83 0.00 0.48 0.01 0.05 95.63 09:00:28 08:20:03 3 3.27 0.00 0.37 0.00 0.05 96.31 09:00:28 08:30:41 all 17.69 0.00 0.77 0.10 0.08 81.35 09:00:28 08:30:41 0 17.97 0.00 0.73 0.05 0.08 81.17 09:00:28 08:30:41 1 17.93 0.00 0.81 0.15 0.09 81.02 09:00:28 08:30:41 2 17.27 0.00 0.79 0.13 0.08 81.73 09:00:28 08:30:41 3 17.60 0.00 0.75 0.08 0.08 81.49 09:00:28 08:40:42 all 9.26 0.00 0.42 0.93 0.19 89.19 09:00:28 08:40:42 0 9.06 0.00 0.43 0.58 0.18 89.75 09:00:28 08:40:42 1 9.27 0.00 0.43 0.42 0.19 89.70 09:00:28 08:40:42 2 10.10 0.00 0.43 0.34 0.17 88.96 09:00:28 08:40:42 3 8.62 0.00 0.39 2.40 0.24 88.36 09:00:28 08:50:41 all 16.28 0.00 0.72 0.38 0.10 82.52 09:00:28 08:50:41 0 16.40 0.00 0.80 0.21 0.09 82.50 09:00:28 08:50:41 1 16.34 0.00 0.63 0.14 0.10 82.80 09:00:28 08:50:41 2 16.36 0.00 0.65 0.68 0.10 82.21 09:00:28 08:50:41 3 16.03 0.00 0.80 0.48 0.10 82.58 09:00:28 Average: all 18.38 0.00 0.87 5.13 0.11 75.51 09:00:28 Average: 0 18.50 0.00 0.91 4.60 0.11 75.88 09:00:28 Average: 1 18.11 0.00 0.87 4.07 0.12 76.83 09:00:28 Average: 2 19.00 0.00 0.87 5.23 0.11 74.78 09:00:28 Average: 3 17.92 0.00 0.82 6.61 0.12 74.53 09:00:28 09:00:28 09:00:28