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