Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/transportpce/+/120829 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu2204-docker-4c-16g-32650 (ubuntu2204-docker-4c-16g) in workspace /w/workspace/transportpce-tox-verify-transportpce-master [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-XXXXXXvCqxm3/agent.7413 SSH_AGENT_PID=7415 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_9455027072270255688.key (/w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_9455027072270255688.key) [ssh-agent] Using credentials jenkins (jenkins-ssh) The recommended git tool is: NONE using credential jenkins-ssh Wiping out workspace first. Cloning the remote Git repository Cloning repository git://devvexx.opendaylight.org/mirror/transportpce > git init /w/workspace/transportpce-tox-verify-transportpce-master # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce > git --version # timeout=10 > git --version # 'git version 2.34.1' using GIT_SSH to set credentials jenkins-ssh Verifying host key using known hosts file, will automatically accept unseen keys > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce using GIT_SSH to set credentials jenkins-ssh Verifying host key using known hosts file, will automatically accept unseen keys > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce refs/changes/29/120829/27 # timeout=10 > git rev-parse 70c875843ae63be603c0cb87fb8a5e929a2d5fd4^{commit} # timeout=10 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script Checking out Revision 70c875843ae63be603c0cb87fb8a5e929a2d5fd4 (refs/changes/29/120829/27) > git config core.sparsecheckout # timeout=10 > git checkout -f 70c875843ae63be603c0cb87fb8a5e929a2d5fd4 # timeout=10 Commit message: "Support for openconfig 2.0" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk e9fe4607d5219af36843c31baa720e0f62240f8d # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 ERROR: No submodules found. provisioning config files... copy managed file [npmrc] to file:/home/jenkins/.npmrc copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins6468328169566979913.sh ---> python-tools-install.sh Setup pyenv: * system (set by /opt/pyenv/version) * 3.8.20 (set by /opt/pyenv/version) * 3.9.20 (set by /opt/pyenv/version) 3.10.15 3.11.10 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-n9o7 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-n9o7/bin to PATH Generating Requirements File ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. httplib2 0.30.2 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. Python 3.11.10 pip 26.1.2 from /tmp/venv-n9o7/lib/python3.11/site-packages/pip (python 3.11) aiohappyeyeballs==2.7.1 aiohttp==3.14.1 aiosignal==1.4.0 appdirs==1.4.4 argcomplete==3.7.0 aspy.yaml==1.3.0 attrs==26.1.0 autopage==0.6.0 beautifulsoup4==4.15.0 boto3==1.43.40 botocore==1.43.40 bs4==0.0.2 certifi==2026.6.17 cffi==2.0.0 cfgv==3.5.0 chardet==7.4.3 charset-normalizer==3.4.7 click==8.4.2 cliff==4.14.0 cmd2==4.0.0 cryptography==3.3.2 debtcollector==3.1.0 decorator==5.3.1 defusedxml==0.7.1 Deprecated==1.3.1 distlib==0.4.3 dnspython==2.8.0 docker==7.1.0 dogpile.cache==1.5.0 durationpy==0.10 email-validator==2.3.0 filelock==3.29.5 frozenlist==1.8.0 future==1.0.0 gitdb==4.0.12 GitPython==3.1.50 httplib2==0.30.2 identify==2.6.19 idna==3.18 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.6 jmespath==1.1.0 jsonpatch==1.33 jsonpointer==3.1.1 jsonschema==4.26.0 jsonschema-specifications==2025.9.1 keystoneauth1==5.15.0 kubernetes==36.0.2 lftools==0.37.22 lxml==6.1.1 markdown-it-py==4.2.0 MarkupSafe==3.0.3 mdurl==0.1.2 msgpack==1.2.1 multi_key_dict==2.0.3 multidict==6.7.1 munch==4.0.0 netaddr==1.3.0 niet==1.4.2 nodeenv==1.10.0 oauth2client==4.1.3 oauthlib==3.3.1 openstacksdk==4.17.0 os-service-types==1.8.2 osc-lib==4.6.0 oslo.config==10.5.0 oslo.context==6.4.0 oslo.i18n==6.8.0 oslo.log==8.2.0 oslo.serialization==5.10.0 oslo.utils==10.1.1 packaging==26.2 pbr==7.0.3 platformdirs==4.10.0 prettytable==3.18.0 prompt_toolkit==3.0.52 propcache==0.5.2 psutil==7.2.2 pyasn1==0.6.3 pyasn1_modules==0.4.2 pycparser==3.0 pygerrit2==2.0.15 PyGithub==2.9.1 Pygments==2.20.0 PyJWT==2.13.0 PyNaCl==1.6.2 pyparsing==2.4.7 pyperclip==1.11.0 pyrsistent==0.20.0 python-cinderclient==9.9.0 python-dateutil==2.9.0.post0 python-discovery==1.4.3 python-heatclient==5.2.0 python-jenkins==1.8.3 python-keystoneclient==5.8.0 python-magnumclient==4.11.0 python-openstackclient==10.1.0 python-swiftclient==4.10.0 PyYAML==6.0.3 referencing==0.37.0 requests==2.34.2 requests-oauthlib==2.0.0 rfc3986==2.0.0 rich==15.0.0 rich-argparse==1.8.0 rpds-py==2026.6.3 rsa==4.9.1 ruamel.yaml==0.19.1 ruamel.yaml.clib==0.2.15 s3transfer==0.19.0 simplejson==4.1.1 six==1.17.0 smmap==5.0.3 soupsieve==2.8.4 stevedore==5.9.0 tabulate==0.10.0 toml==0.10.2 tomlkit==0.15.0 tqdm==4.68.3 typing_extensions==4.16.0 urllib3==1.26.20 virtualenv==21.5.1 wcwidth==0.8.2 websocket-client==1.9.0 wrapt==2.2.2 xdg==6.0.0 xmltodict==1.0.4 yarl==1.24.2 yq==4.1.1 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins11253513470242301956.sh ---> uv-install.sh Installing uv/uvx (latest) using shell installer 2026-07-04 09:03:24 URL:https://releases.astral.sh/installers/uv/latest/uv-installer.sh [71233/71233] -> "/tmp/uv-install-7ytmPZ.sh" [1] downloading uv 0.11.26 x86_64-unknown-linux-gnu installing to /home/jenkins/.local/bin uv uvx everything's installed! To add $HOME/.local/bin to your PATH, either restart your shell or run: source $HOME/.local/bin/env (sh, bash, zsh) source $HOME/.local/bin/env.fish (fish) Adding install location to PATH ---> Validating uv/uvx install uvx 0.11.26 (x86_64-unknown-linux-gnu) [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PYTHON=python3 [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins12902850423357900660.sh ---> tox-install.sh + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-9DRg + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ sed 's/^[ *]* //' ++ awk '{ print $1 }' ++ grep -E '^[0-9.]*[0-9]$' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ tail -n 1 +++ sort -V ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] + [[ ! -f /tmp/.toxenv ]] + [[ -n '' ]] + python3 -m venv /tmp/venv-9DRg + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-9DRg' lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-9DRg + echo /tmp/venv-9DRg + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' lf-activate-venv(): INFO: Attempting to install with network-safe options... + /tmp/venv-9DRg/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + echo 'lf-activate-venv(): INFO: Base packages installed successfully' lf-activate-venv(): INFO: Base packages installed successfully + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + /tmp/venv-9DRg/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-9DRg/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-9DRg/bin to PATH + PATH=/tmp/venv-9DRg/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + return 0 + python3 --version Python 3.11.10 + python3 -m pip --version pip 26.1.2 from /tmp/venv-9DRg/lib/python3.11/site-packages/pip (python 3.11) + python3 -m pip freeze cachetools==7.1.4 colorama==0.4.6 distlib==0.4.3 filelock==3.29.5 packaging==26.2 platformdirs==4.10.0 pluggy==1.6.0 pyproject-api==1.10.1 python-discovery==1.4.3 tomli_w==1.2.0 tox==4.56.1 urllib3==1.26.20 virtualenv==21.5.1 [transportpce-tox-verify-transportpce-master] $ /bin/sh -xe /tmp/jenkins16414189273638406496.sh [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PARALLEL=True [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins11049797536401965452.sh ---> tox-run.sh + 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 + ARCHIVE_TOX_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + ARCHIVE_DOC_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/docs + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + cd /w/workspace/transportpce-tox-verify-transportpce-master/. + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-gfO5 + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ sed 's/^[ *]* //' ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ grep -E '^[0-9.]*[0-9]$' ++ awk '{ print $1 }' ++ command pyenv versions ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] ++ cat /tmp/.toxenv + lf_venv=/tmp/venv-9DRg + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-9DRg from' file:/tmp/.toxenv lf-activate-venv(): INFO: Reuse venv:/tmp/venv-9DRg from file:/tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' lf-activate-venv(): INFO: Attempting to install with network-safe options... + /tmp/venv-9DRg/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + echo 'lf-activate-venv(): INFO: Base packages installed successfully' lf-activate-venv(): INFO: Base packages installed successfully + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + /tmp/venv-9DRg/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-9DRg/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-9DRg/bin to PATH + PATH=/tmp/venv-9DRg/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 + return 0 + [[ -d /opt/pyenv ]] + echo '---> Setting up pyenv' ---> Setting up pyenv + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/tmp/venv-9DRg/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 + PATH=/opt/pyenv/bin:/tmp/venv-9DRg/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 ++ pwd + PYTHONPATH=/w/workspace/transportpce-tox-verify-transportpce-master + export PYTHONPATH + export TOX_TESTENV_PASSENV=PYTHONPATH + TOX_TESTENV_PASSENV=PYTHONPATH + tox --version 4.56.1 from /tmp/venv-9DRg/lib/python3.11/site-packages/tox/__init__.py + PARALLEL=True + TOX_OPTIONS_LIST= + [[ -n '' ]] + case ${PARALLEL,,} in + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' + tox --parallel auto --parallel-live + tee -a /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tox.log docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt docs: install_deps> python -I -m pip install -r docs/requirements.txt buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt checkbashisms: freeze> python -m pip freeze --all checkbashisms: pip==26.1.2,setuptools==82.0.1 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'command checkbashisms>/dev/null || sudo yum install -y devscripts-checkbashisms || sudo yum install -y devscripts-minimal || sudo yum install -y devscripts || sudo yum install -y https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/31/Everything/x86_64/os/Packages/d/devscripts-checkbashisms-2.19.6-2.fc31.x86_64.rpm || (echo "checkbashisms command not found - please install it (e.g. sudo apt-get install devscripts | yum install devscripts-minimal )" >&2 && exit 1)' checkbashisms: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + checkbashisms: OK ✔ in 3.45 seconds pre-commit: install_deps> python -I -m pip install pre-commit pre-commit: freeze> python -m pip freeze --all pre-commit: cfgv==3.5.0,distlib==0.4.3,filelock==3.29.5,identify==2.6.19,nodeenv==1.10.0,pip==26.1.2,platformdirs==4.10.0,pre_commit==4.6.0,python-discovery==1.4.3,PyYAML==6.0.3,setuptools==82.0.1,virtualenv==21.5.1 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh pre-commit: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'which cpan || sudo yum install -y perl-CPAN || (echo "cpan command not found - please install it (e.g. sudo apt-get install perl-modules | yum install perl-CPAN )" >&2 && exit 1)' /usr/bin/cpan pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Initializing environment for https://github.com/hhatto/autopep8. [INFO] Initializing environment for https://github.com/perltidy/perltidy. buildcontroller: freeze> python -m pip freeze --all [INFO] Initializing environment for https://github.com/koalaman/shellcheck-precommit. buildcontroller: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,cryptography==49.0.0,dict2xml==1.7.8,idna==3.18,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.1,netconf-client==3.6.0,packaging==26.2,paramiko==5.0.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==82.0.1,urllib3==2.7.0 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh + update-java-alternatives -l java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64 + sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 update-alternatives: error: no alternatives for jaotc update-alternatives: error: no alternatives for rmic [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier. + java -version + sed -n ;s/.* version "\(.*\)\.\(.*\)\..*".*$/\1/p; + JAVA_VER=21 + echo 21 21 + javac -version + sed -n ;s/javac \(.*\)\.\(.*\)\..*.*$/\1/p; [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier:prettier@4.0.0-alpha.8. + JAVAC_VER=21 + echo 21 + [ 21 -ge 21 ] 21 ok, java is 21 or newer + [ 21 -ge 21 ] + echo ok, java is 21 or newer + wget -nv https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz -P /tmp 2026-07-04 09:03:49 URL:https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz [9278065/9278065] -> "/tmp/apache-maven-3.9.16-bin.tar.gz" [1] + sudo mkdir -p /opt + sudo tar xf /tmp/apache-maven-3.9.16-bin.tar.gz -C /opt [INFO] Initializing environment for https://github.com/adrienverge/yamllint. + sudo ln -s /opt/apache-maven-3.9.16 /opt/maven + sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn + mvn --version [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5) Maven home: /opt/maven Java version: 21.0.10, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-174-generic", arch: "amd64", family: "unix" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs-linkcheck: freeze> python -m pip freeze --all docs: freeze> python -m pip freeze --all docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.6.17,charset-normalizer==3.4.7,deepmerge==2.1.0,docutils==0.22.4,idna==3.18,imagesize==2.0.0,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.37.4,lfdocs_conf==0.11.0,MarkupSafe==3.0.3,minijinja==2.21.0,mistune==3.3.2,packaging==26.2,picobox==4.0.0,pip==26.1.2,Pygments==2.20.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==2.1.0,roman-numerals==4.1.0,rpds-py==2026.6.3,setuptools==82.0.1,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.2.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.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.0.2,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.7.0 docs-linkcheck: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/linkcheck docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.6.17,charset-normalizer==3.4.7,deepmerge==2.1.0,docutils==0.22.4,idna==3.18,imagesize==2.0.0,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.37.4,lfdocs_conf==0.11.0,MarkupSafe==3.0.3,minijinja==2.21.0,mistune==3.3.2,packaging==26.2,picobox==4.0.0,pip==26.1.2,Pygments==2.20.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==2.1.0,roman-numerals==4.1.0,rpds-py==2026.6.3,setuptools==82.0.1,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.2.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.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.0.2,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.7.0 docs: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/html docs: OK ✔ in 21.25 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' [INFO] Installing environment for https://github.com/hhatto/autopep8. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs-linkcheck: OK ✔ in 22.9 seconds pylint: freeze> python -m pip freeze --all pylint: astroid==4.0.4,dill==0.4.1,isort==8.0.1,mccabe==0.7.0,pip==26.1.2,platformdirs==4.10.0,pylint==4.0.6,setuptools==82.0.1,tomlkit==0.15.0 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}$' '{}' + [INFO] Installing environment for https://github.com/perltidy/perltidy. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/pre-commit/mirrors-prettier. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/adrienverge/yamllint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... trim trailing whitespace.................................................Passed fix end of files.........................................................Passed check for added large files..............................................Passed check for merge conflicts................................................Passed check for case conflicts.................................................Passed check json...............................................................Passed mixed line ending........................................................Passed Tabs remover.............................................................Passed autopep8................................................................. ------------------------------------ Your code has been rated at 10.00/10 Failed - hook id: autopep8 - files were modified by this hook perltidy.................................................................Passed ShellCheck v0.11.0.......................................................Passed prettier.................................................................Passed yamllint.................................................................Passed pre-commit hook(s) made changes. If you are seeing this message in CI, reproduce locally with: `pre-commit run --all-files`. To run `pre-commit` as part of git workflow, use `pre-commit install`. All changes made by hooks: diff --git a/tests/transportpce_tests/common/test_utils_oc.py b/tests/transportpce_tests/common/test_utils_oc.py index ac2b72f75..2314edf86 100644 --- a/tests/transportpce_tests/common/test_utils_oc.py +++ b/tests/transportpce_tests/common/test_utils_oc.py @@ -377,6 +377,7 @@ def catalog_input_oc200(): response = test_utils.post_request(url[test_utils.RESTCONF_VERSION], body) return response + def del_metadata(): url = {'rfc8040': '{}/data/open-terminal-meta-data:open-terminal-meta-data', 'draft-bierman02': '{}/config/data/open-terminal-meta-data:open-terminal-meta-data'} pylint: OK ✔ in 32.39 seconds pre-commit: exit 1 (52.95 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure pid=8434 pre-commit: FAIL ✖ in 55.77 seconds buildcontroller: OK ✔ in 1 minute 53.37 seconds build_karaf_tests200: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests221: freeze> python -m pip freeze --all build_karaf_tests121: freeze> python -m pip freeze --all build_karaf_tests71: freeze> python -m pip freeze --all build_karaf_tests200: freeze> python -m pip freeze --all build_karaf_tests221: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,cryptography==49.0.0,dict2xml==1.7.8,idna==3.18,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.1,netconf-client==3.6.0,packaging==26.2,paramiko==5.0.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==82.0.1,urllib3==2.7.0 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf221 with ./karaf221.env build_karaf_tests121: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,cryptography==49.0.0,dict2xml==1.7.8,idna==3.18,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.1,netconf-client==3.6.0,packaging==26.2,paramiko==5.0.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==82.0.1,urllib3==2.7.0 build_karaf_tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf121 with ./karaf121.env NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable build_karaf_tests71: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,cryptography==49.0.0,dict2xml==1.7.8,idna==3.18,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.1,netconf-client==3.6.0,packaging==26.2,paramiko==5.0.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==82.0.1,urllib3==2.7.0 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh build karaf in karaf71 with ./karaf71.env build_karaf_tests200: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,cryptography==49.0.0,dict2xml==1.7.8,idna==3.18,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.1,netconf-client==3.6.0,packaging==26.2,paramiko==5.0.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==82.0.1,urllib3==2.7.0 build_karaf_tests200: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable build karaf in karafoc200 with ./karafoc200.env NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable build_karaf_tests221: OK ✔ in 59.57 seconds buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: OK ✔ in 1 minute 0.42 seconds sims: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests200: OK ✔ in 1 minute 1.26 seconds build_karaf_tests71: OK ✔ in 1 minute 1.73 seconds testsPCE: install_deps> python -I -m pip install gnpy4tpce==2.4.7 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt buildlighty: freeze> python -m pip freeze --all buildlighty: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,cryptography==49.0.0,dict2xml==1.7.8,idna==3.18,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.1,netconf-client==3.6.0,packaging==26.2,paramiko==5.0.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==82.0.1,urllib3==2.7.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh sims: freeze> python -m pip freeze --all NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED sims: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,cryptography==49.0.0,dict2xml==1.7.8,idna==3.18,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.1,netconf-client==3.6.0,packaging==26.2,paramiko==5.0.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==82.0.1,urllib3==2.7.0 sims: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_lightynode.sh Using lighynode version 22.1.0.7 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory sims: OK ✔ in 9.45 seconds buildlighty: OK ✔ in 34.56 seconds testsPCE: freeze> python -m pip freeze --all testsPCE: bcrypt==5.0.0,certifi==2026.6.17,cffi==2.0.0,charset-normalizer==3.4.7,click==8.4.2,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.63.0,gnpy4tpce==2.4.7,idna==3.18,iniconfig==2.3.0,injector==0.24.0,invoke==3.0.3,itsdangerous==2.2.0,Jinja2==3.1.6,kiwisolver==1.5.0,lxml==6.1.1,MarkupSafe==3.0.3,matplotlib==3.11.0,netconf-client==3.6.0,networkx==2.8.8,numpy==1.26.4,packaging==26.2,pandas==1.5.3,paramiko==5.0.0,pbr==5.11.1,pillow==12.3.0,pip==26.1.2,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.20.0,PyNaCl==1.6.2,pyparsing==3.3.2,pytest==9.1.1,python-dateutil==2.9.0.post0,pytz==2026.2,requests==2.34.2,scipy==1.17.1,setuptools==50.3.2,six==1.17.0,urllib3==2.7.0,Werkzeug==2.0.3,xlrd==1.2.0 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pytest -q transportpce_tests/pce/test01_pce.py .................... [100%] 20 passed in 111.69s (0:01:51) pytest -q transportpce_tests/pce/test02_pce_400G.py ..........$ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 7415 killed; [ssh-agent] Stopped. Build was aborted Aborted by new patch set. [PostBuildScript] - [INFO] Executing post build scripts. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins2602393688290502672.sh ---> sysstat.sh [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins2017606005567206026.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' .+ OS_FAMILY=debian + workspace=/w/workspace/transportpce-tox-verify-transportpce-master + START_PACKAGES=/tmp/packages_start.txt + END_PACKAGES=/tmp/packages_end.txt + DIFF_PACKAGES=/tmp/packages_diff.txt + PACKAGES=/tmp/packages_start.txt + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + dpkg -l + grep '^ii' + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/transportpce-tox-verify-transportpce-master/archives/ [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins3920774287197528135.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-n9o7 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... FE [100%] ==================================== ERRORS ==================================== _ ERROR at teardown of TestTransportPCEPce400g.test_12_path_computation_400G_xpdr_bi_cfg _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:204: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/util/connection.py:85: in create_connection raise err _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 8181), timeout = 30, source_address = None socket_options = [(6, 1, 1)] def create_connection( address: tuple[str, int], timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, source_address: tuple[str, int] | None = None, socket_options: _TYPE_SOCKET_OPTIONS | None = None, ) -> socket.socket: """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`socket.getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. An host of '' or port 0 tells the OS to use the default. """ host, port = address if host.startswith("["): host = host.strip("[]") err = None # Using the value from allowed_gai_family() in the context of getaddrinfo lets # us select whether to work with IPv4 DNS records, IPv6 records, or both. # The original create_connection function always returns all records. family = allowed_gai_family() try: host.encode("idna") except UnicodeError: raise LocationParseError(f"'{host}', label empty or too long") from None for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket.socket(af, socktype, proto) # If provided, set socket level options before connecting. _set_socket_options(sock, socket_options) if timeout is not _DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/util/connection.py:73: ConnectionRefusedError The above exception was the direct cause of the following exception: self = method = 'DELETE', url = '/rests/data/transportpce-portmapping:network' body = None headers = {'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=30, read=30, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): # URLs starting with / are inherently schemeless. url = to_str(_encode_target(url)) destination_scheme = None else: parsed_url = parse_url(url) destination_scheme = parsed_url.scheme url = to_str(parsed_url.url) if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connectionpool.py:788: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connectionpool.py:493: in _make_request conn.request( ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:500: in request self.endheaders() /opt/pyenv/versions/3.11.10/lib/python3.11/http/client.py:1298: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /opt/pyenv/versions/3.11.10/lib/python3.11/http/client.py:1058: in _send_output self.send(msg) /opt/pyenv/versions/3.11.10/lib/python3.11/http/client.py:996: in send self.connect() ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:331: in connect self.sock = self._new_conn() ^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: raise NameResolutionError(self.host, self, e) from e except SocketTimeout as e: raise ConnectTimeoutError( self, f"Connection to {self.host} timed out. (connect timeout={self.timeout})", ) from e except OSError as e: > raise NewConnectionError( self, f"Failed to establish a new connection: {e}" ) from e E urllib3.exceptions.NewConnectionError: HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:219: NewConnectionError The above exception was the direct cause of the following exception: self = request = , stream = False, timeout = 30 verify = True, cert = None, proxies = OrderedDict() def send( self, request: PreparedRequest, stream: bool = False, timeout: _t.TimeoutType = None, verify: _t.VerifyType = True, cert: _t.CertType = None, proxies: dict[str, str] | None = None, ) -> Response: """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ assert _is_prepared(request) try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout resolved_timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): resolved_timeout = timeout else: resolved_timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, # type: ignore[arg-type] # urllib3 stubs don't accept Iterable[bytes | str] headers=request.headers, # type: ignore[arg-type] # urllib3#3072 redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=resolved_timeout, chunked=chunked, ) ../.tox/testsPCE/lib/python3.11/site-packages/requests/adapters.py:696: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connectionpool.py:842: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'DELETE', url = '/rests/data/transportpce-portmapping:network' response = None error = NewConnectionError("HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=8181): Max retries exceeded with url: /rests/data/transportpce-portmapping:network (Caused by NewConnectionError("HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused")) ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/util/retry.py:543: MaxRetryError During handling of the above exception, another exception occurred: cls = @classmethod def tearDownClass(cls): # clean datastores > test_utils.del_portmapping() transportpce_tests/pce/test02_pce_400G.py:111: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:491: in del_portmapping response = delete_request(url[RESTCONF_VERSION].format('{}')) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/common/test_utils.py:134: in delete_request return requests.request( ../.tox/testsPCE/lib/python3.11/site-packages/requests/api.py:71: in request return session.request(method=method, url=url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/requests/sessions.py:651: in request resp = self.send(prep, **send_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/requests/sessions.py:784: in send r = adapter.send(request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False, timeout = 30 verify = True, cert = None, proxies = OrderedDict() def send( self, request: PreparedRequest, stream: bool = False, timeout: _t.TimeoutType = None, verify: _t.VerifyType = True, cert: _t.CertType = None, proxies: dict[str, str] | None = None, ) -> Response: """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ assert _is_prepared(request) try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout resolved_timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): resolved_timeout = timeout else: resolved_timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, # type: ignore[arg-type] # urllib3 stubs don't accept Iterable[bytes | str] headers=request.headers, # type: ignore[arg-type] # urllib3#3072 redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=resolved_timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8181): Max retries exceeded with url: /rests/data/transportpce-portmapping:network (Caused by NewConnectionError("HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused")) ../.tox/testsPCE/lib/python3.11/site-packages/requests/adapters.py:729: ConnectionError ----------------------------- Captured stdout call ----------------------------- execution of test_12_path_computation_400G_xpdr_bi_cfg =================================== FAILURES =================================== ______ TestTransportPCEPce400g.test_12_path_computation_400G_xpdr_bi_cfg _______ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:204: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/util/connection.py:85: in create_connection raise err _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 8181), timeout = 30, source_address = None socket_options = [(6, 1, 1)] def create_connection( address: tuple[str, int], timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, source_address: tuple[str, int] | None = None, socket_options: _TYPE_SOCKET_OPTIONS | None = None, ) -> socket.socket: """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`socket.getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. An host of '' or port 0 tells the OS to use the default. """ host, port = address if host.startswith("["): host = host.strip("[]") err = None # Using the value from allowed_gai_family() in the context of getaddrinfo lets # us select whether to work with IPv4 DNS records, IPv6 records, or both. # The original create_connection function always returns all records. family = allowed_gai_family() try: host.encode("idna") except UnicodeError: raise LocationParseError(f"'{host}', label empty or too long") from None for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket.socket(af, socktype, proto) # If provided, set socket level options before connecting. _set_socket_options(sock, socket_options) if timeout is not _DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/util/connection.py:73: ConnectionRefusedError The above exception was the direct cause of the following exception: self = method = 'POST' url = '/rests/operations/transportpce-pce:path-computation-request' body = '{"input": {"service-name": "service-1", "resource-reserve": "true", "service-handler-header": {"request-id": "request...ate": "400", "clli": "nodeC", "service-format": "Ethernet", "node-id": "XPDR-C2"}, "pce-routing-metric": "hop-count"}}' headers = {'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '379', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=30, read=30, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): # URLs starting with / are inherently schemeless. url = to_str(_encode_target(url)) destination_scheme = None else: parsed_url = parse_url(url) destination_scheme = parsed_url.scheme url = to_str(parsed_url.url) if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connectionpool.py:788: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connectionpool.py:493: in _make_request conn.request( ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:500: in request self.endheaders() /opt/pyenv/versions/3.11.10/lib/python3.11/http/client.py:1298: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /opt/pyenv/versions/3.11.10/lib/python3.11/http/client.py:1058: in _send_output self.send(msg) /opt/pyenv/versions/3.11.10/lib/python3.11/http/client.py:996: in send self.connect() ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:331: in connect self.sock = self._new_conn() ^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: raise NameResolutionError(self.host, self, e) from e except SocketTimeout as e: raise ConnectTimeoutError( self, f"Connection to {self.host} timed out. (connect timeout={self.timeout})", ) from e except OSError as e: > raise NewConnectionError( self, f"Failed to establish a new connection: {e}" ) from e E urllib3.exceptions.NewConnectionError: HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connection.py:219: NewConnectionError The above exception was the direct cause of the following exception: self = request = , stream = False, timeout = 30, verify = True cert = None, proxies = OrderedDict() def send( self, request: PreparedRequest, stream: bool = False, timeout: _t.TimeoutType = None, verify: _t.VerifyType = True, cert: _t.CertType = None, proxies: dict[str, str] | None = None, ) -> Response: """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ assert _is_prepared(request) try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout resolved_timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): resolved_timeout = timeout else: resolved_timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, # type: ignore[arg-type] # urllib3 stubs don't accept Iterable[bytes | str] headers=request.headers, # type: ignore[arg-type] # urllib3#3072 redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=resolved_timeout, chunked=chunked, ) ../.tox/testsPCE/lib/python3.11/site-packages/requests/adapters.py:696: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/connectionpool.py:842: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'POST' url = '/rests/operations/transportpce-pce:path-computation-request' response = None error = NewConnectionError("HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=8181): Max retries exceeded with url: /rests/operations/transportpce-pce:path-computation-request (Caused by NewConnectionError("HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused")) ../.tox/testsPCE/lib/python3.11/site-packages/urllib3/util/retry.py:543: MaxRetryError During handling of the above exception, another exception occurred: self = def test_12_path_computation_400G_xpdr_bi_cfg(self): path_computation_input_data = { "service-name": "service-1", "resource-reserve": "true", "service-handler-header": { "request-id": "request1" }, "service-a-end": { "service-rate": "400", "clli": "nodeA", "service-format": "Ethernet", "node-id": "XPDR-A2" }, "service-z-end": { "service-rate": "400", "clli": "nodeC", "service-format": "Ethernet", "node-id": "XPDR-C2" }, "pce-routing-metric": "hop-count" } > response = test_utils.transportpce_api_rpc_request('transportpce-pce', 'path-computation-request', path_computation_input_data) transportpce_tests/pce/test02_pce_400G.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:752: in transportpce_api_rpc_request response = post_request(url, data) ^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/common/test_utils.py:143: in post_request return requests.request( ../.tox/testsPCE/lib/python3.11/site-packages/requests/api.py:71: in request return session.request(method=method, url=url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/requests/sessions.py:651: in request resp = self.send(prep, **send_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/requests/sessions.py:784: in send r = adapter.send(request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False, timeout = 30, verify = True cert = None, proxies = OrderedDict() def send( self, request: PreparedRequest, stream: bool = False, timeout: _t.TimeoutType = None, verify: _t.VerifyType = True, cert: _t.CertType = None, proxies: dict[str, str] | None = None, ) -> Response: """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ assert _is_prepared(request) try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout resolved_timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): resolved_timeout = timeout else: resolved_timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, # type: ignore[arg-type] # urllib3 stubs don't accept Iterable[bytes | str] headers=request.headers, # type: ignore[arg-type] # urllib3#3072 redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=resolved_timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8181): Max retries exceeded with url: /rests/operations/transportpce-pce:path-computation-request (Caused by NewConnectionError("HTTPConnection(host='localhost', port=8181): Failed to establish a new connection: [Errno 111] Connection refused")) ../.tox/testsPCE/lib/python3.11/site-packages/requests/adapters.py:729: ConnectionError ----------------------------- Captured stdout call ----------------------------- execution of test_12_path_computation_400G_xpdr_bi_cfg =========================== short test summary info ============================ FAILED transportpce_tests/pce/test02_pce_400G.py::TestTransportPCEPce400g::test_12_path_computation_400G_xpdr_bi_cfg ERROR transportpce_tests/pce/test02_pce_400G.py::TestTransportPCEPce400g::test_12_path_computation_400G_xpdr_bi_cfg 1 failed, 11 passed, 1 error in 44.74s testsPCE: exit 1 (157.00 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pid=10672 + tox_status=143 + echo '---> Completed tox runs' ---> Completed tox runs + for i in .tox/*/log ++ echo .tox/build_karaf_tests121/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests121 + cp -r .tox/build_karaf_tests121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests121 + for i in .tox/*/log ++ echo .tox/build_karaf_tests200/log lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-n9o7/bin to PATH INFO: Running in OpenStack, capturing instance metadata [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins1072321689998046771.sh provisioning config files... Could not find credentials [logs] for transportpce-tox-verify-transportpce-master #5802 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/transportpce-tox-verify-transportpce-master@tmp/config9037599592876995280tmp Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] Run condition [Regular expression match] enabling perform for step [Provide Configuration files] provisioning config files... copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SERVER_ID=logs [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins13045038257373357719.sh ---> create-netrc.sh WARN: Log server credential not found. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins5036430725180749347.sh ---> python-tools-install.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-n9o7 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-n9o7/bin to PATH [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins8964526829962054379.sh ---> uv-install.sh uv 0.11.26 is already installed uvx 0.11.26 (x86_64-unknown-linux-gnu) [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins7789356167155241112.sh ---> sudo-logs.sh Archiving 'sudo' log.. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins3377620863213609608.sh ---> job-cost.sh INFO: Activating Python virtual environment... Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-n9o7 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-n9o7/bin to PATH INFO: No stack-cost file found INFO: Instance uptime: 73746s INFO: Fetching instance metadata (attempt 1 of 3)... DEBUG: URL: http://169.254.169.254/latest/meta-data/instance-type INFO: Successfully fetched instance metadata INFO: Instance type: v3-standard-4 INFO: Retrieving pricing info for: v3-standard-4 INFO: Fetching Vexxhost pricing API (attempt 1 of 3)... DEBUG: URL: https://pricing.vexxhost.net/v1/pricing/v3-standard-4/cost?seconds=73746 INFO: Successfully fetched Vexxhost pricing API INFO: Retrieved cost: 2.31 INFO: Retrieved resource: v3-standard-4 INFO: Creating archive directory: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost INFO: Archiving costs to: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost.csv INFO: Successfully archived job cost data DEBUG: Cost data: transportpce-tox-verify-transportpce-master,5802,2026-07-04 09:10:31,v3-standard-4,73746,2.31,0.00,ABORTED [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins8894294663209544696.sh ---> logs-deploy.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-n9o7 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-n9o7/bin to PATH WARNING: Nexus logging server not set INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/transportpce-tox-verify-transportpce-master/5802/ INFO: archiving logs to S3 ---> uname -a: Linux prd-ubuntu2204-docker-4c-16g-32650 5.15.0-174-generic #184-Ubuntu SMP Fri Mar 13 18:41:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 40 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: AuthenticAMD Model name: AMD EPYC-Rome Processor CPU family: 23 Model: 49 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 4 Stepping: 0 BogoMIPS: 5599.99 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt nrip_save umip rdpid arch_capabilities Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 128 KiB (4 instances) L1i cache: 128 KiB (4 instances) L2 cache: 2 MiB (4 instances) L3 cache: 64 MiB (4 instances) NUMA node(s): 1 NUMA node0 CPU(s): 0-3 Vulnerability Gather data sampling: Not affected Vulnerability Indirect target selection: Not affected Vulnerability Itlb multihit: Not affected Vulnerability L1tf: Not affected Vulnerability Mds: Not affected Vulnerability Meltdown: Not affected Vulnerability Mmio stale data: Not affected Vulnerability Reg file data sampling: Not affected Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled Vulnerability Spec rstack overflow: Mitigation; SMT disabled Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected Vulnerability Srbds: Not affected Vulnerability Tsa: Not affected Vulnerability Tsx async abort: Not affected Vulnerability Vmscape: Not affected ---> nproc: 4 ---> df -h: Filesystem Size Used Avail Use% Mounted on tmpfs 1.6G 1.1M 1.6G 1% /run /dev/vda1 78G 16G 62G 20% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda15 105M 6.1M 99M 6% /boot/efi tmpfs 1.6G 4.0K 1.6G 1% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 15989 737 4728 4 10523 14908 Swap: 1023 0 1023 ---> ip addr: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 link/ether fa:16:3e:45:fe:a3 brd ff:ff:ff:ff:ff:ff altname enp0s3 inet 10.30.171.175/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 valid_lft 12649sec preferred_lft 12649sec inet6 fe80::f816:3eff:fe45:fea3/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1458 qdisc noqueue state DOWN group default link/ether ea:ab:93:e1:ed:94 brd ff:ff:ff:ff:ff:ff inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::e8ab:93ff:fee1:ed94/64 scope link valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 5.15.0-174-generic (prd-ubuntu2204-docker-4c-16g-32650) 07/04/26 _x86_64_ (4 CPU) 00:00:27 tps rtps wtps dtps bread/s bwrtn/s bdscd/s 00:10:01 1.99 0.19 1.79 0.01 4.50 25.47 459.50 00:20:27 1.68 0.00 1.68 0.00 0.00 17.22 0.00 00:30:27 1.59 0.00 1.59 0.00 0.00 16.35 0.00 00:40:01 1.34 0.00 1.34 0.00 0.00 13.95 0.00 00:50:27 1.46 0.00 1.46 0.00 0.00 15.26 0.00 01:00:27 1.54 0.00 1.54 0.00 0.00 15.76 0.00 01:10:00 1.85 0.00 1.80 0.06 0.00 28.43 662.96 01:20:27 1.67 0.00 1.67 0.00 0.00 17.17 0.00 01:30:27 1.56 0.00 1.56 0.00 0.00 16.05 0.00 01:40:01 1.43 0.00 1.43 0.00 0.00 14.73 0.00 01:50:27 1.59 0.00 1.59 0.00 0.00 16.41 0.00 02:00:04 1.34 0.00 1.34 0.00 0.00 14.11 0.00 02:10:01 1.46 0.00 1.46 0.00 0.00 15.26 0.00 02:20:16 1.69 0.00 1.69 0.00 0.00 17.58 0.00 02:30:05 1.38 0.00 1.38 0.00 0.00 14.39 0.00 02:40:00 1.58 0.00 1.57 0.00 0.32 16.27 0.05 02:50:27 1.61 0.00 1.61 0.00 0.00 16.68 0.00 03:00:27 1.49 0.00 1.49 0.00 0.00 15.69 0.00 03:10:01 1.44 0.00 1.44 0.00 0.00 14.95 0.00 03:20:07 1.63 0.00 1.63 0.00 0.00 16.64 0.00 03:30:27 1.61 0.00 1.61 0.00 0.00 16.47 0.00 03:40:01 1.45 0.00 1.45 0.00 0.00 14.90 0.00 03:50:27 1.68 0.00 1.68 0.00 0.00 17.22 0.00 04:00:02 1.39 0.00 1.39 0.00 0.00 14.36 0.00 04:10:01 1.53 0.00 1.53 0.00 0.00 16.03 0.00 04:20:27 1.61 0.00 1.60 0.00 0.26 16.64 0.00 04:30:27 1.53 0.00 1.53 0.00 0.00 15.79 0.00 04:40:01 1.42 0.00 1.42 0.00 0.00 14.77 0.00 04:50:15 1.61 0.00 1.61 0.00 0.00 16.62 0.00 05:00:15 1.53 0.00 1.53 0.00 0.00 15.99 0.00 05:10:01 1.45 0.00 1.45 0.00 0.00 14.95 0.00 05:20:11 1.62 0.00 1.62 0.00 0.00 16.80 0.00 05:30:05 1.49 0.00 1.49 0.00 0.00 15.38 0.00 05:40:01 1.53 0.00 1.53 0.00 0.00 15.73 0.00 05:50:27 1.61 0.00 1.61 0.00 0.00 16.70 0.00 06:00:27 1.44 0.00 1.44 0.00 0.00 15.00 0.00 06:10:01 1.46 0.00 1.46 0.00 0.00 14.88 0.00 06:20:27 1.58 0.00 1.58 0.00 0.00 16.10 0.00 06:30:17 1.45 0.01 1.44 0.00 0.10 14.93 0.00 06:40:01 1.51 0.00 1.51 0.00 0.00 15.42 0.00 06:50:27 1.66 0.00 1.66 0.00 0.00 17.22 0.00 07:00:20 1.53 0.00 1.53 0.00 0.00 15.72 0.00 07:10:01 1.49 0.00 1.49 0.00 0.00 15.47 0.00 07:20:27 1.63 0.00 1.63 0.00 0.00 16.90 0.00 07:30:18 1.54 0.00 1.54 0.00 0.00 15.76 0.00 07:40:01 1.51 0.00 1.51 0.00 0.00 15.44 0.00 07:50:18 1.59 0.00 1.59 0.00 0.00 16.27 0.00 08:00:17 1.64 0.00 1.64 0.00 0.00 16.78 0.00 08:10:01 1.85 0.00 1.85 0.00 0.00 18.82 0.00 08:20:27 1.86 0.00 1.86 0.00 0.00 19.12 0.00 08:30:17 1.73 0.00 1.73 0.00 0.00 17.63 0.00 08:40:01 1.80 0.00 1.80 0.00 0.00 18.47 0.00 08:50:17 1.88 0.00 1.88 0.00 0.00 19.08 0.00 09:00:18 1.87 0.00 1.87 0.00 0.00 19.21 0.00 09:10:01 164.00 9.56 150.38 4.06 856.49 35679.98 20824.68 Average: 4.46 0.17 4.21 0.07 15.24 647.51 387.94 00:00:27 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 00:10:01 13647256 15490600 519196 3.17 87756 1974992 1151564 6.61 267668 2191100 192 00:20:27 13645880 15489640 519964 3.18 88052 1975136 1151564 6.61 267940 2191136 4 00:30:27 13645628 15489684 519948 3.18 88324 1975140 1151564 6.61 268220 2191224 8 00:40:01 13644368 15488668 520956 3.18 88556 1975152 1151564 6.61 268452 2191440 204 00:50:27 13644908 15489624 520076 3.18 88828 1975288 1151564 6.61 268724 2191404 348 01:00:27 13644684 15489676 519980 3.18 89076 1975296 1151564 6.61 268992 2191556 176 01:10:00 13643848 15489548 520044 3.18 89440 1975560 1151628 6.61 269328 2191752 8 01:20:27 13642588 15488564 520960 3.18 89688 1975584 1151628 6.61 269584 2191876 164 01:30:27 13642588 15488772 520644 3.18 89896 1975584 1151628 6.61 269780 2191836 8 01:40:01 13642588 15489052 520460 3.18 90140 1975600 1151692 6.61 270036 2192232 296 01:50:27 13640380 15487268 522176 3.19 90360 1975792 1151660 6.61 270244 2192224 16 02:00:04 13640252 15487464 522120 3.19 90548 1975932 1151628 6.61 270440 2192240 212 02:10:01 13641248 15488692 520896 3.18 90764 1975944 1151628 6.61 270652 2192272 204 02:20:16 13640436 15488136 521456 3.18 91024 1975948 1151628 6.61 270900 2192280 204 02:30:05 13639932 15487844 521680 3.19 91212 1975960 1151628 6.61 271100 2192272 208 02:40:00 13639176 15487536 521836 3.19 91444 1976192 1151756 6.61 271324 2192476 8 02:50:27 13638420 15487080 522296 3.19 91716 1976204 1151756 6.61 271604 2192564 36 03:00:27 13638924 15487764 521528 3.19 91876 1976216 1151756 6.61 271772 2192632 192 03:10:01 13638424 15487628 521756 3.19 92104 1976344 1151752 6.61 271992 2192732 4 03:20:07 13637668 15487068 522352 3.19 92280 1976360 1151756 6.61 272172 2192784 24 03:30:27 13637164 15486780 522672 3.19 92488 1976376 1151756 6.61 272372 2192824 160 03:40:01 13636412 15486356 523128 3.20 92680 1976504 1151756 6.61 272568 2192988 4 03:50:27 13635908 15486104 523324 3.20 92912 1976516 1151756 6.61 272804 2193032 8 04:00:02 13635656 15486056 523448 3.20 93104 1976520 1151756 6.61 272996 2192964 200 04:10:01 13634900 15485520 523928 3.20 93332 1976532 1151756 6.61 273216 2193008 200 04:20:27 13634176 15485232 524200 3.20 93548 1976756 1151756 6.61 273436 2193332 164 04:30:27 13634404 15485668 523800 3.20 93760 1976752 1151756 6.61 273628 2193400 52 04:40:01 13634432 15485888 523512 3.20 93916 1976768 1151756 6.61 273796 2193448 4 04:50:15 13633824 15485656 523692 3.20 94136 1976908 1151756 6.61 274024 2194240 24 05:00:15 13636484 15488548 520740 3.18 94356 1976912 1151804 6.61 274244 2194764 20 05:10:01 13636688 15488976 520320 3.18 94552 1976924 1151820 6.61 274444 2194976 200 05:20:11 13637556 15490132 519148 3.17 94724 1977064 1151820 6.61 274616 2194952 40 05:30:05 13637080 15489860 519500 3.17 94920 1977072 1151868 6.61 274812 2195200 216 05:40:01 13635824 15488776 520672 3.18 95104 1977080 1151820 6.61 274996 2195008 4 05:50:27 13635280 15488580 520868 3.18 95316 1977216 1151820 6.61 275204 2195144 32 06:00:27 13634092 15487704 521696 3.19 95484 1977360 1151820 6.61 275376 2195492 408 06:10:01 13634400 15488204 521132 3.18 95700 1977364 1151820 6.61 275556 2195300 200 06:20:27 13634236 15488300 521064 3.18 95908 1977372 1151820 6.61 275792 2195308 36 06:30:17 13632000 15486384 522924 3.19 96040 1977540 1151820 6.61 275956 2195624 316 06:40:01 13629732 15484320 525004 3.21 96168 1977608 1151820 6.61 276084 2195712 200 06:50:27 13629480 15484352 524912 3.21 96308 1977748 1151820 6.61 276224 2195924 160 07:00:20 13628096 15483240 525968 3.21 96440 1977884 1151820 6.61 276352 2197032 8 07:10:01 13626648 15481924 527224 3.22 96560 1977892 1151868 6.61 276472 2197260 208 07:20:27 13626288 15481752 527428 3.22 96728 1977904 1151820 6.61 276644 2197100 180 07:30:18 13626512 15482096 527112 3.22 96832 1977912 1151820 6.61 276748 2197132 8 07:40:01 13627240 15483024 526108 3.21 96964 1977984 1151820 6.61 276872 2197596 204 07:50:18 13625852 15481928 527276 3.22 97104 1978120 1151820 6.61 277020 2197340 12 08:00:17 13624880 15481224 527952 3.22 97220 1978260 1151820 6.61 277140 2197656 292 08:10:01 13626044 15482608 526552 3.22 97428 1978268 1151884 6.61 277340 2197700 8 08:20:27 13626460 15483196 525856 3.21 97612 1978280 1151884 6.61 277524 2198476 220 08:30:17 13626516 15483604 525608 3.21 97828 1978412 1151884 6.61 277740 2197804 212 08:40:01 13626796 15484076 524992 3.21 98032 1978424 1151884 6.61 277920 2197832 200 08:50:17 13627640 15485128 524064 3.20 98200 1978432 1151884 6.61 278116 2197876 24 09:00:18 13628400 15486140 523020 3.19 98436 1978444 1151884 6.61 278348 2197904 16 09:10:01 4883732 15296608 629764 3.85 261928 9941056 1260456 7.24 2088620 8629688 12808 Average: 13476364 15483168 524708 3.20 96634 2121607 1153730 6.62 306471 2311292 356 00:00:27 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 00:10:01 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 00:10:01 ens3 0.25 0.11 0.07 0.04 0.00 0.00 0.00 0.00 00:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:20:27 lo 0.12 0.12 0.01 0.01 0.00 0.00 0.00 0.00 00:20:27 ens3 0.27 0.13 0.08 0.04 0.00 0.00 0.00 0.00 00:20:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:30:27 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 00:30:27 ens3 0.57 0.21 0.18 0.11 0.00 0.00 0.00 0.00 00:30:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:40:01 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 00:40:01 ens3 0.83 0.19 0.21 0.10 0.00 0.00 0.00 0.00 00:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:50:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 00:50:27 ens3 3.31 0.22 0.49 0.12 0.00 0.00 0.00 0.00 00:50:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:00:27 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:00:27 ens3 0.62 0.12 0.10 0.04 0.00 0.00 0.00 0.00 01:00:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:10:00 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 01:10:00 ens3 0.98 0.12 3.84 0.04 0.00 0.00 0.00 0.00 01:10:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:20:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 01:20:27 ens3 0.73 0.20 0.65 0.10 0.00 0.00 0.00 0.00 01:20:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:30:27 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:30:27 ens3 0.36 0.12 0.07 0.04 0.00 0.00 0.00 0.00 01:30:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:40:01 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 01:40:01 ens3 0.58 0.18 0.18 0.11 0.00 0.00 0.00 0.00 01:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:50:27 lo 0.12 0.12 0.01 0.01 0.00 0.00 0.00 0.00 01:50:27 ens3 2.34 0.24 0.44 0.16 0.00 0.00 0.00 0.00 01:50:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:00:04 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 02:00:04 ens3 1.44 0.11 0.18 0.04 0.00 0.00 0.00 0.00 02:00:04 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 02:10:01 ens3 0.55 0.09 0.07 0.02 0.00 0.00 0.00 0.00 02:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:20:16 lo 0.12 0.12 0.01 0.01 0.00 0.00 0.00 0.00 02:20:16 ens3 1.14 0.10 0.33 0.02 0.00 0.00 0.00 0.00 02:20:16 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:30:05 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 02:30:05 ens3 0.37 0.11 0.08 0.04 0.00 0.00 0.00 0.00 02:30:05 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:40:00 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 02:40:00 ens3 0.55 0.18 0.31 0.08 0.00 0.00 0.00 0.00 02:40:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:50:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 02:50:27 ens3 0.39 0.14 0.10 0.06 0.00 0.00 0.00 0.00 02:50:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:00:27 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:00:27 ens3 0.43 0.19 0.14 0.09 0.00 0.00 0.00 0.00 03:00:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:10:01 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 03:10:01 ens3 2.38 0.21 0.42 0.12 0.00 0.00 0.00 0.00 03:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:20:07 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:20:07 ens3 0.70 0.08 0.07 0.02 0.00 0.00 0.00 0.00 03:20:07 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:30:27 lo 0.12 0.12 0.01 0.01 0.00 0.00 0.00 0.00 03:30:27 ens3 0.41 0.14 0.11 0.06 0.00 0.00 0.00 0.00 03:30:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:40:01 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 03:40:01 ens3 0.47 0.17 0.16 0.09 0.00 0.00 0.00 0.00 03:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:50:27 lo 0.12 0.12 0.01 0.01 0.00 0.00 0.00 0.00 03:50:27 ens3 0.31 0.12 0.07 0.04 0.00 0.00 0.00 0.00 03:50:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:00:02 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 04:00:02 ens3 0.23 0.12 0.07 0.04 0.00 0.00 0.00 0.00 04:00:02 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:10:01 ens3 0.18 0.08 0.04 0.02 0.00 0.00 0.00 0.00 04:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:20:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 04:20:27 ens3 0.21 0.09 0.05 0.02 0.00 0.00 0.00 0.00 04:20:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:30:27 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:30:27 ens3 0.24 0.10 0.07 0.04 0.00 0.00 0.00 0.00 04:30:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:40:01 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 04:40:01 ens3 0.31 0.13 0.08 0.04 0.00 0.00 0.00 0.00 04:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:50:15 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:50:15 ens3 0.40 0.19 0.14 0.09 0.00 0.00 0.00 0.00 04:50:15 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:00:15 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:00:15 ens3 1.34 2.01 0.19 2.25 0.00 0.00 0.00 0.00 05:00:15 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:10:01 ens3 0.51 0.62 0.06 0.79 0.00 0.00 0.00 0.00 05:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:20:11 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:20:11 ens3 0.36 0.15 0.12 0.06 0.00 0.00 0.00 0.00 05:20:11 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:30:05 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:30:05 ens3 0.34 0.13 0.10 0.06 0.00 0.00 0.00 0.00 05:30:05 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:40:01 ens3 0.24 0.11 0.07 0.04 0.00 0.00 0.00 0.00 05:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:50:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 05:50:27 ens3 0.20 0.09 0.04 0.02 0.00 0.00 0.00 0.00 05:50:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:00:27 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:00:27 ens3 0.25 0.11 0.08 0.04 0.00 0.00 0.00 0.00 06:00:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:10:01 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 06:10:01 ens3 0.19 0.08 0.05 0.02 0.00 0.00 0.00 0.00 06:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:20:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 06:20:27 ens3 0.19 0.09 0.04 0.02 0.00 0.00 0.00 0.00 06:20:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:30:17 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 06:30:17 ens3 0.33 0.15 0.11 0.06 0.00 0.00 0.00 0.00 06:30:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:40:01 ens3 0.32 0.16 0.11 0.06 0.00 0.00 0.00 0.00 06:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:50:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 06:50:27 ens3 0.36 0.18 0.11 0.07 0.00 0.00 0.00 0.00 06:50:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:00:20 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 07:00:20 ens3 0.28 0.13 0.08 0.04 0.00 0.00 0.00 0.00 07:00:20 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:10:01 ens3 0.49 0.20 0.17 0.11 0.00 0.00 0.00 0.00 07:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:20:27 lo 0.12 0.12 0.01 0.01 0.00 0.00 0.00 0.00 07:20:27 ens3 0.44 0.19 0.14 0.09 0.00 0.00 0.00 0.00 07:20:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:30:18 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 07:30:18 ens3 0.29 0.12 0.07 0.04 0.00 0.00 0.00 0.00 07:30:18 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:40:01 ens3 0.25 0.11 0.07 0.04 0.00 0.00 0.00 0.00 07:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:50:18 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:50:18 ens3 0.18 0.08 0.04 0.02 0.00 0.00 0.00 0.00 07:50:18 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:00:17 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:00:17 ens3 0.32 0.16 0.12 0.08 0.00 0.00 0.00 0.00 08:00:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:10:01 ens3 0.46 0.21 0.15 0.09 0.00 0.00 0.00 0.00 08:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:20:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 08:20:27 ens3 0.35 0.15 0.10 0.06 0.00 0.00 0.00 0.00 08:20:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:30:17 lo 0.08 0.08 0.01 0.01 0.00 0.00 0.00 0.00 08:30:17 ens3 0.35 0.13 0.11 0.07 0.00 0.00 0.00 0.00 08:30:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:40:01 ens3 0.27 0.12 0.07 0.04 0.00 0.00 0.00 0.00 08:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:50:17 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:50:17 ens3 0.16 0.07 0.04 0.02 0.00 0.00 0.00 0.00 08:50:17 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:18 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 09:00:18 ens3 0.27 0.12 0.09 0.06 0.00 0.00 0.00 0.00 09:00:18 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:10:01 lo 2.19 2.19 1.86 1.86 0.00 0.00 0.00 0.00 09:10:01 ens3 153.23 119.95 1950.21 17.41 0.00 0.00 0.00 0.00 09:10:01 docker0 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 0.14 0.14 0.04 0.04 0.00 0.00 0.00 0.00 Average: ens3 3.26 2.30 34.70 0.42 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 5.15.0-174-generic (prd-ubuntu2204-docker-4c-16g-32650) 07/04/26 _x86_64_ (4 CPU) 00:00:27 CPU %user %nice %system %iowait %steal %idle 00:10:01 all 0.02 0.00 0.02 0.01 0.01 99.93 00:10:01 0 0.02 0.00 0.02 0.01 0.01 99.94 00:10:01 1 0.02 0.00 0.03 0.01 0.01 99.93 00:10:01 2 0.02 0.00 0.03 0.00 0.01 99.94 00:10:01 3 0.03 0.01 0.02 0.01 0.01 99.93 00:20:27 all 0.09 0.00 0.02 0.01 0.01 99.87 00:20:27 0 0.30 0.00 0.02 0.00 0.01 99.66 00:20:27 1 0.02 0.00 0.02 0.00 0.01 99.94 00:20:27 2 0.04 0.00 0.03 0.01 0.01 99.92 00:20:27 3 0.01 0.00 0.01 0.01 0.01 99.96 00:30:27 all 0.14 0.00 0.03 0.01 0.01 99.82 00:30:27 0 0.02 0.00 0.02 0.00 0.01 99.94 00:30:27 1 0.02 0.00 0.03 0.01 0.01 99.93 00:30:27 2 0.51 0.00 0.02 0.01 0.01 99.44 00:30:27 3 0.02 0.00 0.03 0.00 0.01 99.94 00:40:01 all 0.12 0.00 0.02 0.01 0.01 99.84 00:40:01 0 0.01 0.00 0.01 0.00 0.01 99.97 00:40:01 1 0.03 0.00 0.03 0.01 0.01 99.92 00:40:01 2 0.40 0.00 0.03 0.01 0.01 99.55 00:40:01 3 0.05 0.00 0.03 0.00 0.01 99.91 00:50:27 all 0.18 0.00 0.03 0.01 0.01 99.77 00:50:27 0 0.02 0.00 0.03 0.00 0.01 99.94 00:50:27 1 0.02 0.00 0.02 0.00 0.01 99.95 00:50:27 2 0.02 0.00 0.02 0.01 0.01 99.93 00:50:27 3 0.66 0.00 0.06 0.00 0.01 99.27 01:00:27 all 0.02 0.00 0.02 0.01 0.01 99.94 01:00:27 0 0.02 0.00 0.02 0.00 0.01 99.96 01:00:27 1 0.02 0.00 0.02 0.01 0.01 99.94 01:00:27 2 0.02 0.00 0.01 0.02 0.01 99.95 01:00:27 3 0.05 0.00 0.03 0.00 0.02 99.91 01:10:00 all 0.14 0.00 0.03 0.01 0.01 99.81 01:10:00 0 0.18 0.00 0.01 0.00 0.01 99.80 01:10:00 1 0.07 0.00 0.02 0.00 0.01 99.89 01:10:00 2 0.28 0.00 0.02 0.02 0.01 99.67 01:10:00 3 0.03 0.02 0.05 0.01 0.01 99.89 01:20:27 all 0.06 0.00 0.02 0.01 0.01 99.90 01:20:27 0 0.03 0.00 0.03 0.00 0.01 99.93 01:20:27 1 0.17 0.00 0.02 0.00 0.01 99.79 01:20:27 2 0.03 0.00 0.02 0.02 0.01 99.92 01:20:27 3 0.02 0.00 0.02 0.01 0.01 99.95 01:30:27 all 0.05 0.00 0.03 0.01 0.01 99.91 01:30:27 0 0.01 0.00 0.02 0.00 0.01 99.95 01:30:27 1 0.15 0.00 0.04 0.01 0.02 99.78 01:30:27 2 0.02 0.00 0.02 0.01 0.01 99.95 01:30:27 3 0.02 0.00 0.02 0.00 0.01 99.95 01:40:01 all 0.13 0.00 0.02 0.00 0.01 99.83 01:40:01 0 0.46 0.00 0.02 0.00 0.01 99.52 01:40:01 1 0.02 0.00 0.02 0.01 0.01 99.94 01:40:01 2 0.03 0.00 0.03 0.01 0.01 99.91 01:40:01 3 0.01 0.00 0.02 0.00 0.01 99.97 01:50:27 all 0.17 0.00 0.02 0.01 0.01 99.79 01:50:27 0 0.01 0.00 0.02 0.00 0.01 99.96 01:50:27 1 0.62 0.00 0.02 0.00 0.01 99.34 01:50:27 2 0.03 0.00 0.04 0.02 0.02 99.90 01:50:27 3 0.02 0.00 0.02 0.00 0.01 99.94 01:50:27 CPU %user %nice %system %iowait %steal %idle 02:00:04 all 0.20 0.00 0.02 0.01 0.01 99.76 02:00:04 0 0.01 0.00 0.02 0.01 0.01 99.96 02:00:04 1 0.43 0.00 0.03 0.00 0.01 99.52 02:00:04 2 0.33 0.00 0.02 0.01 0.01 99.63 02:00:04 3 0.03 0.00 0.03 0.00 0.02 99.92 02:10:01 all 0.06 0.00 0.02 0.01 0.01 99.90 02:10:01 0 0.19 0.00 0.02 0.01 0.01 99.77 02:10:01 1 0.02 0.00 0.03 0.00 0.01 99.94 02:10:01 2 0.02 0.00 0.03 0.01 0.01 99.94 02:10:01 3 0.02 0.00 0.02 0.00 0.01 99.95 02:20:16 all 0.02 0.00 0.02 0.01 0.01 99.94 02:20:16 0 0.02 0.00 0.03 0.01 0.02 99.92 02:20:16 1 0.02 0.00 0.03 0.01 0.01 99.93 02:20:16 2 0.01 0.00 0.01 0.00 0.00 99.97 02:20:16 3 0.01 0.00 0.01 0.01 0.00 99.96 02:30:05 all 0.31 0.00 0.03 0.01 0.01 99.64 02:30:05 0 1.20 0.00 0.03 0.02 0.01 98.74 02:30:05 1 0.02 0.00 0.03 0.01 0.01 99.94 02:30:05 2 0.02 0.00 0.02 0.00 0.01 99.95 02:30:05 3 0.02 0.00 0.02 0.00 0.01 99.96 02:40:00 all 0.05 0.00 0.02 0.01 0.01 99.91 02:40:00 0 0.14 0.00 0.01 0.00 0.01 99.84 02:40:00 1 0.02 0.00 0.02 0.00 0.01 99.94 02:40:00 2 0.03 0.00 0.05 0.01 0.01 99.91 02:40:00 3 0.01 0.00 0.02 0.01 0.01 99.95 02:50:27 all 0.16 0.00 0.02 0.01 0.01 99.80 02:50:27 0 0.58 0.00 0.01 0.00 0.01 99.40 02:50:27 1 0.02 0.00 0.03 0.00 0.01 99.94 02:50:27 2 0.02 0.00 0.03 0.01 0.01 99.93 02:50:27 3 0.03 0.00 0.02 0.01 0.01 99.94 03:00:27 all 0.14 0.00 0.03 0.01 0.01 99.82 03:00:27 0 0.48 0.00 0.02 0.00 0.01 99.48 03:00:27 1 0.03 0.00 0.04 0.01 0.01 99.91 03:00:27 2 0.02 0.00 0.02 0.01 0.01 99.94 03:00:27 3 0.02 0.00 0.03 0.00 0.01 99.95 03:10:01 all 0.12 0.00 0.03 0.01 0.01 99.84 03:10:01 0 0.02 0.00 0.01 0.00 0.01 99.96 03:10:01 1 0.03 0.00 0.04 0.01 0.01 99.92 03:10:01 2 0.02 0.00 0.02 0.01 0.01 99.94 03:10:01 3 0.41 0.00 0.03 0.03 0.01 99.52 03:20:07 all 0.09 0.00 0.02 0.01 0.01 99.87 03:20:07 0 0.02 0.00 0.03 0.01 0.01 99.92 03:20:07 1 0.03 0.00 0.03 0.01 0.01 99.92 03:20:07 2 0.02 0.00 0.01 0.01 0.00 99.95 03:20:07 3 0.30 0.00 0.01 0.00 0.01 99.67 03:30:27 all 0.09 0.00 0.03 0.01 0.01 99.87 03:30:27 0 0.01 0.00 0.01 0.00 0.01 99.96 03:30:27 1 0.03 0.00 0.05 0.02 0.01 99.89 03:30:27 2 0.26 0.00 0.03 0.00 0.01 99.70 03:30:27 3 0.05 0.00 0.02 0.00 0.00 99.93 03:40:01 all 0.21 0.00 0.02 0.00 0.01 99.76 03:40:01 0 0.01 0.00 0.02 0.01 0.01 99.95 03:40:01 1 0.74 0.00 0.03 0.01 0.01 99.21 03:40:01 2 0.04 0.00 0.02 0.00 0.01 99.92 03:40:01 3 0.03 0.00 0.01 0.00 0.01 99.95 03:40:01 CPU %user %nice %system %iowait %steal %idle 03:50:27 all 0.02 0.00 0.02 0.01 0.01 99.94 03:50:27 0 0.01 0.00 0.01 0.01 0.01 99.96 03:50:27 1 0.03 0.00 0.04 0.01 0.01 99.91 03:50:27 2 0.03 0.00 0.03 0.00 0.02 99.93 03:50:27 3 0.01 0.00 0.01 0.00 0.00 99.97 04:00:02 all 0.03 0.00 0.02 0.00 0.01 99.93 04:00:02 0 0.02 0.00 0.02 0.00 0.01 99.95 04:00:02 1 0.03 0.00 0.04 0.02 0.02 99.90 04:00:02 2 0.02 0.00 0.01 0.00 0.01 99.96 04:00:02 3 0.06 0.00 0.01 0.00 0.01 99.93 04:10:01 all 0.03 0.00 0.02 0.01 0.01 99.94 04:10:01 0 0.05 0.00 0.02 0.01 0.01 99.91 04:10:01 1 0.02 0.00 0.04 0.01 0.01 99.92 04:10:01 2 0.02 0.00 0.01 0.01 0.01 99.96 04:10:01 3 0.02 0.00 0.01 0.00 0.01 99.95 04:20:27 all 0.18 0.00 0.02 0.01 0.01 99.78 04:20:27 0 0.32 0.00 0.02 0.00 0.01 99.65 04:20:27 1 0.02 0.00 0.03 0.02 0.01 99.92 04:20:27 2 0.03 0.00 0.03 0.00 0.01 99.93 04:20:27 3 0.37 0.00 0.01 0.00 0.00 99.60 04:30:27 all 0.15 0.00 0.02 0.01 0.01 99.81 04:30:27 0 0.54 0.00 0.01 0.00 0.01 99.43 04:30:27 1 0.03 0.00 0.03 0.01 0.02 99.92 04:30:27 2 0.02 0.00 0.03 0.00 0.01 99.94 04:30:27 3 0.01 0.00 0.01 0.02 0.01 99.95 04:40:01 all 0.29 0.00 0.03 0.01 0.01 99.67 04:40:01 0 1.09 0.00 0.01 0.00 0.01 98.89 04:40:01 1 0.03 0.00 0.03 0.01 0.01 99.92 04:40:01 2 0.03 0.00 0.04 0.01 0.02 99.90 04:40:01 3 0.01 0.00 0.01 0.01 0.01 99.96 04:50:15 all 0.10 0.00 0.02 0.01 0.01 99.87 04:50:15 0 0.33 0.00 0.02 0.01 0.02 99.61 04:50:15 1 0.02 0.00 0.02 0.01 0.01 99.95 04:50:15 2 0.02 0.00 0.02 0.00 0.01 99.95 04:50:15 3 0.01 0.00 0.02 0.00 0.01 99.95 05:00:15 all 0.06 0.00 0.03 0.01 0.01 99.89 05:00:15 0 0.16 0.00 0.05 0.01 0.02 99.76 05:00:15 1 0.02 0.00 0.03 0.01 0.01 99.93 05:00:15 2 0.03 0.00 0.02 0.00 0.01 99.93 05:00:15 3 0.03 0.00 0.01 0.00 0.01 99.96 05:10:01 all 0.02 0.00 0.02 0.01 0.01 99.94 05:10:01 0 0.03 0.00 0.02 0.00 0.02 99.93 05:10:01 1 0.03 0.00 0.03 0.01 0.01 99.92 05:10:01 2 0.01 0.00 0.02 0.00 0.01 99.96 05:10:01 3 0.02 0.00 0.02 0.01 0.01 99.94 05:20:11 all 0.07 0.00 0.02 0.01 0.01 99.90 05:20:11 0 0.02 0.00 0.01 0.00 0.01 99.97 05:20:11 1 0.20 0.00 0.03 0.00 0.02 99.75 05:20:11 2 0.04 0.00 0.03 0.01 0.01 99.91 05:20:11 3 0.01 0.00 0.01 0.01 0.01 99.96 05:30:05 all 0.12 0.00 0.02 0.01 0.01 99.84 05:30:05 0 0.01 0.00 0.01 0.01 0.01 99.96 05:30:05 1 0.02 0.00 0.01 0.00 0.01 99.95 05:30:05 2 0.45 0.00 0.05 0.00 0.02 99.48 05:30:05 3 0.01 0.00 0.01 0.01 0.01 99.96 05:30:05 CPU %user %nice %system %iowait %steal %idle 05:40:01 all 0.18 0.00 0.03 0.01 0.01 99.78 05:40:01 0 0.02 0.00 0.02 0.00 0.01 99.95 05:40:01 1 0.02 0.00 0.02 0.01 0.01 99.95 05:40:01 2 0.65 0.00 0.04 0.00 0.02 99.29 05:40:01 3 0.01 0.00 0.02 0.02 0.01 99.94 05:50:27 all 0.08 0.00 0.02 0.01 0.01 99.88 05:50:27 0 0.01 0.00 0.02 0.00 0.01 99.95 05:50:27 1 0.01 0.00 0.02 0.01 0.01 99.96 05:50:27 2 0.29 0.00 0.02 0.00 0.01 99.67 05:50:27 3 0.02 0.00 0.02 0.01 0.01 99.93 06:00:27 all 0.22 0.00 0.02 0.01 0.01 99.74 06:00:27 0 0.02 0.00 0.02 0.00 0.01 99.96 06:00:27 1 0.02 0.00 0.03 0.01 0.02 99.93 06:00:27 2 0.16 0.00 0.03 0.00 0.01 99.80 06:00:27 3 0.68 0.00 0.02 0.01 0.01 99.27 06:10:01 all 0.04 0.00 0.02 0.00 0.01 99.92 06:10:01 0 0.01 0.00 0.03 0.00 0.01 99.95 06:10:01 1 0.11 0.00 0.04 0.01 0.02 99.83 06:10:01 2 0.03 0.00 0.02 0.00 0.01 99.94 06:10:01 3 0.01 0.00 0.01 0.01 0.00 99.96 06:20:27 all 0.02 0.00 0.02 0.01 0.01 99.94 06:20:27 0 0.01 0.00 0.02 0.00 0.01 99.96 06:20:27 1 0.02 0.00 0.02 0.01 0.01 99.94 06:20:27 2 0.03 0.00 0.03 0.00 0.02 99.92 06:20:27 3 0.02 0.00 0.02 0.01 0.00 99.95 06:30:17 all 0.35 0.00 0.03 0.01 0.01 99.61 06:30:17 0 0.01 0.00 0.02 0.01 0.01 99.96 06:30:17 1 0.02 0.00 0.02 0.01 0.01 99.93 06:30:17 2 1.33 0.00 0.05 0.00 0.02 98.60 06:30:17 3 0.02 0.00 0.02 0.00 0.01 99.95 06:40:01 all 0.10 0.00 0.02 0.01 0.01 99.86 06:40:01 0 0.02 0.00 0.01 0.00 0.01 99.96 06:40:01 1 0.03 0.00 0.03 0.01 0.01 99.91 06:40:01 2 0.32 0.00 0.02 0.00 0.01 99.66 06:40:01 3 0.03 0.00 0.03 0.00 0.01 99.93 06:50:27 all 0.17 0.00 0.03 0.01 0.01 99.79 06:50:27 0 0.02 0.00 0.03 0.00 0.01 99.94 06:50:27 1 0.03 0.00 0.03 0.02 0.01 99.91 06:50:27 2 0.61 0.00 0.02 0.00 0.01 99.36 06:50:27 3 0.02 0.00 0.02 0.00 0.01 99.95 07:00:20 all 0.10 0.00 0.03 0.01 0.01 99.86 07:00:20 0 0.02 0.00 0.02 0.00 0.01 99.95 07:00:20 1 0.07 0.00 0.03 0.01 0.01 99.88 07:00:20 2 0.05 0.00 0.02 0.00 0.01 99.92 07:00:20 3 0.25 0.00 0.04 0.01 0.01 99.70 07:10:01 all 0.03 0.00 0.02 0.01 0.01 99.93 07:10:01 0 0.02 0.00 0.03 0.01 0.01 99.94 07:10:01 1 0.03 0.00 0.03 0.00 0.01 99.93 07:10:01 2 0.07 0.00 0.02 0.00 0.01 99.90 07:10:01 3 0.02 0.00 0.02 0.02 0.01 99.94 07:20:27 all 0.03 0.00 0.02 0.01 0.01 99.93 07:20:27 0 0.03 0.00 0.03 0.00 0.01 99.93 07:20:27 1 0.02 0.00 0.02 0.02 0.01 99.93 07:20:27 2 0.07 0.00 0.01 0.00 0.01 99.91 07:20:27 3 0.02 0.00 0.02 0.00 0.01 99.94 07:20:27 CPU %user %nice %system %iowait %steal %idle 07:30:18 all 0.02 0.00 0.02 0.01 0.01 99.94 07:30:18 0 0.02 0.00 0.01 0.00 0.01 99.95 07:30:18 1 0.03 0.00 0.04 0.02 0.02 99.90 07:30:18 2 0.02 0.00 0.01 0.00 0.00 99.97 07:30:18 3 0.01 0.00 0.02 0.01 0.01 99.95 07:40:01 all 0.08 0.00 0.02 0.01 0.01 99.88 07:40:01 0 0.02 0.00 0.02 0.00 0.01 99.94 07:40:01 1 0.29 0.00 0.03 0.02 0.02 99.64 07:40:01 2 0.02 0.00 0.02 0.00 0.01 99.96 07:40:01 3 0.01 0.00 0.02 0.00 0.01 99.97 07:50:18 all 0.09 0.00 0.02 0.00 0.01 99.87 07:50:18 0 0.20 0.00 0.03 0.00 0.01 99.76 07:50:18 1 0.02 0.00 0.02 0.01 0.01 99.94 07:50:18 2 0.03 0.00 0.02 0.00 0.01 99.94 07:50:18 3 0.13 0.00 0.02 0.00 0.01 99.84 08:00:17 all 0.10 0.00 0.02 0.01 0.01 99.86 08:00:17 0 0.32 0.00 0.01 0.00 0.01 99.66 08:00:17 1 0.03 0.00 0.03 0.01 0.02 99.92 08:00:17 2 0.02 0.00 0.03 0.02 0.01 99.92 08:00:17 3 0.02 0.00 0.02 0.00 0.01 99.95 08:10:01 all 0.29 0.00 0.03 0.01 0.01 99.66 08:10:01 0 1.08 0.00 0.02 0.00 0.01 98.89 08:10:01 1 0.04 0.00 0.04 0.01 0.02 99.89 08:10:01 2 0.03 0.00 0.03 0.02 0.01 99.91 08:10:01 3 0.01 0.00 0.02 0.00 0.00 99.97 08:20:27 all 0.09 0.00 0.03 0.01 0.01 99.86 08:20:27 0 0.29 0.00 0.03 0.00 0.01 99.67 08:20:27 1 0.04 0.00 0.05 0.01 0.02 99.89 08:20:27 2 0.03 0.00 0.02 0.01 0.01 99.93 08:20:27 3 0.02 0.00 0.02 0.01 0.01 99.95 08:30:17 all 0.18 0.00 0.03 0.01 0.01 99.77 08:30:17 0 0.66 0.00 0.04 0.01 0.01 99.28 08:30:17 1 0.03 0.00 0.03 0.02 0.01 99.90 08:30:17 2 0.02 0.00 0.02 0.00 0.01 99.95 08:30:17 3 0.02 0.00 0.02 0.00 0.01 99.95 08:40:01 all 0.08 0.00 0.03 0.01 0.01 99.88 08:40:01 0 0.23 0.00 0.05 0.00 0.02 99.69 08:40:01 1 0.05 0.00 0.02 0.02 0.01 99.90 08:40:01 2 0.01 0.00 0.02 0.00 0.00 99.96 08:40:01 3 0.02 0.00 0.02 0.00 0.01 99.96 08:50:17 all 0.12 0.00 0.02 0.01 0.01 99.83 08:50:17 0 0.03 0.00 0.02 0.00 0.01 99.93 08:50:17 1 0.42 0.00 0.02 0.01 0.01 99.54 08:50:17 2 0.02 0.00 0.03 0.01 0.01 99.93 08:50:17 3 0.03 0.00 0.03 0.00 0.01 99.93 09:00:18 all 0.05 0.00 0.02 0.01 0.01 99.91 09:00:18 0 0.03 0.00 0.02 0.00 0.01 99.94 09:00:18 1 0.13 0.00 0.02 0.01 0.01 99.82 09:00:18 2 0.02 0.00 0.03 0.01 0.01 99.93 09:00:18 3 0.02 0.00 0.03 0.00 0.01 99.94 09:10:01 all 35.29 0.00 2.18 0.59 0.07 61.87 09:10:01 0 35.75 0.00 2.33 0.33 0.08 61.51 09:10:01 1 31.86 0.00 2.18 0.89 0.07 65.00 09:10:01 2 35.07 0.00 2.00 0.50 0.07 62.36 09:10:01 3 38.47 0.00 2.22 0.62 0.07 58.62 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.73 0.00 0.06 0.02 0.01 99.18 Average: 0 0.80 0.00 0.06 0.01 0.01 99.11 Average: 1 0.64 0.00 0.07 0.02 0.01 99.25 Average: 2 0.74 0.00 0.06 0.02 0.01 99.17 Average: 3 0.75 0.00 0.06 0.02 0.01 99.17