10:27:06 Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/integration/test/+/126996 10:27:06 Running as SYSTEM 10:27:06 [EnvInject] - Loading node environment variables. 10:27:06 Building remotely on prd-ubuntu2204-builder-2c-2g-66254 (ubuntu2204-builder-2c-2g) in workspace /w/workspace/integration-test-tox-verify-master 10:27:06 [ssh-agent] Looking for ssh-agent implementation... 10:27:07 [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) 10:27:07 $ ssh-agent 10:27:07 SSH_AUTH_SOCK=/tmp/ssh-XXXXXXjcpAwi/agent.1527 10:27:07 SSH_AGENT_PID=1529 10:27:07 [ssh-agent] Started. 10:27:07 Running ssh-add (command line suppressed) 10:27:07 Identity added: /w/workspace/integration-test-tox-verify-master@tmp/private_key_12136340246232269013.key (/w/workspace/integration-test-tox-verify-master@tmp/private_key_12136340246232269013.key) 10:27:07 [ssh-agent] Using credentials jenkins (jenkins-ssh) 10:27:07 The recommended git tool is: NONE 10:27:09 using credential jenkins-ssh 10:27:09 Wiping out workspace first. 10:27:09 Cloning the remote Git repository 10:27:09 Cloning repository git://devvexx.opendaylight.org/mirror/integration/test 10:27:09 > git init /w/workspace/integration-test-tox-verify-master # timeout=10 10:27:09 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/integration/test 10:27:09 > git --version # timeout=10 10:27:09 > git --version # 'git version 2.34.1' 10:27:09 using GIT_SSH to set credentials jenkins-ssh 10:27:09 Verifying host key using known hosts file, will automatically accept unseen keys 10:27:09 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/integration/test +refs/heads/*:refs/remotes/origin/* # timeout=10 10:27:11 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/integration/test # timeout=10 10:27:11 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 10:27:12 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/integration/test # timeout=10 10:27:12 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/integration/test 10:27:12 using GIT_SSH to set credentials jenkins-ssh 10:27:12 Verifying host key using known hosts file, will automatically accept unseen keys 10:27:12 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/integration/test refs/changes/96/126996/12 # timeout=10 10:27:12 > git rev-parse d4358c72b9c180eec1fe21e00ddfdf9bf3d9eb8a^{commit} # timeout=10 10:27:12 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script 10:27:12 Checking out Revision d4358c72b9c180eec1fe21e00ddfdf9bf3d9eb8a (refs/changes/96/126996/12) 10:27:12 > git config core.sparsecheckout # timeout=10 10:27:12 > git checkout -f d4358c72b9c180eec1fe21e00ddfdf9bf3d9eb8a # timeout=10 10:27:15 Commit message: "Evolve play.py" 10:27:15 > git rev-parse FETCH_HEAD^{commit} # timeout=10 10:27:16 > git rev-list --no-walk bdc93385bb050b6186bde22f0aef66669c0844c1 # timeout=10 10:27:16 provisioning config files... 10:27:16 copy managed file [npmrc] to file:/home/jenkins/.npmrc 10:27:16 copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf 10:27:16 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins5682854408596529168.sh 10:27:16 ---> python-tools-install.sh 10:27:16 Setup pyenv: 10:27:16 * system (set by /opt/pyenv/version) 10:27:16 * 3.8.20 (set by /opt/pyenv/version) 10:27:16 * 3.9.20 (set by /opt/pyenv/version) 10:27:16 3.10.15 10:27:16 3.11.10 10:27:21 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-Ee2U 10:27:21 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv 10:27:21 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:27:25 lf-activate-venv(): INFO: Installing additional packages: lftools 10:27:49 lf-activate-venv(): INFO: Adding /tmp/venv-Ee2U/bin to PATH 10:27:49 Generating Requirements File 10:28:17 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 10:28:17 botocore 1.43.117 requires python-dateutil<3.0.0,>=2.1, but you have python-dateutil 3.0.0 which is incompatible. 10:28:17 httplib2 0.30.2 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. 10:28:18 Python 3.11.10 10:28:18 pip 26.2.2 from /tmp/venv-Ee2U/lib/python3.11/site-packages/pip (python 3.11) 10:28:18 aiohappyeyeballs==2.7.1 10:28:18 aiohttp==3.14.5 10:28:18 aiosignal==1.4.0 10:28:18 appdirs==1.4.4 10:28:18 argcomplete==3.7.2 10:28:18 aspy.yaml==1.3.0 10:28:18 attrs==26.1.0 10:28:18 autopage==0.6.0 10:28:18 beautifulsoup4==4.15.0 10:28:18 boto3==1.43.117 10:28:18 botocore==1.43.117 10:28:18 bs4==0.0.2 10:28:18 certifi==2026.10.19 10:28:18 cffi==2.1.1 10:28:18 cfgv==3.5.0 10:28:18 chardet==7.7.0 10:28:18 charset-normalizer==3.5.2 10:28:18 click==8.5.0 10:28:18 cliff==4.17.0 10:28:18 cmd2==4.3.0 10:28:18 cryptography==3.3.2 10:28:18 debtcollector==3.1.0 10:28:18 decorator==5.3.1 10:28:18 defusedxml==0.7.1 10:28:18 Deprecated==1.3.1 10:28:18 distlib==0.4.4 10:28:18 dnspython==2.9.0 10:28:18 docker==7.2.0 10:28:18 dogpile.cache==1.5.0 10:28:18 durationpy==0.11 10:28:18 email-validator==2.3.0 10:28:18 filelock==4.2.4 10:28:18 frozenlist==1.8.0 10:28:18 future==1.0.0 10:28:18 gitdb==4.0.12 10:28:18 GitPython==3.2.1 10:28:18 httplib2==0.30.2 10:28:18 identify==2.6.20 10:28:18 idna==3.20 10:28:18 importlib-resources==1.5.0 10:28:18 iso8601==2.1.0 10:28:18 Jinja2==3.1.6 10:28:18 jmespath==1.1.0 10:28:18 jsonpatch==1.36 10:28:18 jsonpointer==3.4 10:28:18 jsonschema==4.26.0 10:28:18 jsonschema-specifications==2025.9.1 10:28:18 keystoneauth1==5.18.1 10:28:18 kubernetes==36.0.3 10:28:18 lftools==0.37.26 10:28:18 lxml==6.1.3 10:28:18 markdown-it-py==4.2.0 10:28:18 MarkupSafe==3.0.4 10:28:18 mdurl==0.1.2 10:28:18 msgpack==1.2.3 10:28:18 multi_key_dict==2.0.3 10:28:18 multidict==7.1.0 10:28:18 munch==4.0.0 10:28:18 netaddr==1.3.0 10:28:18 niet==1.4.2 10:28:18 nodeenv==1.11.0 10:28:18 oauth2client==4.1.3 10:28:18 oauthlib==4.0.0 10:28:18 openstacksdk==4.21.0 10:28:18 os-service-types==1.9.0 10:28:18 osc-lib==4.7.0 10:28:18 oslo.config==10.7.0 10:28:18 oslo.context==6.5.0 10:28:18 oslo.i18n==6.9.0 10:28:18 oslo.log==8.3.2 10:28:18 oslo.serialization==5.11.0 10:28:18 oslo.utils==10.2.0 10:28:18 packaging==26.3 10:28:18 pbr==7.1.3 10:28:18 platformdirs==4.13.5 10:28:18 prettytable==3.18.0 10:28:18 prompt_toolkit==3.0.53 10:28:18 propcache==0.5.4 10:28:18 psutil==7.2.2 10:28:18 pyasn1==0.6.4 10:28:18 pyasn1_modules==0.4.2 10:28:18 pycparser==3.11 10:28:18 pygerrit2==2.0.15 10:28:18 PyGithub==2.10.0 10:28:18 Pygments==2.21.0 10:28:18 PyJWT==2.15.1 10:28:18 PyNaCl==1.6.2 10:28:18 pyparsing==2.4.7 10:28:18 pyperclip==1.11.0 10:28:18 pyrsistent==0.20.0 10:28:18 python-dateutil==3.0.0 10:28:18 python-discovery==1.6.4 10:28:18 python-heatclient==5.3.0 10:28:18 python-jenkins==1.8.3 10:28:18 python-keystoneclient==6.0.0 10:28:18 python-magnumclient==5.0.0 10:28:18 python-manilaclient==6.3.0 10:28:18 python-openstackclient==10.4.0 10:28:18 python-swiftclient==4.11.0 10:28:18 PyYAML==6.0.3 10:28:18 referencing==0.37.0 10:28:18 requests==2.34.2 10:28:18 requests-oauthlib==2.0.0 10:28:18 rfc3986==2.0.0 10:28:18 rich==15.0.0 10:28:18 rich-argparse==1.8.0 10:28:18 rpds-py==2026.9.1 10:28:18 rsa==4.9.1 10:28:18 ruamel.yaml==0.19.1 10:28:18 ruamel.yaml.clib==0.2.15 10:28:18 s3transfer==0.19.3 10:28:18 simplejson==4.2.0 10:28:18 six==1.17.0 10:28:18 smmap==5.0.3 10:28:18 soupsieve==3.0.4 10:28:18 stevedore==5.9.1 10:28:18 tabulate==0.10.0 10:28:18 toml==0.10.2 10:28:18 tomlkit==0.15.2 10:28:18 tqdm==4.70.1 10:28:18 typing_extensions==4.16.0 10:28:18 tzdata==2026.5 10:28:18 urllib3==1.26.20 10:28:18 virtualenv==21.14.12 10:28:18 wcwidth==0.9.3 10:28:18 websocket-client==1.9.2 10:28:18 wrapt==2.5.1 10:28:18 xdg==6.0.0 10:28:18 xmltodict==1.0.4 10:28:18 yarl==1.25.1 10:28:18 yq==4.4.5 10:28:18 [integration-test-tox-verify-master] $ /bin/sh /tmp/jenkins16917044070727919220.sh 10:28:18 ---> uv-install.sh 10:28:18 Installing uv/uvx (latest) using shell installer 10:28:18 2026-10-22 10:28:18 URL:https://releases.astral.sh/installers/uv/latest/uv-installer.sh [71300/71300] -> "/tmp/uv-install-cjjEF3.sh" [1] 10:28:18 downloading uv 0.13.5 x86_64-unknown-linux-gnu 10:28:19 installing to /home/jenkins/.local/bin 10:28:19 uv 10:28:19 uvx 10:28:19 everything's installed! 10:28:19 10:28:19 To add $HOME/.local/bin to your PATH, either restart your shell or run: 10:28:19 10:28:19 source $HOME/.local/bin/env (sh, bash, zsh) 10:28:19 source $HOME/.local/bin/env.fish (fish) 10:28:19 Adding install location to PATH 10:28:19 ---> Validating uv/uvx install 10:28:19 uvx 0.13.5 (x86_64-unknown-linux-gnu) 10:28:19 [EnvInject] - Injecting environment variables from a build step. 10:28:19 [EnvInject] - Injecting as environment variables the properties content 10:28:19 PYTHON=python3 10:28:19 10:28:19 [EnvInject] - Variables injected successfully. 10:28:19 [integration-test-tox-verify-master] $ /bin/bash -l /tmp/jenkins7751502657714404991.sh 10:28:19 ---> tox-install.sh 10:28:19 + source /home/jenkins/lf-env.sh 10:28:19 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 10:28:19 ++ mktemp -d /tmp/venv-XXXX 10:28:19 + lf_venv=/tmp/venv-LH9z 10:28:19 + local venv_file=/tmp/.os_lf_venv 10:28:19 + local python=python3 10:28:19 + local options 10:28:19 + local set_path=true 10:28:19 + local install_args= 10:28:19 ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 10:28:19 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:28:19 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:28:19 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 10:28:19 + true 10:28:19 + case $1 in 10:28:19 + venv_file=/tmp/.toxenv 10:28:19 + shift 2 10:28:19 + true 10:28:19 + case $1 in 10:28:19 + shift 10:28:19 + break 10:28:19 + case $python in 10:28:19 + local pkg_list= 10:28:19 + [[ -d /opt/pyenv ]] 10:28:19 + echo 'Setup pyenv:' 10:28:19 Setup pyenv: 10:28:19 + export PYENV_ROOT=/opt/pyenv 10:28:19 + PYENV_ROOT=/opt/pyenv 10:28:19 + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:19 + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:19 + pyenv versions 10:28:19 system 10:28:19 3.8.20 10:28:19 3.9.20 10:28:19 3.10.15 10:28:19 * 3.11.10 (set by /w/workspace/integration-test-tox-verify-master/.python-version) 10:28:19 + command -v pyenv 10:28:19 ++ pyenv init - --no-rehash 10:28:19 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 10:28:19 for i in ${!paths[@]}; do 10:28:19 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 10:28:19 fi; done; 10:28:19 echo "${paths[*]}"'\'')" 10:28:19 export PATH="/opt/pyenv/shims:${PATH}" 10:28:19 export PYENV_SHELL=bash 10:28:19 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 10:28:19 pyenv() { 10:28:19 local command 10:28:19 command="${1:-}" 10:28:19 if [ "$#" -gt 0 ]; then 10:28:19 shift 10:28:19 fi 10:28:19 10:28:19 case "$command" in 10:28:19 rehash|shell) 10:28:19 eval "$(pyenv "sh-$command" "$@")" 10:28:19 ;; 10:28:19 *) 10:28:19 command pyenv "$command" "$@" 10:28:19 ;; 10:28:19 esac 10:28:19 }' 10:28:19 +++ bash --norc -ec 'IFS=:; paths=($PATH); 10:28:19 for i in ${!paths[@]}; do 10:28:19 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 10:28:19 fi; done; 10:28:19 echo "${paths[*]}"' 10:28:19 ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:19 ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:19 ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:19 ++ export PYENV_SHELL=bash 10:28:19 ++ PYENV_SHELL=bash 10:28:19 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 10:28:19 +++ complete -F _pyenv pyenv 10:28:19 ++ lf-pyver python3 10:28:19 ++ local py_version_xy=python3 10:28:19 ++ local py_version_xyz= 10:28:19 ++ pyenv versions 10:28:19 ++ local command 10:28:19 ++ command=versions 10:28:19 ++ '[' 1 -gt 0 ']' 10:28:19 ++ shift 10:28:19 ++ case "$command" in 10:28:19 ++ command pyenv versions 10:28:19 ++ sed 's/^[ *]* //' 10:28:19 ++ awk '{ print $1 }' 10:28:19 ++ grep -E '^[0-9.]*[0-9]$' 10:28:19 ++ [[ ! -s /tmp/.pyenv_versions ]] 10:28:19 +++ grep '^3' /tmp/.pyenv_versions 10:28:19 +++ tail -n 1 10:28:19 +++ sort -V 10:28:19 ++ py_version_xyz=3.11.10 10:28:19 ++ [[ -z 3.11.10 ]] 10:28:19 ++ echo 3.11.10 10:28:19 ++ return 0 10:28:19 + pyenv local 3.11.10 10:28:19 + local command 10:28:19 + command=local 10:28:19 + '[' 2 -gt 0 ']' 10:28:19 + shift 10:28:19 + case "$command" in 10:28:19 + command pyenv local 3.11.10 10:28:19 + for arg in "$@" 10:28:19 + case $arg in 10:28:19 + pkg_list+='tox ' 10:28:19 + for arg in "$@" 10:28:19 + case $arg in 10:28:19 + pkg_list+='virtualenv ' 10:28:19 + for arg in "$@" 10:28:19 + case $arg in 10:28:19 + pkg_list+='urllib3~=1.26.15 ' 10:28:19 + [[ -f /tmp/.toxenv ]] 10:28:19 + [[ ! -f /tmp/.toxenv ]] 10:28:19 + [[ -n '' ]] 10:28:19 + python3 -m venv /tmp/venv-LH9z 10:28:23 + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-LH9z' 10:28:23 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-LH9z 10:28:23 + echo /tmp/venv-LH9z 10:28:23 + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' 10:28:23 lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv 10:28:23 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 10:28:23 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:28:23 + local 'pip_opts=--upgrade --quiet' 10:28:23 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 10:28:23 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 10:28:23 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 10:28:23 + [[ -n '' ]] 10:28:23 + [[ -n '' ]] 10:28:23 + lf-venv-pip-install /tmp/venv-LH9z/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 10:28:23 + local venv_python=/tmp/venv-LH9z/bin/python3 10:28:23 + shift 10:28:23 + local upstream=https://pypi.org/simple 10:28:23 + /tmp/venv-LH9z/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 10:28:27 + return 0 10:28:27 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 10:28:27 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 10:28:27 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 10:28:27 + lf-venv-pip-install /tmp/venv-LH9z/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 10:28:27 + local venv_python=/tmp/venv-LH9z/bin/python3 10:28:27 + shift 10:28:27 + local upstream=https://pypi.org/simple 10:28:27 + /tmp/venv-LH9z/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 10:28:30 + return 0 10:28:30 + type python3 10:28:30 + true 10:28:30 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-LH9z/bin to PATH' 10:28:30 lf-activate-venv(): INFO: Adding /tmp/venv-LH9z/bin to PATH 10:28:30 + PATH=/tmp/venv-LH9z/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:30 + return 0 10:28:30 + python3 --version 10:28:30 Python 3.11.10 10:28:30 + python3 -m pip --version 10:28:30 pip 26.2.2 from /tmp/venv-LH9z/lib/python3.11/site-packages/pip (python 3.11) 10:28:30 + python3 -m pip freeze 10:28:30 cachetools==7.2.4 10:28:30 colorama==0.4.6 10:28:30 distlib==0.4.4 10:28:30 filelock==4.2.4 10:28:30 packaging==26.3 10:28:30 platformdirs==4.13.5 10:28:30 pluggy==1.7.0 10:28:30 pyproject-api==1.12.0 10:28:30 python-discovery==1.6.4 10:28:30 tomli_w==1.2.0 10:28:30 tox==4.67.1 10:28:30 typing_extensions==4.16.0 10:28:30 urllib3==1.26.20 10:28:30 virtualenv==21.14.12 10:28:30 [integration-test-tox-verify-master] $ /bin/sh -xe /tmp/jenkins6204232266208714090.sh 10:28:30 [EnvInject] - Injecting environment variables from a build step. 10:28:30 [EnvInject] - Injecting as environment variables the properties content 10:28:30 PARALLEL=False 10:28:30 10:28:30 [EnvInject] - Variables injected successfully. 10:28:30 [integration-test-tox-verify-master] $ /bin/bash -l /tmp/jenkins9525378518253664863.sh 10:28:30 ---> tox-run.sh 10:28:30 + PATH=/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:30 + ARCHIVE_TOX_DIR=/w/workspace/integration-test-tox-verify-master/archives/tox 10:28:30 + ARCHIVE_DOC_DIR=/w/workspace/integration-test-tox-verify-master/archives/docs 10:28:30 + mkdir -p /w/workspace/integration-test-tox-verify-master/archives/tox 10:28:30 + cd /w/workspace/integration-test-tox-verify-master/. 10:28:30 + source /home/jenkins/lf-env.sh 10:28:30 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 10:28:30 ++ mktemp -d /tmp/venv-XXXX 10:28:30 + lf_venv=/tmp/venv-wM0o 10:28:30 + local venv_file=/tmp/.os_lf_venv 10:28:30 + local python=python3 10:28:30 + local options 10:28:30 + local set_path=true 10:28:30 + local install_args= 10:28:30 ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 10:28:30 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:28:30 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 10:28:30 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 10:28:30 + true 10:28:30 + case $1 in 10:28:30 + venv_file=/tmp/.toxenv 10:28:30 + shift 2 10:28:30 + true 10:28:30 + case $1 in 10:28:30 + shift 10:28:30 + break 10:28:30 + case $python in 10:28:30 + local pkg_list= 10:28:30 + [[ -d /opt/pyenv ]] 10:28:30 + echo 'Setup pyenv:' 10:28:30 Setup pyenv: 10:28:30 + export PYENV_ROOT=/opt/pyenv 10:28:30 + PYENV_ROOT=/opt/pyenv 10:28:30 + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:30 + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:30 + pyenv versions 10:28:30 system 10:28:30 3.8.20 10:28:30 3.9.20 10:28:30 3.10.15 10:28:30 * 3.11.10 (set by /w/workspace/integration-test-tox-verify-master/.python-version) 10:28:30 + command -v pyenv 10:28:30 ++ pyenv init - --no-rehash 10:28:30 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 10:28:30 for i in ${!paths[@]}; do 10:28:30 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 10:28:30 fi; done; 10:28:30 echo "${paths[*]}"'\'')" 10:28:30 export PATH="/opt/pyenv/shims:${PATH}" 10:28:30 export PYENV_SHELL=bash 10:28:30 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 10:28:30 pyenv() { 10:28:30 local command 10:28:30 command="${1:-}" 10:28:30 if [ "$#" -gt 0 ]; then 10:28:30 shift 10:28:30 fi 10:28:30 10:28:30 case "$command" in 10:28:30 rehash|shell) 10:28:30 eval "$(pyenv "sh-$command" "$@")" 10:28:30 ;; 10:28:30 *) 10:28:30 command pyenv "$command" "$@" 10:28:30 ;; 10:28:30 esac 10:28:30 }' 10:28:30 +++ bash --norc -ec 'IFS=:; paths=($PATH); 10:28:30 for i in ${!paths[@]}; do 10:28:30 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 10:28:30 fi; done; 10:28:30 echo "${paths[*]}"' 10:28:30 ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:30 ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:30 ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:30 ++ export PYENV_SHELL=bash 10:28:30 ++ PYENV_SHELL=bash 10:28:30 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 10:28:30 +++ complete -F _pyenv pyenv 10:28:30 ++ lf-pyver python3 10:28:30 ++ local py_version_xy=python3 10:28:30 ++ local py_version_xyz= 10:28:30 ++ pyenv versions 10:28:30 ++ local command 10:28:30 ++ command=versions 10:28:30 ++ '[' 1 -gt 0 ']' 10:28:30 ++ shift 10:28:30 ++ case "$command" in 10:28:30 ++ command pyenv versions 10:28:30 ++ awk '{ print $1 }' 10:28:30 ++ grep -E '^[0-9.]*[0-9]$' 10:28:30 ++ sed 's/^[ *]* //' 10:28:30 ++ [[ ! -s /tmp/.pyenv_versions ]] 10:28:30 +++ grep '^3' /tmp/.pyenv_versions 10:28:30 +++ tail -n 1 10:28:30 +++ sort -V 10:28:30 ++ py_version_xyz=3.11.10 10:28:30 ++ [[ -z 3.11.10 ]] 10:28:30 ++ echo 3.11.10 10:28:30 ++ return 0 10:28:30 + pyenv local 3.11.10 10:28:30 + local command 10:28:30 + command=local 10:28:30 + '[' 2 -gt 0 ']' 10:28:30 + shift 10:28:30 + case "$command" in 10:28:30 + command pyenv local 3.11.10 10:28:30 + for arg in "$@" 10:28:30 + case $arg in 10:28:30 + pkg_list+='tox ' 10:28:30 + for arg in "$@" 10:28:30 + case $arg in 10:28:30 + pkg_list+='virtualenv ' 10:28:30 + for arg in "$@" 10:28:30 + case $arg in 10:28:30 + pkg_list+='urllib3~=1.26.15 ' 10:28:30 + [[ -f /tmp/.toxenv ]] 10:28:30 ++ cat /tmp/.toxenv 10:28:30 + lf_venv=/tmp/venv-LH9z 10:28:30 + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-LH9z from' file:/tmp/.toxenv 10:28:30 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-LH9z from file:/tmp/.toxenv 10:28:30 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 10:28:30 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:28:30 + local 'pip_opts=--upgrade --quiet' 10:28:30 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 10:28:30 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 10:28:30 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 10:28:30 + [[ -n '' ]] 10:28:30 + [[ -n '' ]] 10:28:30 + lf-venv-pip-install /tmp/venv-LH9z/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 10:28:30 + local venv_python=/tmp/venv-LH9z/bin/python3 10:28:30 + shift 10:28:30 + local upstream=https://pypi.org/simple 10:28:30 + /tmp/venv-LH9z/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 10:28:31 + return 0 10:28:31 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 10:28:31 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 10:28:31 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 10:28:31 + lf-venv-pip-install /tmp/venv-LH9z/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 10:28:31 + local venv_python=/tmp/venv-LH9z/bin/python3 10:28:31 + shift 10:28:31 + local upstream=https://pypi.org/simple 10:28:31 + /tmp/venv-LH9z/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 10:28:33 + return 0 10:28:33 + type python3 10:28:33 + true 10:28:33 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-LH9z/bin to PATH' 10:28:33 lf-activate-venv(): INFO: Adding /tmp/venv-LH9z/bin to PATH 10:28:33 + PATH=/tmp/venv-LH9z/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:33 + return 0 10:28:33 + [[ -d /opt/pyenv ]] 10:28:33 + echo '---> Setting up pyenv' 10:28:33 ---> Setting up pyenv 10:28:33 + export PYENV_ROOT=/opt/pyenv 10:28:33 + PYENV_ROOT=/opt/pyenv 10:28:33 + export PATH=/opt/pyenv/bin:/tmp/venv-LH9z/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:33 + PATH=/opt/pyenv/bin:/tmp/venv-LH9z/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/opt/sdkman/candidates/mvnd/current/bin:/opt/sdkman/candidates/maven/current/bin:/opt/sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 10:28:33 ++ pwd 10:28:33 + PYTHONPATH=/w/workspace/integration-test-tox-verify-master 10:28:33 + export PYTHONPATH 10:28:33 + export TOX_TESTENV_PASSENV=PYTHONPATH 10:28:33 + TOX_TESTENV_PASSENV=PYTHONPATH 10:28:33 + tox --version 10:28:33 4.67.1 from /tmp/venv-LH9z/lib/python3.11/site-packages/tox/__init__.py 10:28:33 + PARALLEL=False 10:28:33 + TOX_OPTIONS_LIST= 10:28:33 + [[ -n '' ]] 10:28:33 + case ${PARALLEL,,} in 10:28:33 + tox 10:28:33 + tee -a /w/workspace/integration-test-tox-verify-master/archives/tox/tox.log 10:28:34 docs: install_deps> python -I -m pip install -r docs/requirements.txt 10:28:59 docs: freeze> python -m pip freeze --all 10:29:00 docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.10.19,charset-normalizer==3.5.2,contourpy==1.3.3,cycler==0.12.1,deepmerge==3.0.1,docutils==0.22.4,elastic-transport==8.19.0,elasticsearch==8.19.3,elasticsearch-dsl==8.15.4,fonttools==4.67.0,idna==3.20,imagesize==2.0.1,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.58.6,kiwisolver==1.5.1,lfdocs_conf==0.11.0,MarkupSafe==3.0.4,matplotlib==3.11.2,minijinja==2.24.0,mistune==3.4.0,numpy==2.4.6,packaging==26.3,picobox==4.0.0,pillow==13.0.0,pip==26.2.2,Pygments==2.21.0,pyparsing==3.3.3,python-dateutil==3.0.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==3.0.1,robotframework==7.5,roman-numerals==4.1.0,rpds-py==2026.9.1,setuptools==84.2.1,six==1.17.0,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==9.0.0,sphinx-tabs==3.5.0,sphinx_mdinclude==0.6.2,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.2.1,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==2.0.0,sphinxcontrib-mermaid==2.1.1,sphinxcontrib-openapi==0.10.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,tzdata==2026.5,ub-project==1.1.0,urllib3==2.8.0 10:29:00 docs: commands[0]> sphinx-build -W -n -b html -d /w/workspace/integration-test-tox-verify-master/.tox/docs/tmp/doctrees ./docs/ /w/workspace/integration-test-tox-verify-master/docs/_build/html 10:29:00 Running Sphinx v9.0.4 10:29:00 /w/workspace/integration-test-tox-verify-master/csit/libraries /w/workspace/integration-test-tox-verify-master/docs 10:29:00 /w/workspace/integration-test-tox-verify-master/docs/_static/integration/robot /w/workspace/integration-test-tox-verify-master/csit/libraries /w/workspace/integration-test-tox-verify-master/docs 10:29:00 /w/workspace/integration-test-tox-verify-master/csit/libraries /w/workspace/integration-test-tox-verify-master/docs 10:29:00 /w/workspace/integration-test-tox-verify-master/docs/_build/robot /w/workspace/integration-test-tox-verify-master/csit/libraries /w/workspace/integration-test-tox-verify-master/docs 10:29:00 /w/workspace/integration-test-tox-verify-master/csit/libraries /w/workspace/integration-test-tox-verify-master/docs 10:29:01 /w/workspace/integration-test-tox-verify-master/docs/_build/robot/WorkflowsL2switch.robot.html 10:29:01 /w/workspace/integration-test-tox-verify-master/docs/_build/robot/YangCollection.robot.html 10:29:01 /w/workspace/integration-test-tox-verify-master/docs/_build/robot/AAAJsonUtils.py.html 10:29:01 /w/workspace/integration-test-tox-verify-master/docs/_build/robot/MdsalLowlevelPy.py.html 10:29:01 Importing library '/w/workspace/integration-test-tox-verify-master/csit/libraries/MininetTopo/topo-3sw-2host_multipath.py' failed: ModuleNotFoundError: No module named 'mininet' 10:29:01 Traceback (most recent call last): 10:29:01 File "/w/workspace/integration-test-tox-verify-master/csit/libraries/MininetTopo/topo-3sw-2host_multipath.py", line 11, in 10:29:01 from mininet.topo import Topo 10:29:01 PYTHONPATH: 10:29:01 /w/workspace/integration-test-tox-verify-master/csit/libraries/MininetTopo 10:29:01 /w/workspace/integration-test-tox-verify-master/csit/libraries 10:29:01 /opt/pyenv/versions/3.11.10/lib/python311.zip 10:29:01 /opt/pyenv/versions/3.11.10/lib/python3.11 10:29:01 /opt/pyenv/versions/3.11.10/lib/python3.11/lib-dynload 10:29:01 /w/workspace/integration-test-tox-verify-master/.tox/docs/lib/python3.11/site-packages 10:29:01 10:29:01 Try --help for usage information. 10:29:01 parallel: This job failed: 10:29:01 python -m robot.libdoc MininetTopo/topo-3sw-2host_multipath.py /w/workspace/integration-test-tox-verify-master/docs/_build/robot/MininetTopo/topo-3sw-2host_multipath.py.html 10:29:01 /w/workspace/integration-test-tox-verify-master/docs 10:29:01 /w/workspace/integration-test-tox-verify-master/docs/_build/robot /w/workspace/integration-test-tox-verify-master/docs 10:29:01 /w/workspace/integration-test-tox-verify-master/docs 10:29:01 loading translations [en]... done 10:29:02 making output directory... done 10:29:02 Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. 10:29:02 loading intersphinx inventory 'common-packer' from https://docs.releng.linuxfoundation.org/projects/common-packer/en/stable/objects.inv ... 10:29:02 loading intersphinx inventory 'global-jjb' from https://docs.releng.linuxfoundation.org/projects/global-jjb/en/stable/objects.inv ... 10:29:02 loading intersphinx inventory 'lfdocs' from https://docs.releng.linuxfoundation.org/en/latest/objects.inv ... 10:29:02 loading intersphinx inventory 'lfdocs-conf' from https://docs.releng.linuxfoundation.org/projects/lfdocs-conf/en/stable/objects.inv ... 10:29:02 loading intersphinx inventory 'lftools' from https://docs.releng.linuxfoundation.org/projects/lftools/en/stable/objects.inv ... 10:29:02 loading intersphinx inventory 'pipelines' from https://docs.releng.linuxfoundation.org/projects/pipelines/en/latest/objects.inv ... 10:29:02 loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ... 10:29:02 loading intersphinx inventory 'odl-releng-builder' from http://docs.opendaylight.org/projects/releng-builder/en/latest/objects.inv ... 10:29:02 intersphinx inventory has moved: http://docs.opendaylight.org/projects/releng-builder/en/latest/objects.inv -> https://docs.opendaylight.org/projects/releng-builder/en/latest/objects.inv 10:29:02 building [mo]: targets for 0 po files that are out of date 10:29:02 writing output... 10:29:02 building [html]: targets for 12 source files that are out of date 10:29:02 updating environment: [new config] 12 added, 0 changed, 0 removed 10:29:02 reading sources... [ 8%] cluster/carbon/caveats 10:29:02 reading sources... [ 17%] cluster/carbon/index 10:29:02 reading sources... [ 25%] cluster/carbon/release 10:29:02 reading sources... [ 33%] cluster/carbon/sandbox 10:29:02 reading sources... [ 42%] cluster/carbon/scenarios 10:29:03 reading sources... [ 50%] cluster/carbon/sr1 10:29:03 reading sources... [ 58%] cluster/carbon/sr2 10:29:03 reading sources... [ 67%] cluster/carbon/tests 10:29:03 reading sources... [ 75%] cluster/index 10:29:03 reading sources... [ 83%] index 10:29:03 reading sources... [ 92%] run-test-locally 10:29:03 reading sources... [100%] system-test-guide 10:29:03 10:29:03 looking for now-outdated files... none found 10:29:03 pickling environment... done 10:29:03 checking consistency... done 10:29:03 preparing documents... done 10:29:03 copying assets... 10:29:03 copying static files... 10:29:03 Writing evaluated template result to /w/workspace/integration-test-tox-verify-master/docs/_build/html/_static/basic.css 10:29:03 Writing evaluated template result to /w/workspace/integration-test-tox-verify-master/docs/_build/html/_static/language_data.js 10:29:03 Writing evaluated template result to /w/workspace/integration-test-tox-verify-master/docs/_build/html/_static/documentation_options.js 10:29:03 Writing evaluated template result to /w/workspace/integration-test-tox-verify-master/docs/_build/html/_static/js/versions.js 10:29:03 copying static files: done 10:29:03 copying extra files... 10:29:03 copying extra files: done 10:29:03 copying assets: done 10:29:03 writing output... [ 8%] cluster/carbon/caveats 10:29:03 writing output... [ 17%] cluster/carbon/index 10:29:03 writing output... [ 25%] cluster/carbon/release 10:29:03 writing output... [ 33%] cluster/carbon/sandbox 10:29:03 writing output... [ 42%] cluster/carbon/scenarios 10:29:03 writing output... [ 50%] cluster/carbon/sr1 10:29:03 writing output... [ 58%] cluster/carbon/sr2 10:29:03 writing output... [ 67%] cluster/carbon/tests 10:29:03 writing output... [ 75%] cluster/index 10:29:03 writing output... [ 83%] index 10:29:03 writing output... [ 92%] run-test-locally 10:29:03 writing output... [100%] system-test-guide 10:29:03 10:29:04 generating indices... genindex done 10:29:04 highlighting module code... 10:29:04 writing additional pages... search done 10:29:04 dumping search index in English (code: en)... done 10:29:04 dumping object inventory... done 10:29:04 build succeeded. 10:29:04 10:29:04 The HTML pages are in docs/_build/html. 10:29:04 docs: OK ✔ in 30.61 seconds 10:29:04 pre-commit: install_deps> python -I -m pip install pre-commit 10:29:07 pre-commit: freeze> python -m pip freeze --all 10:29:07 pre-commit: cfgv==3.5.0,distlib==0.4.4,filelock==4.2.4,identify==2.6.20,nodeenv==1.11.0,packaging==26.3,pip==26.2.2,platformdirs==4.13.5,pre_commit==4.7.0,python-discovery==1.6.4,PyYAML==6.0.3,setuptools==84.2.1,virtualenv==21.14.12 10:29:07 pre-commit: commands[0]> pre-commit run --all-files --show-diff-on-failure 10:29:07 [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. 10:29:07 [WARNING] repo `https://github.com/pre-commit/pre-commit-hooks` uses deprecated stage names (commit, push) which will be removed in a future version. Hint: often `pre-commit autoupdate --repo https://github.com/pre-commit/pre-commit-hooks` will fix this. if it does not -- consider reporting an issue to that repo. 10:29:07 [INFO] Initializing environment for https://github.com/PyCQA/flake8. 10:29:08 [INFO] Initializing environment for https://github.com/psf/black. 10:29:08 [INFO] Initializing environment for https://github.com/MarketSquare/robotframework-tidy. 10:29:09 [INFO] Initializing environment for https://github.com/MarketSquare/robotframework-tidy:robotframework==6.1.1. 10:29:10 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. 10:29:10 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. 10:29:11 [INFO] Initializing environment for local:rstcheck,sphinx. 10:29:11 [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. 10:29:11 [INFO] Once installed this environment will be reused. 10:29:11 [INFO] This may take a few minutes... 10:29:15 [INFO] Installing environment for https://github.com/PyCQA/flake8. 10:29:15 [INFO] Once installed this environment will be reused. 10:29:15 [INFO] This may take a few minutes... 10:29:19 [INFO] Installing environment for https://github.com/psf/black. 10:29:19 [INFO] Once installed this environment will be reused. 10:29:19 [INFO] This may take a few minutes... 10:29:24 [INFO] Installing environment for https://github.com/MarketSquare/robotframework-tidy. 10:29:24 [INFO] Once installed this environment will be reused. 10:29:24 [INFO] This may take a few minutes... 10:29:30 [INFO] Installing environment for local. 10:29:30 [INFO] Once installed this environment will be reused. 10:29:30 [INFO] This may take a few minutes... 10:29:43 trim trailing whitespace.................................................Passed 10:29:43 flake8...................................................................Failed 10:29:45 - hook id: flake8 10:29:45 - exit code: 1 10:29:45 10:29:45 tools/fastbgp/play.py:2682:28: W292 no newline at end of file 10:29:45 threaded_job(arguments) ^ 10:29:45 10:29:45 black....................................................................Failed 10:29:49 - hook id: black 10:29:49 - files were modified by this hook 10:29:49 10:29:49 reformatted tools/fastbgp/play.py 10:29:49 10:29:49 All done! ✨ 🍰 ✨ 10:29:49 1 file reformatted, 105 files left unchanged. 10:29:49 10:29:49 robotidy.................................................................Passed 10:29:50 rstcheck.................................................................Passed 10:29:51 pre-commit hook(s) made changes. 10:29:51 If you are seeing this message in CI, reproduce locally with: `pre-commit run --all-files`. 10:29:51 To run `pre-commit` as part of git workflow, use `pre-commit install`. 10:29:51 All changes made by hooks: 10:29:51 diff --git a/tools/fastbgp/play.py b/tools/fastbgp/play.py 10:29:51 index 9839bafe..3735b2ca 100755 10:29:51 --- a/tools/fastbgp/play.py 10:29:51 +++ b/tools/fastbgp/play.py 10:29:51 @@ -181,7 +181,9 @@ def parse_arguments(): 10:29:51 str_help = "Link-State NLRI supported" 10:29:51 parser.add_argument("--bgpls", default=False, type=bool, help=str_help) 10:29:51 str_help = "Link-State NLRI: Identifier" 10:29:51 - parser.add_argument("-lsid", "--lsid", dest="lsid", default=1, type=int, help=str_help) 10:29:51 + parser.add_argument( 10:29:51 + "-lsid", "--lsid", dest="lsid", default=1, type=int, help=str_help 10:29:51 + ) 10:29:51 str_help = "Link-State NLRI: Policy Color" 10:29:51 parser.add_argument( 10:29:51 "--color", "-lstid", dest="color", default=100, type=int, help=str_help 10:29:51 @@ -922,18 +924,16 @@ class MessageGenerator(object): 10:29:51 """ 10:29:51 if self.nlri_type == 6: 10:29:51 identifier = self.base_identifier + int(index / self.lsid_step) 10:29:51 - sid = ipaddr.IPv6Address(int(self.base_sid) + int(index / self.srv6_sid_step)) 10:29:51 + sid = ipaddr.IPv6Address( 10:29:51 + int(self.base_sid) + int(index / self.srv6_sid_step) 10:29:51 + ) 10:29:51 srv6_nlri_values = self.srv6_nlri_default.copy() 10:29:51 srv6_nlri_values["Identifier"] = identifier 10:29:51 srv6_nlri_values["SID"] = sid 10:29:51 return srv6_nlri_values 10:29:51 10:29:51 - identifier = self.ls_nlri_default["Identifier"] + int( 10:29:51 - index / self.lsid_step 10:29:51 - ) 10:29:51 - color = self.ls_nlri_default["Color"] + int( 10:29:51 - index / self.color_step 10:29:51 - ) 10:29:51 + identifier = self.ls_nlri_default["Identifier"] + int(index / self.lsid_step) 10:29:51 + color = self.ls_nlri_default["Color"] + int(index / self.color_step) 10:29:51 discriminator = self.ls_nlri_default["Discriminator"] + int( 10:29:51 index / self.discriminator_step 10:29:51 ) 10:29:51 @@ -1141,151 +1141,72 @@ class MessageGenerator(object): 10:29:51 optional_parameters_hex = b"" 10:29:51 if self.rfc4760 or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x01" 10:29:51 - b"\x00" 10:29:51 - b"\x01" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x01" b"\x00" b"\x01" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.ipv6 or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x02" 10:29:51 - b"\x00" 10:29:51 - b"\x01" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x02" b"\x00" b"\x01" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.bgpls or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x40\x04" 10:29:51 - b"\x00" 10:29:51 - b"\x47" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x40\x04" b"\x00" b"\x47" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.evpn or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x19" 10:29:51 - b"\x00" 10:29:51 - b"\x46" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x19" b"\x00" b"\x46" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.mvpn or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x01" 10:29:51 - b"\x00" 10:29:51 - b"\x05" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x01" b"\x00" b"\x05" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x02" 10:29:51 - b"\x00" 10:29:51 - b"\x05" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x02" b"\x00" b"\x05" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.l3vpn_mcast or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x01" 10:29:51 - b"\x00" 10:29:51 - b"\x81" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x01" b"\x00" b"\x81" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x02" 10:29:51 - b"\x00" 10:29:51 - b"\x81" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x02" b"\x00" b"\x81" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.l3vpn or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x01" 10:29:51 - b"\x00" 10:29:51 - b"\x80" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x01" b"\x00" b"\x80" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x02" 10:29:51 - b"\x00" 10:29:51 - b"\x80" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x02" b"\x00" b"\x80" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.rt_constrain or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x01" 10:29:51 - b"\x00" 10:29:51 - b"\x84" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x01" b"\x00" b"\x84" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.bgplu or self.allf: 10:29:51 optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x01" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x01" 10:29:51 - b"\x00" 10:29:51 - b"\x04" 10:29:51 + b"\x02" b"\x06" b"\x01" b"\x04" b"\x00\x01" b"\x00" b"\x04" 10:29:51 ) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 - optional_parameter_hex = ( 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x41" 10:29:51 - b"\x04" 10:29:51 - ) 10:29:51 - optional_parameter_hex += struct.pack( 10:29:51 - ">I", my_autonomous_system 10:29:51 - ) 10:29:51 + optional_parameter_hex = b"\x02" b"\x06" b"\x41" b"\x04" 10:29:51 + optional_parameter_hex += struct.pack(">I", my_autonomous_system) 10:29:51 optional_parameters_hex += optional_parameter_hex 10:29:51 10:29:51 if self.grace != 8: 10:29:51 @@ -1468,48 +1389,20 @@ class MessageGenerator(object): 10:29:51 10:29:51 path_attributes_hex = b"" 10:29:51 if not self.skipattr: 10:29:51 - path_attributes_hex += ( 10:29:51 - b"\x40" 10:29:51 - b"\x01" 10:29:51 - b"\x01" 10:29:51 - b"\x00" 10:29:51 - ) 10:29:51 - path_attributes_hex += ( 10:29:51 - b"\x40" 10:29:51 - b"\x02" 10:29:51 - b"\x06" 10:29:51 - b"\x02" 10:29:51 - b"\x01" 10:29:51 - ) 10:29:51 + path_attributes_hex += b"\x40" b"\x01" b"\x01" b"\x00" 10:29:51 + path_attributes_hex += b"\x40" b"\x02" b"\x06" b"\x02" b"\x01" 10:29:51 my_as_hex = struct.pack(">I", my_autonomous_system) 10:29:51 path_attributes_hex += my_as_hex 10:29:51 - path_attributes_hex += ( 10:29:51 - b"\x40" 10:29:51 - b"\x05" 10:29:51 - b"\x04" 10:29:51 - b"\x00\x00\x00\x64" 10:29:51 - ) 10:29:51 + path_attributes_hex += b"\x40" b"\x05" b"\x04" b"\x00\x00\x00\x64" 10:29:51 if nlri_prefixes != []: 10:29:51 - path_attributes_hex += ( 10:29:51 - b"\x40" 10:29:51 - b"\x03" 10:29:51 - b"\x04" 10:29:51 - ) 10:29:51 + path_attributes_hex += b"\x40" b"\x03" b"\x04" 10:29:51 next_hop_hex = struct.pack(">I", int(next_hop)) 10:29:51 path_attributes_hex += next_hop_hex 10:29:51 if originator_id is not None: 10:29:51 - path_attributes_hex += ( 10:29:51 - b"\x80" 10:29:51 - b"\x09" 10:29:51 - b"\x04" 10:29:51 - ) 10:29:51 + path_attributes_hex += b"\x80" b"\x09" b"\x04" 10:29:51 path_attributes_hex += struct.pack(">I", int(originator_id)) 10:29:51 if cluster_list_item is not None: 10:29:51 - path_attributes_hex += ( 10:29:51 - b"\x80" 10:29:51 - b"\x0a" 10:29:51 - b"\x04" 10:29:51 - ) 10:29:51 + path_attributes_hex += b"\x80" b"\x0a" b"\x04" 10:29:51 path_attributes_hex += struct.pack(">I", int(cluster_list_item)) 10:29:51 10:29:51 if self.bgpls and not end_of_rib: 10:29:51 @@ -1554,17 +1447,12 @@ class MessageGenerator(object): 10:29:51 mp_reach_content = ( 10:29:51 b"\x40\x04" 10:29:51 b"\x47" 10:29:51 - b"\x04" 10:29:51 - + struct.pack(">I", int(next_hop)) 10:29:51 - + b"\x00" 10:29:51 - + nlri 10:29:51 + b"\x04" + struct.pack(">I", int(next_hop)) + b"\x00" + nlri 10:29:51 ) 10:29:51 10:29:51 path_attributes_hex += ( 10:29:51 b"\x80" 10:29:51 - b"\x0e" 10:29:51 - + struct.pack("B", len(mp_reach_content)) 10:29:51 - + mp_reach_content 10:29:51 + b"\x0e" + struct.pack("B", len(mp_reach_content)) + mp_reach_content 10:29:51 ) 10:29:51 10:29:51 elif self.nlri_type == 6: 10:29:51 @@ -1604,9 +1492,7 @@ class MessageGenerator(object): 10:29:51 10:29:51 path_attributes_hex += ( 10:29:51 b"\x80" 10:29:51 - b"\x0e" 10:29:51 - + struct.pack("B", len(mp_reach_content)) 10:29:51 - + mp_reach_content 10:29:51 + b"\x0e" + struct.pack("B", len(mp_reach_content)) + mp_reach_content 10:29:51 ) 10:29:51 10:29:51 # 5. BGP-LS Attribute (Attribute 29) 10:29:51 @@ -1632,9 +1518,7 @@ class MessageGenerator(object): 10:29:51 attr_29_content = tlv_1250 + tlv_1252 10:29:51 path_attributes_hex += ( 10:29:51 b"\x80" 10:29:51 - b"\x1d" 10:29:51 - + struct.pack("B", len(attr_29_content)) 10:29:51 - + attr_29_content 10:29:51 + b"\x1d" + struct.pack("B", len(attr_29_content)) + attr_29_content 10:29:51 ) 10:29:51 10:29:51 total_path_attributes_length = len(path_attributes_hex) 10:29:51 @@ -2679,4 +2563,4 @@ def threaded_job(arguments): 10:29:51 if __name__ == "__main__": 10:29:51 arguments = parse_arguments() 10:29:51 logger = create_logger(arguments.loglevel, arguments.logfile) 10:29:51 - threaded_job(arguments) 10:29:51 \ No newline at end of file 10:29:51 + threaded_job(arguments) 10:29:51 pre-commit: exit 1 (43.91 seconds) /w/workspace/integration-test-tox-verify-master> pre-commit run --all-files --show-diff-on-failure pid=2588 10:29:51 pre-commit: FAIL ✖ in 46.96 seconds 10:29:51 gitlint: install_deps> python -I -m pip install gitlint 10:29:55 gitlint: freeze> python -m pip freeze --all 10:29:55 gitlint: arrow==1.2.3,click==8.1.3,gitlint==0.19.1,gitlint-core==0.19.1,pip==26.2.2,python-dateutil==3.0.0,setuptools==84.2.1,sh==1.14.3,six==1.17.0,tzdata==2026.5 10:29:55 gitlint: commands[0]> gitlint 10:29:55 docs: OK (30.61=setup[26.49]+cmd[4.12] seconds) 10:29:55 pre-commit: FAIL code 1 (46.95=setup[3.04]+cmd[43.91] seconds) 10:29:55 gitlint: OK (4.66=setup[4.48]+cmd[0.18] seconds) 10:29:55 evaluation failed :( (82.26 seconds) 10:29:55 + tox_status=1 10:29:55 + echo '---> Completed tox runs' 10:29:55 ---> Completed tox runs 10:29:55 + for i in .tox/*/log 10:29:55 ++ echo .tox/docs/log 10:29:55 ++ awk -F/ '{print $2}' 10:29:55 + tox_env=docs 10:29:55 + cp -r .tox/docs/log /w/workspace/integration-test-tox-verify-master/archives/tox/docs 10:29:55 + for i in .tox/*/log 10:29:55 ++ echo .tox/gitlint/log 10:29:55 ++ awk -F/ '{print $2}' 10:29:55 + tox_env=gitlint 10:29:55 + cp -r .tox/gitlint/log /w/workspace/integration-test-tox-verify-master/archives/tox/gitlint 10:29:55 + for i in .tox/*/log 10:29:55 ++ echo .tox/pre-commit/log 10:29:55 ++ awk -F/ '{print $2}' 10:29:55 + tox_env=pre-commit 10:29:55 + cp -r .tox/pre-commit/log /w/workspace/integration-test-tox-verify-master/archives/tox/pre-commit 10:29:55 + DOC_DIR=docs/_build/html 10:29:55 + [[ -d docs/_build/html ]] 10:29:55 + echo '---> Archiving generated docs' 10:29:55 ---> Archiving generated docs 10:29:55 + mv docs/_build/html /w/workspace/integration-test-tox-verify-master/archives/docs 10:29:55 + echo '---> tox-run.sh ends' 10:29:55 ---> tox-run.sh ends 10:29:55 + test 1 -eq 0 10:29:55 + exit 1 10:29:55 ++ '[' 1 = 1 ']' 10:29:55 ++ '[' -x /usr/bin/clear_console ']' 10:29:55 ++ /usr/bin/clear_console -q 10:29:55 Build step 'Execute shell' marked build as failure 10:29:55 $ ssh-agent -k 10:29:55 unset SSH_AUTH_SOCK; 10:29:55 unset SSH_AGENT_PID; 10:29:55 echo Agent pid 1529 killed; 10:29:55 [ssh-agent] Stopped. 10:29:56 [PostBuildScript] - [INFO] Executing post build scripts. 10:29:56 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins5309106017049546877.sh 10:29:56 ---> sysstat.sh 10:29:56 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins14906282875183444473.sh 10:29:56 ---> package-listing.sh 10:29:56 + '[' -f /etc/os-release ']' 10:29:56 + . /etc/os-release 10:29:56 ++ PRETTY_NAME='Ubuntu 22.04.5 LTS' 10:29:56 ++ NAME=Ubuntu 10:29:56 ++ VERSION_ID=22.04 10:29:56 ++ VERSION='22.04.5 LTS (Jammy Jellyfish)' 10:29:56 ++ VERSION_CODENAME=jammy 10:29:56 ++ ID=ubuntu 10:29:56 ++ ID_LIKE=debian 10:29:56 ++ HOME_URL=https://www.ubuntu.com/ 10:29:56 ++ SUPPORT_URL=https://help.ubuntu.com/ 10:29:56 ++ BUG_REPORT_URL=https://bugs.launchpad.net/ubuntu/ 10:29:56 ++ PRIVACY_POLICY_URL=https://www.ubuntu.com/legal/terms-and-policies/privacy-policy 10:29:56 ++ UBUNTU_CODENAME=jammy 10:29:56 + case " ${ID:-} ${ID_LIKE:-} " in 10:29:56 + OS_FAMILY=debian 10:29:56 + workspace=/w/workspace/integration-test-tox-verify-master 10:29:56 + START_PACKAGES=/tmp/packages_start.txt 10:29:56 + END_PACKAGES=/tmp/packages_end.txt 10:29:56 + DIFF_PACKAGES=/tmp/packages_diff.txt 10:29:56 + PACKAGES=/tmp/packages_start.txt 10:29:56 + '[' /w/workspace/integration-test-tox-verify-master ']' 10:29:56 + PACKAGES=/tmp/packages_end.txt 10:29:56 + case "${OS_FAMILY}" in 10:29:56 + dpkg -l 10:29:56 + grep '^ii' 10:29:56 + '[' -f /tmp/packages_start.txt ']' 10:29:56 + '[' -f /tmp/packages_end.txt ']' 10:29:56 + diff /tmp/packages_start.txt /tmp/packages_end.txt 10:29:56 + '[' /w/workspace/integration-test-tox-verify-master ']' 10:29:56 + mkdir -p /w/workspace/integration-test-tox-verify-master/archives/ 10:29:56 + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/integration-test-tox-verify-master/archives/ 10:29:56 + exit 0 10:29:56 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins1461651541912699887.sh 10:29:56 ---> capture-instance-metadata.sh 10:29:56 Setup pyenv: 10:29:56 system 10:29:56 3.8.20 10:29:56 3.9.20 10:29:56 3.10.15 10:29:56 * 3.11.10 (set by /w/workspace/integration-test-tox-verify-master/.python-version) 10:29:56 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Ee2U from file:/tmp/.os_lf_venv 10:29:56 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:29:58 lf-activate-venv(): INFO: Installing additional packages: lftools 10:30:12 lf-activate-venv(): INFO: Adding /tmp/venv-Ee2U/bin to PATH 10:30:12 INFO: Running in OpenStack, capturing instance metadata 10:30:13 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins3699061686998880750.sh 10:30:13 provisioning config files... 10:30:13 Could not find credentials [logs] for integration-test-tox-verify-master #10274 10:30:13 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/integration-test-tox-verify-master@tmp/config13031522696139392040tmp 10:30:13 Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] 10:30:13 Run condition [Regular expression match] enabling perform for step [Provide Configuration files] 10:30:13 provisioning config files... 10:30:13 copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials 10:30:13 [EnvInject] - Injecting environment variables from a build step. 10:30:13 [EnvInject] - Injecting as environment variables the properties content 10:30:13 SERVER_ID=logs 10:30:13 10:30:13 [EnvInject] - Variables injected successfully. 10:30:13 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins11782275203226382765.sh 10:30:13 ---> create-netrc.sh 10:30:13 WARN: Log server credential not found. 10:30:13 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins3985271456327894827.sh 10:30:13 ---> python-tools-install.sh 10:30:13 Setup pyenv: 10:30:14 system 10:30:14 3.8.20 10:30:14 3.9.20 10:30:14 3.10.15 10:30:14 * 3.11.10 (set by /w/workspace/integration-test-tox-verify-master/.python-version) 10:30:14 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Ee2U from file:/tmp/.os_lf_venv 10:30:14 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:30:15 lf-activate-venv(): INFO: Installing additional packages: lftools 10:30:25 lf-activate-venv(): INFO: Adding /tmp/venv-Ee2U/bin to PATH 10:30:25 [integration-test-tox-verify-master] $ /bin/sh /tmp/jenkins7843688952409943847.sh 10:30:25 ---> uv-install.sh 10:30:25 uv 0.13.5 is already installed 10:30:25 uvx 0.13.5 (x86_64-unknown-linux-gnu) 10:30:25 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins9725567271770580088.sh 10:30:25 ---> sudo-logs.sh 10:30:25 Archiving 'sudo' log.. 10:30:25 [integration-test-tox-verify-master] $ /bin/bash /tmp/jenkins14349423347125148615.sh 10:30:25 ---> job-cost.sh 10:30:25 INFO: Activating Python virtual environment... 10:30:25 Setup pyenv: 10:30:25 system 10:30:25 3.8.20 10:30:25 3.9.20 10:30:25 3.10.15 10:30:25 * 3.11.10 (set by /w/workspace/integration-test-tox-verify-master/.python-version) 10:30:25 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Ee2U from file:/tmp/.os_lf_venv 10:30:25 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:30:27 lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 10:30:34 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 10:30:34 botocore 1.43.117 requires python-dateutil<3.0.0,>=2.1, but you have python-dateutil 3.0.0 which is incompatible. 10:30:35 lf-activate-venv(): INFO: Adding /tmp/venv-Ee2U/bin to PATH 10:30:35 INFO: No stack-cost file found 10:30:35 INFO: Instance uptime: 253s 10:30:35 INFO: Fetching instance metadata (attempt 1 of 3)... 10:30:35 DEBUG: URL: http://169.254.169.254/latest/meta-data/instance-type 10:30:35 INFO: Successfully fetched instance metadata 10:30:35 INFO: Instance type: v3-standard-2 10:30:35 INFO: Retrieving pricing info for: v3-standard-2 10:30:35 INFO: Fetching Vexxhost pricing API (attempt 1 of 3)... 10:30:35 DEBUG: URL: https://pricing.vexxhost.net/v1/pricing/v3-standard-2/cost?seconds=253 10:30:35 INFO: Successfully fetched Vexxhost pricing API 10:30:35 INFO: Retrieved cost: 0.06 10:30:35 INFO: Retrieved resource: v3-standard-2 10:30:35 INFO: Creating archive directory: /w/workspace/integration-test-tox-verify-master/archives/cost 10:30:36 INFO: Archiving costs to: /w/workspace/integration-test-tox-verify-master/archives/cost.csv 10:30:36 INFO: Successfully archived job cost data 10:30:36 DEBUG: Cost data: integration-test-tox-verify-master,10274,2026-10-22 10:30:35,v3-standard-2,253,0.06,0.00,FAILURE 10:30:36 [integration-test-tox-verify-master] $ /bin/bash -l /tmp/jenkins10924498871552407821.sh 10:30:36 ---> logs-deploy.sh 10:30:36 Setup pyenv: 10:30:36 system 10:30:36 3.8.20 10:30:36 3.9.20 10:30:36 3.10.15 10:30:36 * 3.11.10 (set by /w/workspace/integration-test-tox-verify-master/.python-version) 10:30:36 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Ee2U from file:/tmp/.os_lf_venv 10:30:36 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 10:30:38 lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 10:30:48 lf-activate-venv(): INFO: Adding /tmp/venv-Ee2U/bin to PATH 10:30:48 WARNING: Nexus logging server not set 10:30:48 INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/integration-test-tox-verify-master/10274/ 10:30:48 INFO: archiving logs to S3 10:30:49 ---> uname -a: 10:30:49 Linux prd-ubuntu2204-builder-2c-2g-66254 5.15.0-194-generic #204-Ubuntu SMP Wed Sep 2 13:09:23 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux 10:30:49 10:30:49 10:30:49 ---> lscpu: 10:30:49 Architecture: x86_64 10:30:49 CPU op-mode(s): 32-bit, 64-bit 10:30:49 Address sizes: 40 bits physical, 48 bits virtual 10:30:49 Byte Order: Little Endian 10:30:49 CPU(s): 2 10:30:49 On-line CPU(s) list: 0,1 10:30:49 Vendor ID: AuthenticAMD 10:30:49 Model name: AMD EPYC-Rome Processor 10:30:49 CPU family: 23 10:30:49 Model: 49 10:30:49 Thread(s) per core: 1 10:30:49 Core(s) per socket: 1 10:30:49 Socket(s): 2 10:30:49 Stepping: 0 10:30:49 BogoMIPS: 5599.99 10:30:49 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip rdpid arch_capabilities 10:30:49 Virtualization: AMD-V 10:30:49 Hypervisor vendor: KVM 10:30:49 Virtualization type: full 10:30:49 L1d cache: 64 KiB (2 instances) 10:30:49 L1i cache: 64 KiB (2 instances) 10:30:49 L2 cache: 1 MiB (2 instances) 10:30:49 L3 cache: 32 MiB (2 instances) 10:30:49 NUMA node(s): 1 10:30:49 NUMA node0 CPU(s): 0,1 10:30:49 Vulnerability Gather data sampling: Not affected 10:30:49 Vulnerability Indirect target selection: Not affected 10:30:49 Vulnerability Itlb multihit: Not affected 10:30:49 Vulnerability L1tf: Not affected 10:30:49 Vulnerability Mds: Not affected 10:30:49 Vulnerability Meltdown: Not affected 10:30:49 Vulnerability Mmio stale data: Not affected 10:30:49 Vulnerability Reg file data sampling: Not affected 10:30:49 Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled 10:30:49 Vulnerability Spec rstack overflow: Mitigation; SMT disabled 10:30:49 Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp 10:30:49 Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization 10:30:49 Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected 10:30:49 Vulnerability Srbds: Not affected 10:30:49 Vulnerability Tsa: Not affected 10:30:49 Vulnerability Tsx async abort: Not affected 10:30:49 Vulnerability Vmscape: Not affected 10:30:49 10:30:49 10:30:49 ---> nproc: 10:30:49 2 10:30:49 10:30:49 10:30:49 ---> df -h: 10:30:49 Filesystem Size Used Avail Use% Mounted on 10:30:49 tmpfs 794M 1.1M 793M 1% /run 10:30:49 /dev/vda1 39G 12G 28G 30% / 10:30:49 tmpfs 3.9G 0 3.9G 0% /dev/shm 10:30:49 tmpfs 5.0M 0 5.0M 0% /run/lock 10:30:49 /dev/vda15 105M 6.1M 99M 6% /boot/efi 10:30:49 tmpfs 794M 4.0K 794M 1% /run/user/1001 10:30:49 10:30:49 10:30:49 ---> free -m: 10:30:49 total used free shared buff/cache available 10:30:49 Mem: 7937 543 3807 4 3587 7082 10:30:49 Swap: 1023 0 1023 10:30:49 10:30:49 10:30:49 ---> ip addr: 10:30:49 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 10:30:49 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 10:30:49 inet 127.0.0.1/8 scope host lo 10:30:49 valid_lft forever preferred_lft forever 10:30:49 inet6 ::1/128 scope host 10:30:49 valid_lft forever preferred_lft forever 10:30:49 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 10:30:49 link/ether fa:16:3e:c9:ff:bd brd ff:ff:ff:ff:ff:ff 10:30:49 altname enp0s3 10:30:49 inet 10.30.171.154/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 10:30:49 valid_lft 86142sec preferred_lft 86142sec 10:30:49 inet6 fe80::f816:3eff:fec9:ffbd/64 scope link 10:30:49 valid_lft forever preferred_lft forever 10:30:49 3: docker0: mtu 1458 qdisc noqueue state DOWN group default 10:30:49 link/ether 32:32:bd:54:95:51 brd ff:ff:ff:ff:ff:ff 10:30:49 inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 10:30:49 valid_lft forever preferred_lft forever 10:30:49 10:30:49 10:30:49 ---> sar -b -r -n DEV: 10:30:49 Linux 5.15.0-194-generic (prd-ubuntu2204-builder-2c-2g-66254) 10/22/26 _x86_64_ (2 CPU) 10:30:49 10:30:49 10:26:32 LINUX RESTART (2 CPU) 10:30:49 10:30:49 10:30:49 ---> sar -P ALL: 10:30:49 Linux 5.15.0-194-generic (prd-ubuntu2204-builder-2c-2g-66254) 10/22/26 _x86_64_ (2 CPU) 10:30:49 10:30:49 10:26:32 LINUX RESTART (2 CPU) 10:30:49 10:30:49 10:30:49