Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/transportpce/+/110266 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-centos8-builder-4c-16g-175 (centos8-builder-4c-16g) in workspace /w/workspace/transportpce-tox-verify-transportpce-master [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-A4CcAiJXVQNn/agent.5559 SSH_AGENT_PID=5561 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_5099695477037979538.key (/w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_5099695477037979538.key) [ssh-agent] Using credentials jenkins (jenkins-ssh) The recommended git tool is: NONE using credential jenkins-ssh Wiping out workspace first. Cloning the remote Git repository Cloning repository git://devvexx.opendaylight.org/mirror/transportpce > git init /w/workspace/transportpce-tox-verify-transportpce-master # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce > git --version # timeout=10 > git --version # 'git version 2.43.0' using GIT_SSH to set credentials jenkins-ssh [INFO] Currently running in a labeled security context [INFO] Currently SELinux is 'enforcing' on the host > /usr/bin/chcon --type=ssh_home_t /w/workspace/transportpce-tox-verify-transportpce-master@tmp/jenkins-gitclient-ssh16139887945641122164.key Verifying host key using known hosts file You're using 'Known hosts file' strategy to verify ssh host keys, but your known_hosts file does not exist, please go to 'Manage Jenkins' -> 'Security' -> 'Git Host Key Verification Configuration' and configure host key verification. > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce using GIT_SSH to set credentials jenkins-ssh [INFO] Currently running in a labeled security context [INFO] Currently SELinux is 'enforcing' on the host > /usr/bin/chcon --type=ssh_home_t /w/workspace/transportpce-tox-verify-transportpce-master@tmp/jenkins-gitclient-ssh193349685469244278.key Verifying host key using known hosts file You're using 'Known hosts file' strategy to verify ssh host keys, but your known_hosts file does not exist, please go to 'Manage Jenkins' -> 'Security' -> 'Git Host Key Verification Configuration' and configure host key verification. > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce refs/changes/66/110266/6 # timeout=10 > git rev-parse 31634068044299fbc4298df2a6e698024da71dff^{commit} # timeout=10 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script Checking out Revision 31634068044299fbc4298df2a6e698024da71dff (refs/changes/66/110266/6) > git config core.sparsecheckout # timeout=10 > git checkout -f 31634068044299fbc4298df2a6e698024da71dff # timeout=10 Commit message: "Refactor RendererServiceOperationsImpl notify" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk 154e86960b348bcd78c28a9c05e4fb626c4fab7d # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 ERROR: No submodules found. provisioning config files... copy managed file [npmrc] to file:/home/jenkins/.npmrc copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins8352693849347560.sh ---> python-tools-install.sh Setup pyenv: system * 3.8.13 (set by /opt/pyenv/version) * 3.9.13 (set by /opt/pyenv/version) * 3.10.6 (set by /opt/pyenv/version) lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-EKjs lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-EKjs/bin to PATH Generating Requirements File ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. lftools 0.37.9 requires openstacksdk>=2.1.0, but you have openstacksdk 0.62.0 which is incompatible. Python 3.10.6 pip 24.0 from /tmp/venv-EKjs/lib/python3.10/site-packages/pip (python 3.10) appdirs==1.4.4 argcomplete==3.2.2 aspy.yaml==1.3.0 attrs==23.2.0 autopage==0.5.2 beautifulsoup4==4.12.3 boto3==1.34.50 botocore==1.34.50 bs4==0.0.2 cachetools==5.3.3 certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 click==8.1.7 cliff==4.6.0 cmd2==2.4.3 cryptography==3.3.2 debtcollector==3.0.0 decorator==5.1.1 defusedxml==0.7.1 Deprecated==1.2.14 distlib==0.3.8 dnspython==2.6.1 docker==4.2.2 dogpile.cache==1.3.2 email_validator==2.1.1 filelock==3.13.1 future==1.0.0 gitdb==4.0.11 GitPython==3.1.42 google-auth==2.28.1 httplib2==0.22.0 identify==2.5.35 idna==3.6 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.3 jmespath==1.0.1 jsonpatch==1.33 jsonpointer==2.4 jsonschema==4.21.1 jsonschema-specifications==2023.12.1 keystoneauth1==5.6.0 kubernetes==29.0.0 lftools==0.37.9 lxml==5.1.0 MarkupSafe==2.1.5 msgpack==1.0.7 multi_key_dict==2.0.3 munch==4.0.0 netaddr==1.2.1 netifaces==0.11.0 niet==1.4.2 nodeenv==1.8.0 oauth2client==4.1.3 oauthlib==3.2.2 openstacksdk==0.62.0 os-client-config==2.1.0 os-service-types==1.7.0 osc-lib==3.0.1 oslo.config==9.4.0 oslo.context==5.4.0 oslo.i18n==6.3.0 oslo.log==5.5.0 oslo.serialization==5.4.0 oslo.utils==7.1.0 packaging==23.2 pbr==6.0.0 platformdirs==4.2.0 prettytable==3.10.0 pyasn1==0.5.1 pyasn1-modules==0.3.0 pycparser==2.21 pygerrit2==2.0.15 PyGithub==2.2.0 pyinotify==0.9.6 PyJWT==2.8.0 PyNaCl==1.5.0 pyparsing==2.4.7 pyperclip==1.8.2 pyrsistent==0.20.0 python-cinderclient==9.4.0 python-dateutil==2.8.2 python-heatclient==3.4.0 python-jenkins==1.8.2 python-keystoneclient==5.3.0 python-magnumclient==4.3.0 python-novaclient==18.4.0 python-openstackclient==6.0.1 python-swiftclient==4.4.0 PyYAML==6.0.1 referencing==0.33.0 requests==2.31.0 requests-oauthlib==1.3.1 requestsexceptions==1.4.0 rfc3986==2.0.0 rpds-py==0.18.0 rsa==4.9 ruamel.yaml==0.18.6 ruamel.yaml.clib==0.2.8 s3transfer==0.10.0 simplejson==3.19.2 six==1.16.0 smmap==5.0.1 soupsieve==2.5 stevedore==5.2.0 tabulate==0.9.0 toml==0.10.2 tomlkit==0.12.4 tqdm==4.66.2 typing_extensions==4.10.0 tzdata==2024.1 urllib3==1.26.18 virtualenv==20.25.1 wcwidth==0.2.13 websocket-client==1.7.0 wrapt==1.16.0 xdg==6.0.0 xmltodict==0.13.0 yq==3.2.3 [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PYTHON=python3 [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins14003076215038904453.sh ---> tox-install.sh + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-R58v + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + pyenv versions system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\''/opt/pyenv/shims'\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ pyenv versions ++ grep -E '^[0-9.]*[0-9]$' ++ sed 's/^[ *]* //' ++ awk '{ print $1 }' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.10.6 ++ [[ -z 3.10.6 ]] ++ echo 3.10.6 ++ return 0 + pyenv local 3.10.6 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.10.6 + pyenv local 3.10.6 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] + [[ ! -f /tmp/.toxenv ]] + [[ -n '' ]] + python3 -m venv /tmp/venv-R58v + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-R58v' lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-R58v + echo /tmp/venv-R58v + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv + /tmp/venv-R58v/bin/python3 -m pip install --upgrade --quiet pip virtualenv + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing: tox virtualenv urllib3~=1.26.15 + /tmp/venv-R58v/bin/python3 -m pip install --upgrade --quiet --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-R58v/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-R58v/bin to PATH + PATH=/tmp/venv-R58v/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + return 0 + python3 --version Python 3.10.6 + python3 -m pip --version pip 24.0 from /tmp/venv-R58v/lib/python3.10/site-packages/pip (python 3.10) + python3 -m pip freeze cachetools==5.3.3 chardet==5.2.0 colorama==0.4.6 distlib==0.3.8 filelock==3.13.1 packaging==23.2 platformdirs==4.2.0 pluggy==1.4.0 pyproject-api==1.6.1 tomli==2.0.1 tox==4.13.0 urllib3==1.26.18 virtualenv==20.25.1 [transportpce-tox-verify-transportpce-master] $ /bin/sh -xe /tmp/jenkins11742102410208308924.sh [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PARALLEL=True [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins10965209766049028266.sh ---> tox-run.sh + PATH=/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + ARCHIVE_TOX_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + ARCHIVE_DOC_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/docs + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + cd /w/workspace/transportpce-tox-verify-transportpce-master/. + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-Tnfc + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + pyenv versions system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\''/opt/pyenv/shims'\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ pyenv versions ++ sed 's/^[ *]* //' ++ grep -E '^[0-9.]*[0-9]$' ++ awk '{ print $1 }' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.10.6 ++ [[ -z 3.10.6 ]] ++ echo 3.10.6 ++ return 0 + pyenv local 3.10.6 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.10.6 + pyenv local 3.10.6 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] ++ cat /tmp/.toxenv + lf_venv=/tmp/venv-R58v + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-R58v from' file:/tmp/.toxenv lf-activate-venv(): INFO: Reuse venv:/tmp/venv-R58v from file:/tmp/.toxenv + /tmp/venv-R58v/bin/python3 -m pip install --upgrade --quiet pip virtualenv + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing: tox virtualenv urllib3~=1.26.15 + /tmp/venv-R58v/bin/python3 -m pip install --upgrade --quiet --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-R58v/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-R58v/bin to PATH + PATH=/tmp/venv-R58v/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + return 0 + [[ -d /opt/pyenv ]] + echo '---> Setting up pyenv' ---> Setting up pyenv + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin ++ pwd + PYTHONPATH=/w/workspace/transportpce-tox-verify-transportpce-master + export PYTHONPATH + export TOX_TESTENV_PASSENV=PYTHONPATH + TOX_TESTENV_PASSENV=PYTHONPATH + tox --version 4.13.0 from /tmp/venv-R58v/lib/python3.10/site-packages/tox/__init__.py + PARALLEL=True + TOX_OPTIONS_LIST= + [[ -n '' ]] + case ${PARALLEL,,} in + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' + tox --parallel auto --parallel-live + tee -a /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tox.log docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt docs: install_deps> python -I -m pip install -r docs/requirements.txt buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt checkbashisms: freeze> python -m pip freeze --all checkbashisms: pip==24.0,setuptools==69.1.0,wheel==0.42.0 checkbashisms: commands[0] /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)' /usr/bin/sh: checkbashisms: command not found CentOS Stream 8 - AppStream 11 MB/s | 27 MB 00:02 buildcontroller: freeze> python -m pip freeze --all buildcontroller: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh which: no mvn in (/w/workspace/transportpce-tox-verify-transportpce-master/.tox/buildcontroller/bin:/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin) + JAVA_CMD=java + '[' -n '' ']' ++ java -version ++ sed -n ';s/.* version "\(.*\)\.\(.*\)\..*".*$/\1/p;' + JAVA_VER=11 + echo 11 + JAVAC_CMD=javac + '[' -n '' ']' 11 ++ sed -n ';s/javac \(.*\)\.\(.*\)\..*.*$/\1/p;' ++ javac -version + JAVAC_VER=11 + echo 11 + '[' 11 -ge 17 -a 11 -ge 17 ']' + echo 'install java 17' + sudo yum install -y java-17-openjdk java-17-openjdk-devel 11 install java 17 Waiting for process with pid 6903 to finish. CentOS Stream 8 - BaseOS 14 MB/s | 10 MB 00:00 CentOS Stream 8 - Extras 49 kB/s | 18 kB 00:00 CentOS Stream 8 - Extras common packages 82 kB/s | 6.9 kB 00:00 CentOS Stream 8 - PowerTools 12 MB/s | 4.9 MB 00:00 Docker CE Stable - x86_64 112 kB/s | 57 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 19 MB/s | 16 MB 00:00 Node.js Packages for Enterprise Linux 8 - x86_6 2.6 MB/s | 710 kB 00:00 Puppet Repository el 8 - x86_64 44 MB/s | 19 MB 00:00 docs-linkcheck: freeze> python -m pip freeze --all docs: freeze> python -m pip freeze --all docs-linkcheck: alabaster==0.7.16,attrs==23.2.0,Babel==2.14.0,blockdiag==3.0.0,certifi==2024.2.2,charset-normalizer==3.3.2,contourpy==1.2.0,cycler==0.12.1,docutils==0.20.1,fonttools==4.49.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.6,imagesize==1.4.1,Jinja2==3.1.3,jsonschema==3.2.0,kiwisolver==1.4.5,lfdocs-conf==0.9.0,MarkupSafe==2.1.5,matplotlib==3.8.3,numpy==1.26.4,nwdiag==3.0.0,packaging==23.2,pillow==10.2.0,pip==24.0,Pygments==2.17.2,pyparsing==3.1.1,pyrsistent==0.20.0,python-dateutil==2.8.2,PyYAML==6.0.1,requests==2.31.0,requests-file==1.5.1,seqdiag==3.0.0,setuptools==69.1.0,six==1.16.0,snowballstemmer==2.2.0,Sphinx==7.2.6,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.4,sphinx-rtd-theme==2.0.0,sphinx-tabs==3.4.5,sphinxcontrib-applehelp==1.0.8,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==1.0.6,sphinxcontrib-htmlhelp==2.0.5,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.28,sphinxcontrib-qthelp==1.0.7,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==1.1.10,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.2.1,webcolors==1.13,wheel==0.42.0 docs-linkcheck: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/linkcheck docs: alabaster==0.7.16,attrs==23.2.0,Babel==2.14.0,blockdiag==3.0.0,certifi==2024.2.2,charset-normalizer==3.3.2,contourpy==1.2.0,cycler==0.12.1,docutils==0.20.1,fonttools==4.49.0,funcparserlib==2.0.0a0,future==1.0.0,idna==3.6,imagesize==1.4.1,Jinja2==3.1.3,jsonschema==3.2.0,kiwisolver==1.4.5,lfdocs-conf==0.9.0,MarkupSafe==2.1.5,matplotlib==3.8.3,numpy==1.26.4,nwdiag==3.0.0,packaging==23.2,pillow==10.2.0,pip==24.0,Pygments==2.17.2,pyparsing==3.1.1,pyrsistent==0.20.0,python-dateutil==2.8.2,PyYAML==6.0.1,requests==2.31.0,requests-file==1.5.1,seqdiag==3.0.0,setuptools==69.1.0,six==1.16.0,snowballstemmer==2.2.0,Sphinx==7.2.6,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.4,sphinx-rtd-theme==2.0.0,sphinx-tabs==3.4.5,sphinxcontrib-applehelp==1.0.8,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==1.0.6,sphinxcontrib-htmlhelp==2.0.5,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.28,sphinxcontrib-qthelp==1.0.7,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==1.1.10,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.2.1,webcolors==1.13,wheel==0.42.0 docs: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/html docs: OK ✔ in 27.4 seconds pre-commit: install_deps> python -I -m pip install pre-commit Last metadata expiration check: 0:00:04 ago on Tue 27 Feb 2024 03:33:18 PM UTC. docs-linkcheck: OK ✔ in 28.43 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' pre-commit: freeze> python -m pip freeze --all No match for argument: devscripts-checkbashisms pre-commit: cfgv==3.4.0,distlib==0.3.8,filelock==3.13.1,identify==2.5.35,nodeenv==1.8.0,pip==24.0,platformdirs==4.2.0,pre-commit==3.6.2,PyYAML==6.0.1,setuptools==69.1.0,virtualenv==20.25.1,wheel==0.42.0 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure Error: Unable to find a match: devscripts-checkbashisms [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. Package java-17-openjdk-1:17.0.6.0.9-0.3.ea.el8.x86_64 is already installed. Package java-17-openjdk-devel-1:17.0.6.0.9-0.3.ea.el8.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete! ++ ls -tr1 /usr/lib/jvm/ ++ tail -1 ++ grep java-17-openjdk-17 + last_installed_jdk17=java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64 + '[' -n java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64 ']' + sudo alternatives --set java /usr/lib/jvm/java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64/bin/java + sudo alternatives --set javac /usr/lib/jvm/java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64/bin/javac + wget -nv https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz -P /tmp pylint: freeze> python -m pip freeze --all 2024-02-27 15:33:26 URL:https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz [8296049/8296049] -> "/tmp/apache-maven-3.8.8-bin.tar.gz" [1] + sudo mkdir -p /opt + sudo tar xf /tmp/apache-maven-3.8.8-bin.tar.gz -C /opt [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. + sudo ln -s /opt/apache-maven-3.8.8 /opt/maven + sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn Last metadata expiration check: 0:00:08 ago on Tue 27 Feb 2024 03:33:18 PM UTC. NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable pylint: astroid==3.1.0,dill==0.3.8,isort==5.13.2,mccabe==0.7.0,pip==24.0,platformdirs==4.2.0,pylint==3.1.0,setuptools==69.1.0,tomli==2.0.1,tomlkit==0.12.4,typing_extensions==4.10.0,wheel==0.42.0 pylint: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find transportpce_tests/ -name '*.py' -exec pylint --fail-under=10 --max-line-length=120 --disable=missing-docstring,import-error --disable=fixme --disable=duplicate-code '--module-rgx=([a-z0-9_]+$)|([0-9.]{1,30}$)' '--method-rgx=(([a-z_][a-zA-Z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-zA-Z][a-zA-Z0-9_]+__))$' '--variable-rgx=[a-zA-Z_][a-zA-Z0-9_]{1,30}$' '{}' + [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. No match for argument: devscripts-minimal Error: Unable to find a match: devscripts-minimal [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Initializing environment for https://github.com/pre-commit/mirrors-autopep8. Last metadata expiration check: 0:00:11 ago on Tue 27 Feb 2024 03:33:18 PM UTC. [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... No match for argument: devscripts Error: Unable to find a match: devscripts Last metadata expiration check: 0:00:15 ago on Tue 27 Feb 2024 03:33:18 PM UTC. [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... devscripts-checkbashisms-2.19.6-2.fc31.x86_64.r 310 kB/s | 29 kB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: devscripts-checkbashisms x86_64 2.19.6-2.fc31 @commandline 29 k Transaction Summary ================================================================================ Install 1 Package Total size: 29 k Installed size: 52 k Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : devscripts-checkbashisms-2.19.6-2.fc31.x86_64 1/1 Running scriptlet: devscripts-checkbashisms-2.19.6-2.fc31.x86_64 1/1 Verifying : devscripts-checkbashisms-2.19.6-2.fc31.x86_64 1/1 Installed: devscripts-checkbashisms-2.19.6-2.fc31.x86_64 Complete! checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + script ./reflectwarn.sh does not appear to have a #! interpreter line; you may get strange results [INFO] Installing environment for https://github.com/pre-commit/mirrors-autopep8. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... trim trailing whitespace.................................................Passed Tabs remover.............................................................Passed autopep8.................................................................Passed checkbashisms: OK ✔ in 43.9 seconds pre-commit: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run gitlint-ci --hook-stage manual ------------------------------------ Your code has been rated at 10.00/10 [INFO] Installing environment for https://github.com/jorisroovers/gitlint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... gitlint..................................................................Passed pylint: OK ✔ in 27.66 seconds pre-commit: OK ✔ in 34.55 seconds buildcontroller: OK ✔ in 2 minutes 46.97 seconds sims221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt sims121: 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 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 sims221: freeze> python -m pip freeze --all build_karaf_tests121: freeze> python -m pip freeze --all sims221: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 sims221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_sims.sh 2.2.1 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory sims121: freeze> python -m pip freeze --all build_karaf_tests121: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 build_karaf_tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable sims121: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 sims121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_sims.sh 1.2.1 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory replace ./lightynode/lighty-openroadm-device-18.1.0.8/lighty-openroadm-device-18.1.0.8.jar? [y]es, [n]o, [A]ll, [N]one, [r]ename: NULL (EOF or read error, treating as "[N]one" ...) replace ./lightynode/lighty-openroadm-device-18.1.0.8/lib/rfc8529-11.0.9.jar? [y]es, [n]o, [A]ll, [N]one, [r]ename: NULL (EOF or read error, treating as "[N]one" ...) mv: cannot stat './lightynode/lighty-openroadm-device-18.1.0.8': No such file or directory sims121: OK ✔ in 12.03 seconds sims221: OK ✔ in 12.07 seconds 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 sims71: 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 sims71: freeze> python -m pip freeze --all build_karaf_tests221: freeze> python -m pip freeze --all sims71: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 sims71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_sims.sh 7.1 Removing ./lightynode/lightynode-openroadm-device directory Installing lightynode device to ./lightynode/lightynode-openroadm-device directory build_karaf_tests221: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable sims71: OK ✔ in 16.36 seconds build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests121: OK ✔ in 49.83 seconds build_karaf_tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt build_karaf_tests71: freeze> python -m pip freeze --all build_karaf_tests71: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable build_karaf_tests_hybrid: freeze> python -m pip freeze --all build_karaf_tests_hybrid: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 build_karaf_tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Xlog:disable build_karaf_tests221: OK ✔ in 1 minute 11.07 seconds tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt testsPCE: freeze> python -m pip freeze --all testsPCE: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,click==8.1.7,contourpy==1.2.0,cryptography==3.3.2,cycler==0.12.1,dict2xml==1.7.5,exceptiongroup==1.2.0,Flask==2.1.3,Flask-Injector==0.14.0,fonttools==4.49.0,gnpy4tpce==2.4.7,idna==3.6,iniconfig==2.0.0,injector==0.21.0,itsdangerous==2.1.2,Jinja2==3.1.3,kiwisolver==1.4.5,lxml==5.1.0,MarkupSafe==2.1.5,matplotlib==3.8.3,netconf-client==3.0.0,networkx==2.8.8,numpy==1.26.4,packaging==23.2,pandas==1.5.3,paramiko==3.4.0,pbr==5.11.1,pillow==10.2.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pyparsing==3.1.1,pytest==8.0.2,python-dateutil==2.8.2,pytz==2024.1,requests==2.31.0,scipy==1.12.0,setuptools==50.3.2,six==1.16.0,tomli==2.0.1,urllib3==2.2.1,Werkzeug==2.0.3,wheel==0.42.0,xlrd==1.2.0 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce which: no pytest-3 in (/w/workspace/transportpce-tox-verify-transportpce-master/.tox/testsPCE/bin:/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin) pytest -q transportpce_tests/pce/test01_pce.py tests_tapi: freeze> python -m pip freeze --all tests_tapi: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi which: no pytest-3 in (/w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests_tapi/bin:/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin) using environment variables from ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py ............................................ [100%] 20 passed in 127.07s (0:02:07) pytest -q transportpce_tests/pce/test02_pce_400G.py ................... [100%] 9 passed in 46.09s pytest -q transportpce_tests/pce/test03_gnpy.py ............ [100%] 8 passed in 41.23s pytest -q transportpce_tests/pce/test04_pce_bug_fix.py ............ [100%] 50 passed in 218.08s (0:03:38) pytest -q transportpce_tests/tapi/test02_full_topology.py ... [100%] 3 passed in 60.49s (0:01:00) build_karaf_tests71: OK ✔ in 1 minute 18.41 seconds build_karaf_tests_hybrid: OK ✔ in 1 minute 9.03 seconds testsPCE: OK ✔ in 6 minutes 2.88 seconds 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 tests121: freeze> python -m pip freeze --all tests121: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 tests121: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 1.2.1 using environment variables from ./karaf121.env which: no pytest-3 in (/w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests121/bin:/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin) pytest -q transportpce_tests/1.2.1/test01_portmapping.py ............................... [100%] 30 passed in 290.48s (0:04:50) pytest -q transportpce_tests/tapi/test03_tapi_device_change_notifications.py ........FFFFFFF..F...F [100%] =================================== FAILURES =================================== _______ TransportPCEPortMappingTesting.test_10_xpdr_portmapping_NETWORK1 _______ self = def test_10_xpdr_portmapping_NETWORK1(self): response = test_utils.get_portmapping_node_attr("XPDRA01", "mapping", "XPDR1-NETWORK1") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/1.2.1/test01_portmapping.py:123: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_10_xpdr_portmapping_NETWORK1 _______ TransportPCEPortMappingTesting.test_11_xpdr_portmapping_NETWORK2 _______ self = def test_11_xpdr_portmapping_NETWORK2(self): response = test_utils.get_portmapping_node_attr("XPDRA01", "mapping", "XPDR1-NETWORK2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/1.2.1/test01_portmapping.py:134: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_11_xpdr_portmapping_NETWORK2 _______ TransportPCEPortMappingTesting.test_12_xpdr_portmapping_CLIENT1 ________ self = def test_12_xpdr_portmapping_CLIENT1(self): response = test_utils.get_portmapping_node_attr("XPDRA01", "mapping", "XPDR1-CLIENT1") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/1.2.1/test01_portmapping.py:145: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_12_xpdr_portmapping_CLIENT1 _______ TransportPCEPortMappingTesting.test_13_xpdr_portmapping_CLIENT2 ________ self = def test_13_xpdr_portmapping_CLIENT2(self): response = test_utils.get_portmapping_node_attr("XPDRA01", "mapping", "XPDR1-CLIENT2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/1.2.1/test01_portmapping.py:157: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_13_xpdr_portmapping_CLIENT2 _______ TransportPCEPortMappingTesting.test_14_xpdr_portmapping_CLIENT3 ________ self = def test_14_xpdr_portmapping_CLIENT3(self): response = test_utils.get_portmapping_node_attr("XPDRA01", "mapping", "XPDR1-CLIENT3") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/1.2.1/test01_portmapping.py:169: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_14_xpdr_portmapping_CLIENT3 _______ TransportPCEPortMappingTesting.test_15_xpdr_portmapping_CLIENT4 ________ self = def test_15_xpdr_portmapping_CLIENT4(self): response = test_utils.get_portmapping_node_attr("XPDRA01", "mapping", "XPDR1-CLIENT4") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/1.2.1/test01_portmapping.py:181: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_15_xpdr_portmapping_CLIENT4 _______ TransportPCEPortMappingTesting.test_18_xpdr_device_not_connected _______ self = def test_18_xpdr_device_not_connected(self): response = test_utils.get_portmapping_node_attr("XPDRA01", "node-info", None) > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/1.2.1/test01_portmapping.py:204: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_18_xpdr_device_not_connected _______ TransportPCEPortMappingTesting.test_21_rdm_device_not_connected ________ self = def test_21_rdm_device_not_connected(self): response = test_utils.get_portmapping_node_attr("ROADMA01", "node-info", None) > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/1.2.1/test01_portmapping.py:224: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_21_rdm_device_not_connected --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_10_xpdr_portmapping_NETWORK1 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_11_xpdr_portmapping_NETWORK2 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_12_xpdr_portmapping_CLIENT1 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_13_xpdr_portmapping_CLIENT2 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_14_xpdr_portmapping_CLIENT3 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_15_xpdr_portmapping_CLIENT4 FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_18_xpdr_device_not_connected FAILED transportpce_tests/1.2.1/test01_portmapping.py::TransportPCEPortMappingTesting::test_21_rdm_device_not_connected 8 failed, 13 passed in 749.89s (0:12:29) tests121: exit 1 (750.17 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 1.2.1 pid=52429 ..FFFFFFFFF.FFFFFF.FFFFFF.FFFFFF.FFFFFF.FFFFFF.FFFFFF.FFFFFFFFF....F [100%] =================================== FAILURES =================================== ________________ TransportPCEFulltesting.test_01_connect_xpdrA _________________ self = def test_01_connect_xpdrA(self): response = test_utils.mount_device("XPDR-A1", ('xpdra', self.NODE_VERSION_221)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:167: AssertionError ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! OpenDaylight started ! installing tapi feature... installing feature odl-transportpce-tapi client: JAVA_HOME not set; results may vary odl-transportpce-tapi │ 9.0.0.SNAPSHOT │ x │ Started │ odl-transportpce-tapi │ OpenDaylight :: transportpce :: tapi Restarting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! starting simulator xpdra in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in xpdra-221.log... Pattern found! simulator for xpdra started starting simulator roadma in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadma-221.log... Pattern found! simulator for roadma started starting simulator roadmc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadmc-221.log... Pattern found! simulator for roadmc started starting simulator xpdrc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in xpdrc-221.log... Pattern found! simulator for xpdrc started ----------------------------- Captured stdout call ----------------------------- execution of test_01_connect_xpdrA Searching for pattern 'Triggering notification stream NETCONF for node XPDR-A1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A1 still not added to tpce topology... ________ TransportPCEFulltesting.test_05_connect_xpdrA_N1_to_roadmA_PP1 ________ self = def test_05_connect_xpdrA_N1_to_roadmA_PP1(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:186: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_05_connect_xpdrA_N1_to_roadmA_PP1 ________ TransportPCEFulltesting.test_06_connect_roadmA_PP1_to_xpdrA_N1 ________ self = def test_06_connect_roadmA_PP1_to_xpdrA_N1(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-A1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:195: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_06_connect_roadmA_PP1_to_xpdrA_N1 ________ TransportPCEFulltesting.test_07_connect_xpdrC_N1_to_roadmC_PP1 ________ self = def test_07_connect_xpdrC_N1_to_roadmC_PP1(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-C1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:204: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_07_connect_xpdrC_N1_to_roadmC_PP1 ________ TransportPCEFulltesting.test_08_connect_roadmC_PP1_to_xpdrC_N1 ________ self = def test_08_connect_roadmC_PP1_to_xpdrC_N1(self): response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-C1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 204 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:213: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_08_connect_roadmC_PP1_to_xpdrC_N1 _______ TransportPCEFulltesting.test_09_add_omsAttributes_ROADMA_ROADMC ________ self = conn = method = 'PUT' url = '/rests/data/ietf-network:networks/network=openroadm-topology/ietf-network-topology:link=ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX/org-openroadm-network-topology:OMS-attributes/span' body = '{"span": {"auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{"SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}}' headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '207', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) timeout = Timeout(connect=10, read=10, total=None), chunked = False response_conn = preload_content = False, decode_content = False, enforce_content_length = True def _make_request( self, conn: BaseHTTPConnection, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | None = None, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, chunked: bool = False, response_conn: BaseHTTPConnection | None = None, preload_content: bool = True, decode_content: bool = True, enforce_content_length: bool = True, ) -> BaseHTTPResponse: """ Perform a request on a given urllib connection object taken from our pool. :param conn: a connection from one of our connection pools :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. Pass ``None`` to retry until you receive a response. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param response_conn: Set this to ``None`` if you will handle releasing the connection or set the connection to have the response release it. :param preload_content: If True, the response's body will be preloaded during construction. :param decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param enforce_content_length: Enforce content length checking. Body returned by server must match value of Content-Length header, if present. Otherwise, raise error. """ self.num_requests += 1 timeout_obj = self._get_timeout(timeout) timeout_obj.start_connect() conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) try: # Trigger any extra validation we need to do. try: self._validate_conn(conn) except (SocketTimeout, BaseSSLError) as e: self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) raise # _validate_conn() starts the connection to an HTTPS proxy # so we need to wrap errors with 'ProxyError' here too. except ( OSError, NewConnectionError, TimeoutError, BaseSSLError, CertificateError, SSLError, ) as e: new_e: Exception = e if isinstance(e, (BaseSSLError, CertificateError)): new_e = SSLError(e) # If the connection didn't successfully connect to it's proxy # then there if isinstance( new_e, (OSError, NewConnectionError, TimeoutError, SSLError) ) and (conn and conn.proxy and not conn.has_connected_to_proxy): new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) raise new_e # conn.request() calls http.client.*.request, not the method in # urllib3.request. It also calls makefile (recv) on the socket. try: conn.request( method, url, body=body, headers=headers, chunked=chunked, preload_content=preload_content, decode_content=decode_content, enforce_content_length=enforce_content_length, ) # We are swallowing BrokenPipeError (errno.EPIPE) since the server is # legitimately able to close the connection after sending a valid response. # With this behaviour, the received response is still readable. except BrokenPipeError: pass except OSError as e: # MacOS/Linux # EPROTOTYPE and ECONNRESET are needed on macOS # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE. if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET: raise # Reset the timeout for the recv() on the socket read_timeout = timeout_obj.read_timeout if not conn.is_closed: # In Python 3 socket.py will catch EAGAIN and return None when you # try and read into the file pointer created by http.client, which # instead raises a BadStatusLine exception. Instead of catching # the exception and assuming all BadStatusLine exceptions are read # timeouts, check for a zero timeout before making the request. if read_timeout == 0: raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={read_timeout})" ) conn.timeout = read_timeout # Receive the response from the server try: > response = conn.getresponse() ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connection.py:466: in getresponse httplib_response = super().getresponse() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:1374: in getresponse response.begin() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:318: in begin version, status, reason = self._read_status() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:279: in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b = def readinto(self, b): """Read up to len(b) bytes into the writable buffer *b* and return the number of bytes read. If the socket is non-blocking and no bytes are available, None is returned. If *b* is non-empty, a 0 return value indicates that the connection was shutdown at the other end. """ self._checkClosed() self._checkReadable() if self._timeout_occurred: raise OSError("cannot read from timed out object") while True: try: > return self._sock.recv_into(b) E TimeoutError: timed out /opt/pyenv/versions/3.10.6/lib/python3.10/socket.py:705: TimeoutError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/adapters.py:486: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:847: in urlopen retries = retries.increment( ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/util/retry.py:470: in increment raise reraise(type(error), error, _stacktrace) ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/util/util.py:39: in reraise raise value ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:793: in urlopen response = self._make_request( ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:539: in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TimeoutError('timed out') url = '/rests/data/ietf-network:networks/network=openroadm-topology/ietf-network-topology:link=ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX/org-openroadm-network-topology:OMS-attributes/span' timeout_value = 10 def _raise_timeout( self, err: BaseSSLError | OSError | SocketTimeout, url: str, timeout_value: _TYPE_TIMEOUT | None, ) -> None: """Is the error actually a timeout? Will raise a ReadTimeout or pass""" if isinstance(err, SocketTimeout): > raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={timeout_value})" ) from err E urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8183): Read timed out. (read timeout=10) ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:370: ReadTimeoutError During handling of the above exception, another exception occurred: self = def test_09_add_omsAttributes_ROADMA_ROADMC(self): # Config ROADMA-ROADMC oms-attributes data = {"span": { "auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{ "SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}} > response = test_utils.add_oms_attr_request( "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX", data) transportpce_tests/tapi/test03_tapi_device_change_notifications.py:229: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:551: in add_oms_attr_request response = put_request(url2.format('{}', network, link), oms_attr) transportpce_tests/common/test_utils.py:123: in put_request return requests.request( ../.tox/tests_tapi/lib/python3.10/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) raise ConnectionError(e, request=request) except ClosedPoolError as e: raise ConnectionError(e, request=request) except _ProxyError as e: raise ProxyError(e) except (_SSLError, _HTTPError) as e: if isinstance(e, _SSLError): # This branch is for urllib3 versions earlier than v1.22 raise SSLError(e, request=request) elif isinstance(e, ReadTimeoutError): > raise ReadTimeout(e, request=request) E requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8183): Read timed out. (read timeout=10) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/adapters.py:532: ReadTimeout ----------------------------- Captured stdout call ----------------------------- execution of test_09_add_omsAttributes_ROADMA_ROADMC _______ TransportPCEFulltesting.test_10_add_omsAttributes_ROADMC_ROADMA ________ self = conn = method = 'PUT' url = '/rests/data/ietf-network:networks/network=openroadm-topology/ietf-network-topology:link=ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX/org-openroadm-network-topology:OMS-attributes/span' body = '{"span": {"auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{"SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}}' headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '207', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) timeout = Timeout(connect=10, read=10, total=None), chunked = False response_conn = preload_content = False, decode_content = False, enforce_content_length = True def _make_request( self, conn: BaseHTTPConnection, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | None = None, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, chunked: bool = False, response_conn: BaseHTTPConnection | None = None, preload_content: bool = True, decode_content: bool = True, enforce_content_length: bool = True, ) -> BaseHTTPResponse: """ Perform a request on a given urllib connection object taken from our pool. :param conn: a connection from one of our connection pools :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. Pass ``None`` to retry until you receive a response. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param response_conn: Set this to ``None`` if you will handle releasing the connection or set the connection to have the response release it. :param preload_content: If True, the response's body will be preloaded during construction. :param decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param enforce_content_length: Enforce content length checking. Body returned by server must match value of Content-Length header, if present. Otherwise, raise error. """ self.num_requests += 1 timeout_obj = self._get_timeout(timeout) timeout_obj.start_connect() conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) try: # Trigger any extra validation we need to do. try: self._validate_conn(conn) except (SocketTimeout, BaseSSLError) as e: self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) raise # _validate_conn() starts the connection to an HTTPS proxy # so we need to wrap errors with 'ProxyError' here too. except ( OSError, NewConnectionError, TimeoutError, BaseSSLError, CertificateError, SSLError, ) as e: new_e: Exception = e if isinstance(e, (BaseSSLError, CertificateError)): new_e = SSLError(e) # If the connection didn't successfully connect to it's proxy # then there if isinstance( new_e, (OSError, NewConnectionError, TimeoutError, SSLError) ) and (conn and conn.proxy and not conn.has_connected_to_proxy): new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) raise new_e # conn.request() calls http.client.*.request, not the method in # urllib3.request. It also calls makefile (recv) on the socket. try: conn.request( method, url, body=body, headers=headers, chunked=chunked, preload_content=preload_content, decode_content=decode_content, enforce_content_length=enforce_content_length, ) # We are swallowing BrokenPipeError (errno.EPIPE) since the server is # legitimately able to close the connection after sending a valid response. # With this behaviour, the received response is still readable. except BrokenPipeError: pass except OSError as e: # MacOS/Linux # EPROTOTYPE and ECONNRESET are needed on macOS # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE. if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET: raise # Reset the timeout for the recv() on the socket read_timeout = timeout_obj.read_timeout if not conn.is_closed: # In Python 3 socket.py will catch EAGAIN and return None when you # try and read into the file pointer created by http.client, which # instead raises a BadStatusLine exception. Instead of catching # the exception and assuming all BadStatusLine exceptions are read # timeouts, check for a zero timeout before making the request. if read_timeout == 0: raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={read_timeout})" ) conn.timeout = read_timeout # Receive the response from the server try: > response = conn.getresponse() ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connection.py:466: in getresponse httplib_response = super().getresponse() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:1374: in getresponse response.begin() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:318: in begin version, status, reason = self._read_status() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:279: in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b = def readinto(self, b): """Read up to len(b) bytes into the writable buffer *b* and return the number of bytes read. If the socket is non-blocking and no bytes are available, None is returned. If *b* is non-empty, a 0 return value indicates that the connection was shutdown at the other end. """ self._checkClosed() self._checkReadable() if self._timeout_occurred: raise OSError("cannot read from timed out object") while True: try: > return self._sock.recv_into(b) E TimeoutError: timed out /opt/pyenv/versions/3.10.6/lib/python3.10/socket.py:705: TimeoutError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/adapters.py:486: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:847: in urlopen retries = retries.increment( ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/util/retry.py:470: in increment raise reraise(type(error), error, _stacktrace) ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/util/util.py:39: in reraise raise value ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:793: in urlopen response = self._make_request( ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:539: in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TimeoutError('timed out') url = '/rests/data/ietf-network:networks/network=openroadm-topology/ietf-network-topology:link=ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX/org-openroadm-network-topology:OMS-attributes/span' timeout_value = 10 def _raise_timeout( self, err: BaseSSLError | OSError | SocketTimeout, url: str, timeout_value: _TYPE_TIMEOUT | None, ) -> None: """Is the error actually a timeout? Will raise a ReadTimeout or pass""" if isinstance(err, SocketTimeout): > raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={timeout_value})" ) from err E urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8183): Read timed out. (read timeout=10) ../.tox/tests_tapi/lib/python3.10/site-packages/urllib3/connectionpool.py:370: ReadTimeoutError During handling of the above exception, another exception occurred: self = def test_10_add_omsAttributes_ROADMC_ROADMA(self): # Config ROADMC-ROADMA oms-attributes data = {"span": { "auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{ "SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}} > response = test_utils.add_oms_attr_request( "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX", data) transportpce_tests/tapi/test03_tapi_device_change_notifications.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:551: in add_oms_attr_request response = put_request(url2.format('{}', network, link), oms_attr) transportpce_tests/common/test_utils.py:123: in put_request return requests.request( ../.tox/tests_tapi/lib/python3.10/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) raise ConnectionError(e, request=request) except ClosedPoolError as e: raise ConnectionError(e, request=request) except _ProxyError as e: raise ProxyError(e) except (_SSLError, _HTTPError) as e: if isinstance(e, _SSLError): # This branch is for urllib3 versions earlier than v1.22 raise SSLError(e, request=request) elif isinstance(e, ReadTimeoutError): > raise ReadTimeout(e, request=request) E requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8183): Read timed out. (read timeout=10) ../.tox/tests_tapi/lib/python3.10/site-packages/requests/adapters.py:532: ReadTimeout ----------------------------- Captured stdout call ----------------------------- execution of test_10_add_omsAttributes_ROADMC_ROADMA _____ TransportPCEFulltesting.test_11_create_connectivity_service_Ethernet _____ self = def test_11_create_connectivity_service_Ethernet(self): response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) time.sleep(self.WAITING) > self.uuid_services.eth = response['output']['service']['uuid'] E KeyError: 'service' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:254: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_11_create_connectivity_service_Ethernet _____________ TransportPCEFulltesting.test_12_get_service_Ethernet _____________ self = def test_12_get_service_Ethernet(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.eth)) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:282: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_12_get_service_Ethernet ______ TransportPCEFulltesting.test_13_get_connectivity_service_Ethernet _______ self = def test_13_get_connectivity_service_Ethernet(self): self.tapi_serv_details["uuid"] = str(self.uuid_services.eth) response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-details', self.tapi_serv_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:293: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_13_get_connectivity_service_Ethernet ___________ TransportPCEFulltesting.test_15_check_update_portmapping ___________ self = def test_15_check_update_portmapping(self): response = test_utils.get_portmapping_node_attr("XPDR-C1", None, None) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:311: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_15_check_update_portmapping _________ TransportPCEFulltesting.test_16_check_update_openroadm_topo __________ self = def test_16_check_update_openroadm_topo(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > node_list = response['network'][0]['node'] E KeyError: 'node' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:329: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_16_check_update_openroadm_topo ____________ TransportPCEFulltesting.test_17_check_update_tapi_neps ____________ self = def test_17_check_update_tapi_neps(self): self.node_details["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID # self.node_details["node-id"] = "XPDR-C1-XPDR1+OTSi" self.node_details["node-id"] = "1770bea4-b1da-3b20-abce-7d182c0ec0df" response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-node-details', self.node_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:366: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_17_check_update_tapi_neps ___________ TransportPCEFulltesting.test_18_check_update_tapi_links ____________ self = def test_18_check_update_tapi_links(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) time.sleep(2) self.assertEqual(response['status_code'], requests.codes.ok) > link_list = response['output']['topology']['link'] E KeyError: 'link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:407: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_18_check_update_tapi_links ________ TransportPCEFulltesting.test_19_check_update_service_Ethernet _________ self = def test_19_check_update_service_Ethernet(self): response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.eth)) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:423: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_19_check_update_service_Ethernet __ TransportPCEFulltesting.test_20_check_update_connectivity_service_Ethernet __ self = def test_20_check_update_connectivity_service_Ethernet(self): self.tapi_serv_details["uuid"] = str(self.uuid_services.eth) response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-details', self.tapi_serv_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:431: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_20_check_update_connectivity_service_Ethernet _________ TransportPCEFulltesting.test_22_check_update_portmapping_ok __________ self = def test_22_check_update_portmapping_ok(self): response = test_utils.get_portmapping_node_attr("XPDR-C1", None, None) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:448: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_22_check_update_portmapping_ok ________ TransportPCEFulltesting.test_23_check_update_openroadm_topo_ok ________ self = def test_23_check_update_openroadm_topo_ok(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > node_list = response['network'][0]['node'] E KeyError: 'node' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:460: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_23_check_update_openroadm_topo_ok __________ TransportPCEFulltesting.test_24_check_update_tapi_neps_ok ___________ self = def test_24_check_update_tapi_neps_ok(self): self.node_details["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID # self.node_details["node-id"] = "XPDR-C1-XPDR1+OTSi" self.node_details["node-id"] = "1770bea4-b1da-3b20-abce-7d182c0ec0df" response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-node-details', self.node_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:481: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_24_check_update_tapi_neps_ok __________ TransportPCEFulltesting.test_25_check_update_tapi_links_ok __________ self = def test_25_check_update_tapi_links_ok(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) time.sleep(2) > link_list = response['output']['topology']['link'] E KeyError: 'link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:506: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_25_check_update_tapi_links_ok ___________ TransportPCEFulltesting.test_26_check_update_service1_ok ___________ self = def test_26_check_update_service1_ok(self): > self.test_12_get_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:513: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:282: in test_12_get_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_26_check_update_service1_ok _ TransportPCEFulltesting.test_27_check_update_connectivity_service_Ethernet_ok _ self = def test_27_check_update_connectivity_service_Ethernet_ok(self): > self.test_13_get_connectivity_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:516: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:293: in test_13_get_connectivity_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_27_check_update_connectivity_service_Ethernet_ok ___________ TransportPCEFulltesting.test_29_check_update_portmapping ___________ self = def test_29_check_update_portmapping(self): response = test_utils.get_portmapping_node_attr("ROADM-A1", None, None) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:532: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_29_check_update_portmapping _________ TransportPCEFulltesting.test_30_check_update_openroadm_topo __________ self = def test_30_check_update_openroadm_topo(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > node_list = response['network'][0]['node'] E KeyError: 'node' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:550: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_30_check_update_openroadm_topo ____________ TransportPCEFulltesting.test_31_check_update_tapi_neps ____________ self = def test_31_check_update_tapi_neps(self): self.node_details["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID # self.node_details["node-id"] = "ROADM-A1+PHOTONIC_MEDIA" self.node_details["node-id"] = "3b726367-6f2d-3e3f-9033-d99b61459075" response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-node-details', self.node_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:587: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_31_check_update_tapi_neps ___________ TransportPCEFulltesting.test_32_check_update_tapi_links ____________ self = def test_32_check_update_tapi_links(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) time.sleep(2) > link_list = response['output']['topology']['link'] E KeyError: 'link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:610: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_32_check_update_tapi_links ________ TransportPCEFulltesting.test_33_check_update_service_Ethernet _________ self = def test_33_check_update_service_Ethernet(self): > self.test_19_check_update_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:625: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:423: in test_19_check_update_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_33_check_update_service_Ethernet __ TransportPCEFulltesting.test_34_check_update_connectivity_service_Ethernet __ self = def test_34_check_update_connectivity_service_Ethernet(self): > self.test_20_check_update_connectivity_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:431: in test_20_check_update_connectivity_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_34_check_update_connectivity_service_Ethernet _________ TransportPCEFulltesting.test_36_check_update_portmapping_ok __________ self = def test_36_check_update_portmapping_ok(self): response = test_utils.get_portmapping_node_attr("ROADM-A1", None, None) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:644: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_36_check_update_portmapping_ok ________ TransportPCEFulltesting.test_37_check_update_openroadm_topo_ok ________ self = def test_37_check_update_openroadm_topo_ok(self): > self.test_23_check_update_openroadm_topo_ok() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:654: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_23_check_update_openroadm_topo_ok(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > node_list = response['network'][0]['node'] E KeyError: 'node' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:460: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_37_check_update_openroadm_topo_ok __________ TransportPCEFulltesting.test_38_check_update_tapi_neps_ok ___________ self = def test_38_check_update_tapi_neps_ok(self): self.node_details["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID # self.node_details["node-id"] = "ROADM-A1+PHOTONIC_MEDIA" self.node_details["node-id"] = "3b726367-6f2d-3e3f-9033-d99b61459075" response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-node-details', self.node_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:662: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_38_check_update_tapi_neps_ok __________ TransportPCEFulltesting.test_39_check_update_tapi_links_ok __________ self = def test_39_check_update_tapi_links_ok(self): > self.test_25_check_update_tapi_links_ok() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:673: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_25_check_update_tapi_links_ok(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) time.sleep(2) > link_list = response['output']['topology']['link'] E KeyError: 'link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:506: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_39_check_update_tapi_links_ok ___________ TransportPCEFulltesting.test_40_check_update_service1_ok ___________ self = def test_40_check_update_service1_ok(self): > self.test_12_get_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:676: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:282: in test_12_get_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_40_check_update_service1_ok _ TransportPCEFulltesting.test_41_check_update_connectivity_service_Ethernet_ok _ self = def test_41_check_update_connectivity_service_Ethernet_ok(self): > self.test_13_get_connectivity_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:679: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:293: in test_13_get_connectivity_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_41_check_update_connectivity_service_Ethernet_ok ___________ TransportPCEFulltesting.test_43_check_update_portmapping ___________ self = def test_43_check_update_portmapping(self): response = test_utils.get_portmapping_node_attr("ROADM-A1", None, None) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:695: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_43_check_update_portmapping _________ TransportPCEFulltesting.test_44_check_update_openroadm_topo __________ self = def test_44_check_update_openroadm_topo(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > node_list = response['network'][0]['node'] E KeyError: 'node' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:713: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_44_check_update_openroadm_topo ____________ TransportPCEFulltesting.test_45_check_update_tapi_neps ____________ self = def test_45_check_update_tapi_neps(self): self.node_details["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID # self.node_details["node-id"] = "ROADM-A1+PHOTONIC_MEDIA" self.node_details["node-id"] = "3b726367-6f2d-3e3f-9033-d99b61459075" response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-node-details', self.node_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:750: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_45_check_update_tapi_neps ___________ TransportPCEFulltesting.test_46_check_update_tapi_links ____________ self = def test_46_check_update_tapi_links(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) time.sleep(2) self.assertEqual(response['status_code'], requests.codes.ok) > link_list = response['output']['topology']['link'] E KeyError: 'link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:774: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_46_check_update_tapi_links ________ TransportPCEFulltesting.test_47_check_update_service_Ethernet _________ self = def test_47_check_update_service_Ethernet(self): > self.test_19_check_update_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:789: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:423: in test_19_check_update_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_47_check_update_service_Ethernet __ TransportPCEFulltesting.test_48_check_update_connectivity_service_Ethernet __ self = def test_48_check_update_connectivity_service_Ethernet(self): > self.test_20_check_update_connectivity_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:792: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:431: in test_20_check_update_connectivity_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_48_check_update_connectivity_service_Ethernet _________ TransportPCEFulltesting.test_50_check_update_portmapping_ok __________ self = def test_50_check_update_portmapping_ok(self): > self.test_36_check_update_portmapping_ok() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:807: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:644: in test_36_check_update_portmapping_ok self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_50_check_update_portmapping_ok ________ TransportPCEFulltesting.test_51_check_update_openroadm_topo_ok ________ self = def test_51_check_update_openroadm_topo_ok(self): > self.test_23_check_update_openroadm_topo_ok() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:810: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_23_check_update_openroadm_topo_ok(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > node_list = response['network'][0]['node'] E KeyError: 'node' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:460: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_51_check_update_openroadm_topo_ok __________ TransportPCEFulltesting.test_52_check_update_tapi_neps_ok ___________ self = def test_52_check_update_tapi_neps_ok(self): > self.test_38_check_update_tapi_neps_ok() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:813: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:662: in test_38_check_update_tapi_neps_ok self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_52_check_update_tapi_neps_ok __________ TransportPCEFulltesting.test_53_check_update_tapi_links_ok __________ self = def test_53_check_update_tapi_links_ok(self): > self.test_25_check_update_tapi_links_ok() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:816: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_25_check_update_tapi_links_ok(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) time.sleep(2) > link_list = response['output']['topology']['link'] E KeyError: 'link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:506: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_53_check_update_tapi_links_ok ___________ TransportPCEFulltesting.test_54_check_update_service1_ok ___________ self = def test_54_check_update_service1_ok(self): > self.test_12_get_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:819: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:282: in test_12_get_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_54_check_update_service1_ok _ TransportPCEFulltesting.test_55_check_update_connectivity_service_Ethernet_ok _ self = def test_55_check_update_connectivity_service_Ethernet_ok(self): > self.test_13_get_connectivity_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:822: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:293: in test_13_get_connectivity_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_55_check_update_connectivity_service_Ethernet_ok ___________ TransportPCEFulltesting.test_57_check_update_portmapping ___________ self = def test_57_check_update_portmapping(self): response = test_utils.get_portmapping_node_attr("ROADM-A1", None, None) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:838: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_57_check_update_portmapping _________ TransportPCEFulltesting.test_58_check_update_openroadm_topo __________ self = def test_58_check_update_openroadm_topo(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > node_list = response['network'][0]['node'] E KeyError: 'node' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:856: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_58_check_update_openroadm_topo ____________ TransportPCEFulltesting.test_59_check_update_tapi_neps ____________ self = def test_59_check_update_tapi_neps(self): self.node_details["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID # self.node_details["node-id"] = uuid.UUID(bytes="ROADM-A1+PHOTONIC_MEDIA".bytes) self.node_details["node-id"] = "3b726367-6f2d-3e3f-9033-d99b61459075" response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-node-details', self.node_details) > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 transportpce_tests/tapi/test03_tapi_device_change_notifications.py:886: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_59_check_update_tapi_neps ___________ TransportPCEFulltesting.test_60_check_update_tapi_links ____________ self = def test_60_check_update_tapi_links(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) time.sleep(2) self.assertEqual(response['status_code'], requests.codes.ok) > link_list = response['output']['topology']['link'] E KeyError: 'link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:910: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_60_check_update_tapi_links ___________ TransportPCEFulltesting.test_61_check_update_service1_ok ___________ self = def test_61_check_update_service1_ok(self): > self.test_12_get_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:925: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:282: in test_12_get_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_61_check_update_service1_ok _ TransportPCEFulltesting.test_62_check_update_connectivity_service_Ethernet_ok _ self = def test_62_check_update_connectivity_service_Ethernet_ok(self): > self.test_13_get_connectivity_service_Ethernet() transportpce_tests/tapi/test03_tapi_device_change_notifications.py:928: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/tapi/test03_tapi_device_change_notifications.py:293: in test_13_get_connectivity_service_Ethernet self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 500 != 200 ----------------------------- Captured stdout call ----------------------------- execution of test_62_check_update_connectivity_service_Ethernet_ok _____ TransportPCEFulltesting.test_63_delete_connectivity_service_Ethernet _____ self = def test_63_delete_connectivity_service_Ethernet(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.eth) response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) > self.assertIn(response['status_code'], (requests.codes.ok, requests.codes.no_content)) E AssertionError: 500 not found in (200, 204) transportpce_tests/tapi/test03_tapi_device_change_notifications.py:934: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_63_delete_connectivity_service_Ethernet ________ TransportPCEFulltesting.test_64_disconnect_xponders_from_roadm ________ self = def test_64_disconnect_xponders_from_roadm(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > links = response['network'][0]['ietf-network-topology:link'] E KeyError: 'ietf-network-topology:link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:940: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_64_disconnect_xponders_from_roadm _______________ TransportPCEFulltesting.test_65_disconnect_XPDRA _______________ self = def test_65_disconnect_XPDRA(self): response = test_utils.unmount_device("XPDR-A1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 409 not found in (200, 204) transportpce_tests/tapi/test03_tapi_device_change_notifications.py:949: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_65_disconnect_XPDRA Searching for pattern 'onDeviceDisConnected:\ XPDR\-A1' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A1 still not deleted from tpce topology... ___________ TransportPCEFulltesting.test_70_clean_openroadm_topology ___________ self = def test_70_clean_openroadm_topology(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > links = response['network'][0]['ietf-network-topology:link'] E KeyError: 'ietf-network-topology:link' transportpce_tests/tapi/test03_tapi_device_change_notifications.py:978: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_70_clean_openroadm_topology --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_01_connect_xpdrA FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_05_connect_xpdrA_N1_to_roadmA_PP1 FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_06_connect_roadmA_PP1_to_xpdrA_N1 FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_07_connect_xpdrC_N1_to_roadmC_PP1 FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_08_connect_roadmC_PP1_to_xpdrC_N1 FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_09_add_omsAttributes_ROADMA_ROADMC FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_10_add_omsAttributes_ROADMC_ROADMA FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_11_create_connectivity_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_12_get_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_13_get_connectivity_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_15_check_update_portmapping FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_16_check_update_openroadm_topo FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_17_check_update_tapi_neps FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_18_check_update_tapi_links FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_19_check_update_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_20_check_update_connectivity_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_22_check_update_portmapping_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_23_check_update_openroadm_topo_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_24_check_update_tapi_neps_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_25_check_update_tapi_links_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_26_check_update_service1_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_27_check_update_connectivity_service_Ethernet_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_29_check_update_portmapping FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_30_check_update_openroadm_topo FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_31_check_update_tapi_neps FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_32_check_update_tapi_links FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_33_check_update_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_34_check_update_connectivity_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_36_check_update_portmapping_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_37_check_update_openroadm_topo_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_38_check_update_tapi_neps_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_39_check_update_tapi_links_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_40_check_update_service1_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_41_check_update_connectivity_service_Ethernet_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_43_check_update_portmapping FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_44_check_update_openroadm_topo FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_45_check_update_tapi_neps FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_46_check_update_tapi_links FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_47_check_update_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_48_check_update_connectivity_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_50_check_update_portmapping_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_51_check_update_openroadm_topo_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_52_check_update_tapi_neps_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_53_check_update_tapi_links_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_54_check_update_service1_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_55_check_update_connectivity_service_Ethernet_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_57_check_update_portmapping FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_58_check_update_openroadm_topo FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_59_check_update_tapi_neps FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_60_check_update_tapi_links FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_61_check_update_service1_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_62_check_update_connectivity_service_Ethernet_ok FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_63_delete_connectivity_service_Ethernet FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_64_disconnect_xponders_from_roadm FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_65_disconnect_XPDRA FAILED transportpce_tests/tapi/test03_tapi_device_change_notifications.py::TransportPCEFulltesting::test_70_clean_openroadm_topology 56 failed, 14 passed in 1670.65s (0:27:50) tests121: FAIL ✖ in 12 minutes 42.64 seconds tests_tapi: exit 1 (2179.94 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi pid=47238 tests_tapi: FAIL ✖ in 36 minutes 27.52 seconds 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 tests71: freeze> python -m pip freeze --all tests71: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_honeynode.sh 7.1 Installing honeynode for 7.1 devices to ./honeynode/7.1/honeynode-simulator directory tests71: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 using environment variables from ./karaf71.env which: no pytest-3 in (/w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests71/bin:/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin) pytest -q transportpce_tests/7.1/test01_portmapping.py ............ [100%] 12 passed in 52.53s pytest -q transportpce_tests/7.1/test02_otn_renderer.py .............................................................. [100%] 62 passed in 173.48s (0:02:53) pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py ................................................ [100%] 48 passed in 158.91s (0:02:38) pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py ...................... [100%] 22 passed in 86.26s (0:01:26) tests71: OK ✔ in 8 minutes 0.55 seconds 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 tests221: freeze> python -m pip freeze --all tests221: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 using environment variables from ./karaf221.env which: no pytest-3 in (/w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests221/bin:/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin) pytest -q transportpce_tests/2.2.1/test01_portmapping.py ................................... [100%] 35 passed in 74.90s (0:01:14) pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py ...... [100%] 6 passed in 44.77s pytest -q transportpce_tests/2.2.1/test03_topology.py ............................................ [100%] 44 passed in 133.82s (0:02:13) pytest -q transportpce_tests/2.2.1/test04_otn_topology.py ............ [100%] 12 passed in 60.33s (0:01:00) pytest -q transportpce_tests/2.2.1/test05_flex_grid.py ................ [100%] 16 passed in 115.52s (0:01:55) pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py ............................... [100%] 31 passed in 35.95s pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py .......................... [100%] 26 passed in 92.39s (0:01:32) pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py ...................... [100%] 22 passed in 101.00s (0:01:40) pytest -q transportpce_tests/2.2.1/test09_olm.py ........................................ [100%] 40 passed in 182.88s (0:03:02) pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py ........................................................................ [ 74%] ......................... [100%] 97 passed in 488.11s (0:08:08) pytest -q transportpce_tests/2.2.1/test12_end2end.py ...................................................... [100%] 54 passed in 444.32s (0:07:24) pytest -q transportpce_tests/2.2.1/test14_otn_switch_end2end.py ........................................................................ [ 71%] ............................. [100%] 101 passed in 487.75s (0:08:07) pytest -q transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py ........................................................................ [ 67%] ................................... [100%] 107 passed in 598.68s (0:09:58) tests221: OK ✔ in 47 minutes 50.34 seconds tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt tests_hybrid: freeze> python -m pip freeze --all tests_hybrid: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_honeynode.sh Installing honeynode for 1.2.1 devices to ./honeynode/1.2.1/honeynode-simulator directory Installing honeynode for 2.2.1 devices to ./honeynode/2.2.1/honeynode-simulator directory Removing ./honeynode/7.1/honeynode-simulator directory Installing honeynode for 7.1 devices to ./honeynode/7.1/honeynode-simulator directory tests_hybrid: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid using environment variables from ./karaf121.env which: no pytest-3 in (/w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests_hybrid/bin:/opt/pyenv/bin:/tmp/venv-R58v/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin) pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py ................................................... [100%] 51 passed in 184.59s (0:03:04) pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py .......................F.FFF.FFFFFFFFFFF.FFFFFF.....FF.FFFFFFFFFFFFF.FF. [ 66%] ..FFFFFF.FFFF.FFFF.FFFFFFFF.....F.... [100%] =================================== FAILURES =================================== _______________ TransportPCEtesting.test_024_get_ODUC4_service1 ________________ self = def test_024_get_ODUC4_service1(self): response = test_utils.get_ordm_serv_list_attr_request( "services", "service1-ODUC4") self.assertEqual(response['status_code'], requests.codes.ok) self.assertEqual(response['services'][0]['service-name'], 'service1-ODUC4') > self.assertEqual(response['services'][0]['administrative-state'], 'inService') E AssertionError: 'outOfService' != 'inService' E - outOfService E + inService transportpce_tests/hybrid/test02_B100G_end2end.py:458: AssertionError __________ TransportPCEtesting.test_026_check_interface_ODUC4_xpdrc2 ___________ self = def test_026_check_interface_ODUC4_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:497: AssertionError ______________ TransportPCEtesting.test_027_check_otn_topo_links _______________ self = def test_027_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 4) E AssertionError: 2 != 4 transportpce_tests/hybrid/test02_B100G_end2end.py:523: AssertionError ________________ TransportPCEtesting.test_028_check_otn_topo_tp ________________ self = def test_028_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] in ('XPDR-A2-XPDR2', 'XPDR-C2-XPDR2'): tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR2-NETWORK1': > xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] E KeyError: 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes' transportpce_tests/hybrid/test02_B100G_end2end.py:556: KeyError _______________ TransportPCEtesting.test_030_get_100GE_service_1 _______________ self = def test_030_get_100GE_service_1(self): response = test_utils.get_ordm_serv_list_attr_request( "services", "service-100GE") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:588: AssertionError _______ TransportPCEtesting.test_031_check_interface_100GE_CLIENT_xpdra2 _______ self = def test_031_check_interface_100GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:597: AssertionError _______ TransportPCEtesting.test_032_check_interface_ODU4_CLIENT_xpdra2 ________ self = def test_032_check_interface_ODU4_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:614: AssertionError _______ TransportPCEtesting.test_033_check_interface_ODU4_NETWORK_xpdra2 _______ self = def test_033_check_interface_ODU4_NETWORK_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:638: AssertionError __________ TransportPCEtesting.test_034_check_ODU4_connection_xpdra2 ___________ self = def test_034_check_ODU4_connection_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'odu-connection', 'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:668: AssertionError _______ TransportPCEtesting.test_035_check_interface_100GE_CLIENT_xpdrc2 _______ self = def test_035_check_interface_100GE_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT1-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:685: AssertionError _______ TransportPCEtesting.test_036_check_interface_ODU4_CLIENT_xpdrc2 ________ self = def test_036_check_interface_ODU4_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:702: AssertionError _______ TransportPCEtesting.test_037_check_interface_ODU4_NETWORK_xpdrc2 _______ self = def test_037_check_interface_ODU4_NETWORK_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:726: AssertionError __________ TransportPCEtesting.test_038_check_ODU4_connection_xpdrc2 ___________ self = def test_038_check_ODU4_connection_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'odu-connection', 'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:762: AssertionError ______________ TransportPCEtesting.test_039_check_otn_topo_links _______________ self = def test_039_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 4) E AssertionError: 2 != 4 transportpce_tests/hybrid/test02_B100G_end2end.py:779: AssertionError ________________ TransportPCEtesting.test_040_check_otn_topo_tp ________________ self = def test_040_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] in ('XPDR-A2-XPDR2', 'XPDR-C2-XPDR2'): tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR2-NETWORK1': > xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] E KeyError: 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes' transportpce_tests/hybrid/test02_B100G_end2end.py:797: KeyError _______________ TransportPCEtesting.test_042_get_100GE_service_2 _______________ self = def test_042_get_100GE_service_2(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-100GE2") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:829: AssertionError _______________ TransportPCEtesting.test_043_check_service_list ________________ self = def test_043_check_service_list(self): response = test_utils.get_ordm_serv_list_request() self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['service-list']['services']), 4) E AssertionError: 2 != 4 transportpce_tests/hybrid/test02_B100G_end2end.py:839: AssertionError ______________ TransportPCEtesting.test_044_check_otn_topo_links _______________ self = def test_044_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 4) E AssertionError: 2 != 4 transportpce_tests/hybrid/test02_B100G_end2end.py:844: AssertionError ________________ TransportPCEtesting.test_045_check_otn_topo_tp ________________ self = def test_045_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] in ('XPDR-A2-XPDR2', 'XPDR-C2-XPDR2'): tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR2-NETWORK1': > xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] E KeyError: 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes' transportpce_tests/hybrid/test02_B100G_end2end.py:862: KeyError _____________ TransportPCEtesting.test_046_delete_100GE_service_2 ______________ self = def test_046_delete_100GE_service_2(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-100GE2" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-100GE2' does not exist in datastore" transportpce_tests/hybrid/test02_B100G_end2end.py:878: AssertionError _____________ TransportPCEtesting.test_047_delete_100GE_service_1 ______________ self = def test_047_delete_100GE_service_1(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-100GE" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-100GE' does not exist in datastore" transportpce_tests/hybrid/test02_B100G_end2end.py:888: AssertionError ______________ TransportPCEtesting.test_053_check_otn_topo_links _______________ self = def test_053_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 4) E AssertionError: 2 != 4 transportpce_tests/hybrid/test02_B100G_end2end.py:920: AssertionError ________________ TransportPCEtesting.test_054_check_otn_topo_tp ________________ self = def test_054_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] in ('XPDR-A2-XPDR2', 'XPDR-C2-XPDR2'): tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR2-NETWORK1': > xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] E KeyError: 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes' transportpce_tests/hybrid/test02_B100G_end2end.py:938: KeyError _______________ TransportPCEtesting.test_056_get_100GE_service_3 _______________ self = def test_056_get_100GE_service_3(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-100GE3") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:965: AssertionError _______________ TransportPCEtesting.test_057_check_service_list ________________ self = def test_057_check_service_list(self): response = test_utils.get_ordm_serv_list_request() self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['service-list']['services']), 3) E AssertionError: 2 != 3 transportpce_tests/hybrid/test02_B100G_end2end.py:975: AssertionError _______ TransportPCEtesting.test_058_check_interface_100GE_CLIENT_xpdra2 _______ self = def test_058_check_interface_100GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:980: AssertionError _______ TransportPCEtesting.test_059_check_interface_ODU4_CLIENT_xpdra2 ________ self = def test_059_check_interface_ODU4_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-CLIENT1-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:997: AssertionError _______ TransportPCEtesting.test_060_check_interface_ODU4_NETWORK_xpdra2 _______ self = def test_060_check_interface_ODU4_NETWORK_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1021: AssertionError __________ TransportPCEtesting.test_061_check_ODU4_connection_xpdra2 ___________ self = def test_061_check_ODU4_connection_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'odu-connection', 'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1051: AssertionError _______ TransportPCEtesting.test_062_check_interface_100GE_CLIENT_xpdrc2 _______ self = def test_062_check_interface_100GE_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT2-ETHERNET-100G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1068: AssertionError _______ TransportPCEtesting.test_063_check_interface_ODU4_CLIENT_xpdrc2 ________ self = def test_063_check_interface_ODU4_CLIENT_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-CLIENT2-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1085: AssertionError _______ TransportPCEtesting.test_064_check_interface_ODU4_NETWORK_xpdrc2 _______ self = def test_064_check_interface_ODU4_NETWORK_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'interface', 'XPDR2-NETWORK1-ODU4:service-100GE3') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1109: AssertionError __________ TransportPCEtesting.test_065_check_ODU4_connection_xpdrc2 ___________ self = def test_065_check_ODU4_connection_xpdrc2(self): response = test_utils.check_node_attribute_request( 'XPDR-C2', 'odu-connection', 'XPDR2-CLIENT2-ODU4-x-XPDR2-NETWORK1-ODU4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1145: AssertionError ______________ TransportPCEtesting.test_066_check_otn_topo_links _______________ self = def test_066_check_otn_topo_links(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['network'][0]['ietf-network-topology:link']), 4) E AssertionError: 2 != 4 transportpce_tests/hybrid/test02_B100G_end2end.py:1162: AssertionError ________________ TransportPCEtesting.test_067_check_otn_topo_tp ________________ self = def test_067_check_otn_topo_tp(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) for node in response['network'][0]['node']: if node['node-id'] in ('XPDR-A2-XPDR2', 'XPDR-C2-XPDR2'): tpList = node['ietf-network-topology:termination-point'] for tp in tpList: if tp['tp-id'] == 'XPDR2-NETWORK1': > xpdrTpPortConAt = tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes'] E KeyError: 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes' transportpce_tests/hybrid/test02_B100G_end2end.py:1180: KeyError _____________ TransportPCEtesting.test_068_delete_100GE_service_3 ______________ self = def test_068_delete_100GE_service_3(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-100GE3" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-100GE3' does not exist in datastore" transportpce_tests/hybrid/test02_B100G_end2end.py:1193: AssertionError _______________ TransportPCEtesting.test_070_check_service_list ________________ self = def test_070_check_service_list(self): response = test_utils.get_ordm_serv_list_request() self.assertEqual(response['status_code'], requests.codes.ok) > self.assertEqual(len(response['service-list']['services']), 1) E AssertionError: 2 != 1 transportpce_tests/hybrid/test02_B100G_end2end.py:1210: AssertionError _________ TransportPCEtesting.test_071_check_no_interface_ODU4_xpdra2 __________ self = def test_071_check_no_interface_ODU4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1215: AssertionError _________________ TransportPCEtesting.test_075_get_no_service __________________ self = def test_075_get_no_service(self): response = test_utils.get_ordm_serv_list_request() > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1243: AssertionError _________ TransportPCEtesting.test_076_check_no_interface_OTUC4_xpdra2 _________ self = def test_076_check_no_interface_OTUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-OTUC4') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1262: AssertionError _________ TransportPCEtesting.test_077_check_no_interface_OTSI_xpdra2 __________ self = def test_077_check_no_interface_OTSI_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-755:768') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1267: AssertionError _________ TransportPCEtesting.test_078_check_no_interface_OTSIG_xpdra2 _________ self = def test_078_check_no_interface_OTSIG_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR2-NETWORK1-OTSIGROUP-400G') > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1272: AssertionError ______________ TransportPCEtesting.test_079_getLinks_OtnTopology _______________ self = def test_079_getLinks_OtnTopology(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) > self.assertNotIn('ietf-network-topology:link', response['network'][0]) E AssertionError: 'ietf-network-topology:link' unexpectedly found in {'network-id': 'otn-topology', 'network-types': {'org-openroadm-common-network:openroadm-common-network': {}}, 'node': [{'node-id': 'XPDR-C2-XPDR3', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:node-type': 'TPDR', 'org-openroadm-common-network:administrative-state': 'inService', 'ietf-network-topology:termination-point': [{'tp-id': 'XPDR3-CLIENT1', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-OCH-OTU4-ODU4'}, {'if-cap-type': 'org-openroadm-port-types:if-100GE'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR3-NETWORK1'], 'org-openroadm-common-network:administrative-state': 'inService'}, {'tp-id': 'XPDR3-NETWORK1', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR3-CLIENT1'], 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-C2-XPDR3', 'tp-ref': 'XPDR3-NETWORK1'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}], 'supporting-node': [{'network-ref': 'openroadm-network', 'node-ref': 'XPDR-C2'}, {'network-ref': 'clli-network', 'node-ref': 'NodeC'}, {'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-C2-XPDR3'}], 'org-openroadm-otn-network-topology:xpdr-attributes': {'xpdr-number': 3}}, {'node-id': 'XPDR-A2-XPDR2', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:node-type': 'MUXPDR', 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:switching-pools': {'odu-switching-pools': [{'switching-pool-number': 1, 'switching-pool-type': 'non-blocking', 'non-blocking-list': [{'nbl-number': 2, 'interconnect-bandwidth-unit': 1000000000, 'available-interconnect-bandwidth': 10, 'tp-list': ['XPDR2-CLIENT2', 'XPDR2-NETWORK1']}, {'nbl-number': 1, 'interconnect-bandwidth-unit': 1000000000, 'available-interconnect-bandwidth': 10, 'tp-list': ['XPDR2-CLIENT1', 'XPDR2-NETWORK1']}]}]}, 'ietf-network-topology:termination-point': [{'tp-id': 'XPDR2-CLIENT1', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-100GE-ODU4'}, {'if-cap-type': 'org-openroadm-port-types:if-OCH-OTU4-ODU4'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes': {'rate': 'org-openroadm-otn-common-types:ODU4'}, 'org-openroadm-common-network:administrative-state': 'inService'}, {'tp-id': 'XPDR2-NETWORK1', 'org-openroadm-common-network:operational-state': 'inService', 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR2', 'tp-ref': 'XPDR2-NETWORK1'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}, {'tp-id': 'XPDR2-CLIENT2', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-100GE-ODU4'}, {'if-cap-type': 'org-openroadm-port-types:if-OCH-OTU4-ODU4'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes': {'rate': 'org-openroadm-otn-common-types:ODU4'}, 'org-openroadm-common-network:administrative-state': 'inService'}], 'supporting-node': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR2'}, {'network-ref': 'clli-network', 'node-ref': 'NodeA'}, {'network-ref': 'openroadm-network', 'node-ref': 'XPDR-A2'}], 'org-openroadm-otn-network-topology:xpdr-attributes': {'xpdr-number': 2}}, {'node-id': 'XPDR-C2-XPDR2', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:node-type': 'MUXPDR', 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:switching-pools': {'odu-switching-pools': [{'switching-pool-number': 1, 'switching-pool-type': 'non-blocking', 'non-blocking-list': [{'nbl-number': 2, 'interconnect-bandwidth-unit': 1000000000, 'available-interconnect-bandwidth': 10, 'tp-list': ['XPDR2-CLIENT2', 'XPDR2-NETWORK1']}, {'nbl-number': 1, 'interconnect-bandwidth-unit': 1000000000, 'available-interconnect-bandwidth': 10, 'tp-list': ['XPDR2-CLIENT1', 'XPDR2-NETWORK1']}]}]}, 'ietf-network-topology:termination-point': [{'tp-id': 'XPDR2-CLIENT1', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-100GE-ODU4'}, {'if-cap-type': 'org-openroadm-port-types:if-OCH-OTU4-ODU4'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes': {'rate': 'org-openroadm-otn-common-types:ODU4'}, 'org-openroadm-common-network:administrative-state': 'inService'}, {'tp-id': 'XPDR2-NETWORK1', 'org-openroadm-common-network:operational-state': 'inService', 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-C2-XPDR2', 'tp-ref': 'XPDR2-NETWORK1'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}, {'tp-id': 'XPDR2-CLIENT2', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-100GE-ODU4'}, {'if-cap-type': 'org-openroadm-port-types:if-OCH-OTU4-ODU4'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes': {'rate': 'org-openroadm-otn-common-types:ODU4'}, 'org-openroadm-common-network:administrative-state': 'inService'}], 'supporting-node': [{'network-ref': 'openroadm-network', 'node-ref': 'XPDR-C2'}, {'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-C2-XPDR2'}, {'network-ref': 'clli-network', 'node-ref': 'NodeC'}], 'org-openroadm-otn-network-topology:xpdr-attributes': {'xpdr-number': 2}}, {'node-id': 'XPDR-A2-XPDR1', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:node-type': 'TPDR', 'org-openroadm-common-network:administrative-state': 'inService', 'ietf-network-topology:termination-point': [{'tp-id': 'XPDR1-CLIENT1', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-400GE'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR1-NETWORK1'], 'org-openroadm-common-network:administrative-state': 'inService'}, {'tp-id': 'XPDR1-NETWORK1', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR1-CLIENT1'], 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR1', 'tp-ref': 'XPDR1-NETWORK1'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}], 'supporting-node': [{'network-ref': 'clli-network', 'node-ref': 'NodeA'}, {'network-ref': 'openroadm-network', 'node-ref': 'XPDR-A2'}, {'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR1'}], 'org-openroadm-otn-network-topology:xpdr-attributes': {'xpdr-number': 1}}, {'node-id': 'XPDR-C2-XPDR1', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:node-type': 'TPDR', 'org-openroadm-common-network:administrative-state': 'inService', 'ietf-network-topology:termination-point': [{'tp-id': 'XPDR1-CLIENT1', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-400GE'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR1-NETWORK1'], 'org-openroadm-common-network:administrative-state': 'inService'}, {'tp-id': 'XPDR1-NETWORK1', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR1-CLIENT1'], 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-C2-XPDR1', 'tp-ref': 'XPDR1-NETWORK1'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}], 'supporting-node': [{'network-ref': 'openroadm-network', 'node-ref': 'XPDR-C2'}, {'network-ref': 'clli-network', 'node-ref': 'NodeC'}, {'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-C2-XPDR1'}], 'org-openroadm-otn-network-topology:xpdr-attributes': {'xpdr-number': 1}}, {'node-id': 'XPDR-A2-XPDR4', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:node-type': 'TPDR', 'org-openroadm-common-network:administrative-state': 'inService', 'ietf-network-topology:termination-point': [{'tp-id': 'XPDR4-NETWORK1', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR4-NETWORK2'], 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR4', 'tp-ref': 'XPDR4-NETWORK1'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}, {'tp-id': 'XPDR4-NETWORK2', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR4-NETWORK1'], 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR4', 'tp-ref': 'XPDR4-NETWORK2'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}], 'supporting-node': [{'network-ref': 'clli-network', 'node-ref': 'NodeA'}, {'network-ref': 'openroadm-network', 'node-ref': 'XPDR-A2'}, {'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR4'}], 'org-openroadm-otn-network-topology:xpdr-attributes': {'xpdr-number': 4}}, {'node-id': 'XPDR-A2-XPDR3', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:node-type': 'TPDR', 'org-openroadm-common-network:administrative-state': 'inService', 'ietf-network-topology:termination-point': [{'tp-id': 'XPDR3-CLIENT1', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-OCH-OTU4-ODU4'}, {'if-cap-type': 'org-openroadm-port-types:if-100GE'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-CLIENT', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR3-NETWORK1'], 'org-openroadm-common-network:administrative-state': 'inService'}, {'tp-id': 'XPDR3-NETWORK1', 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:associated-connection-map-tp': ['XPDR3-CLIENT1'], 'supporting-termination-point': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR3', 'tp-ref': 'XPDR3-NETWORK1'}], 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:tp-supported-interfaces': {'supported-interface-capability': [{'if-cap-type': 'org-openroadm-port-types:if-otsi-otsigroup'}]}, 'org-openroadm-common-network:tp-type': 'XPONDER-NETWORK'}], 'supporting-node': [{'network-ref': 'openroadm-topology', 'node-ref': 'XPDR-A2-XPDR3'}, {'network-ref': 'clli-network', 'node-ref': 'NodeA'}, {'network-ref': 'openroadm-network', 'node-ref': 'XPDR-A2'}], 'org-openroadm-otn-network-topology:xpdr-attributes': {'xpdr-number': 3}}], 'ietf-network-topology:link': [{'link-id': 'OTUC4-XPDR-A2-XPDR2-XPDR2-NETWORK1toXPDR-C2-XPDR2-XPDR2-NETWORK1', 'source': {'source-node': 'XPDR-A2-XPDR2', 'source-tp': 'XPDR2-NETWORK1'}, 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:link-type': 'OTN-LINK', 'transportpce-networkutils:otn-link-type': 'OTUC4', 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:used-bandwidth': 0, 'destination': {'dest-tp': 'XPDR2-NETWORK1', 'dest-node': 'XPDR-C2-XPDR2'}, 'org-openroadm-common-network:opposite-link': 'OTUC4-XPDR-C2-XPDR2-XPDR2-NETWORK1toXPDR-A2-XPDR2-XPDR2-NETWORK1', 'org-openroadm-otn-network-topology:available-bandwidth': 400000}, {'link-id': 'OTUC4-XPDR-C2-XPDR2-XPDR2-NETWORK1toXPDR-A2-XPDR2-XPDR2-NETWORK1', 'source': {'source-node': 'XPDR-C2-XPDR2', 'source-tp': 'XPDR2-NETWORK1'}, 'org-openroadm-common-network:operational-state': 'inService', 'org-openroadm-common-network:link-type': 'OTN-LINK', 'transportpce-networkutils:otn-link-type': 'OTUC4', 'org-openroadm-common-network:administrative-state': 'inService', 'org-openroadm-otn-network-topology:used-bandwidth': 0, 'destination': {'dest-tp': 'XPDR2-NETWORK1', 'dest-node': 'XPDR-A2-XPDR2'}, 'org-openroadm-common-network:opposite-link': 'OTUC4-XPDR-A2-XPDR2-XPDR2-NETWORK1toXPDR-C2-XPDR2-XPDR2-NETWORK1', 'org-openroadm-otn-network-topology:available-bandwidth': 400000}]} transportpce_tests/hybrid/test02_B100G_end2end.py:1277: AssertionError ___________ TransportPCEtesting.test_080_check_openroadm_topo_xpdra2 ___________ self = def test_080_check_openroadm_topo_xpdra2(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'XPDR-A2-XPDR2', 'config') self.assertEqual(response['status_code'], requests.codes.ok) tp = response['node']['ietf-network-topology:termination-point'][0] self.assertEqual('XPDR2-NETWORK1', tp['tp-id']) > self.assertNotIn('wavelength', dict.keys( tp['org-openroadm-network-topology:xpdr-network-attributes'])) E AssertionError: 'wavelength' unexpectedly found in dict_keys(['wavelength', 'tail-equipment-id']) transportpce_tests/hybrid/test02_B100G_end2end.py:1284: AssertionError ________ TransportPCEtesting.test_082_connect_xpdra2_1_N1_to_roadma_PP2 ________ self = conn = method = 'POST' url = '/rests/operations/transportpce-networkutils:init-xpdr-rdm-links' body = '{"input": {"links-input": {"xpdr-node": "XPDR-A2", "xpdr-num": "1", "network-num": "1", "rdm-node": "ROADM-A1", "srg-num": "1", "termination-point-num": "SRG1-PP1-TXRX"}}}' headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '171', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) timeout = Timeout(connect=10, read=10, total=None), chunked = False response_conn = preload_content = False, decode_content = False, enforce_content_length = True def _make_request( self, conn: BaseHTTPConnection, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | None = None, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, chunked: bool = False, response_conn: BaseHTTPConnection | None = None, preload_content: bool = True, decode_content: bool = True, enforce_content_length: bool = True, ) -> BaseHTTPResponse: """ Perform a request on a given urllib connection object taken from our pool. :param conn: a connection from one of our connection pools :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. Pass ``None`` to retry until you receive a response. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param response_conn: Set this to ``None`` if you will handle releasing the connection or set the connection to have the response release it. :param preload_content: If True, the response's body will be preloaded during construction. :param decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param enforce_content_length: Enforce content length checking. Body returned by server must match value of Content-Length header, if present. Otherwise, raise error. """ self.num_requests += 1 timeout_obj = self._get_timeout(timeout) timeout_obj.start_connect() conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) try: # Trigger any extra validation we need to do. try: self._validate_conn(conn) except (SocketTimeout, BaseSSLError) as e: self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) raise # _validate_conn() starts the connection to an HTTPS proxy # so we need to wrap errors with 'ProxyError' here too. except ( OSError, NewConnectionError, TimeoutError, BaseSSLError, CertificateError, SSLError, ) as e: new_e: Exception = e if isinstance(e, (BaseSSLError, CertificateError)): new_e = SSLError(e) # If the connection didn't successfully connect to it's proxy # then there if isinstance( new_e, (OSError, NewConnectionError, TimeoutError, SSLError) ) and (conn and conn.proxy and not conn.has_connected_to_proxy): new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) raise new_e # conn.request() calls http.client.*.request, not the method in # urllib3.request. It also calls makefile (recv) on the socket. try: conn.request( method, url, body=body, headers=headers, chunked=chunked, preload_content=preload_content, decode_content=decode_content, enforce_content_length=enforce_content_length, ) # We are swallowing BrokenPipeError (errno.EPIPE) since the server is # legitimately able to close the connection after sending a valid response. # With this behaviour, the received response is still readable. except BrokenPipeError: pass except OSError as e: # MacOS/Linux # EPROTOTYPE and ECONNRESET are needed on macOS # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE. if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET: raise # Reset the timeout for the recv() on the socket read_timeout = timeout_obj.read_timeout if not conn.is_closed: # In Python 3 socket.py will catch EAGAIN and return None when you # try and read into the file pointer created by http.client, which # instead raises a BadStatusLine exception. Instead of catching # the exception and assuming all BadStatusLine exceptions are read # timeouts, check for a zero timeout before making the request. if read_timeout == 0: raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={read_timeout})" ) conn.timeout = read_timeout # Receive the response from the server try: > response = conn.getresponse() ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connection.py:466: in getresponse httplib_response = super().getresponse() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:1374: in getresponse response.begin() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:318: in begin version, status, reason = self._read_status() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:279: in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b = def readinto(self, b): """Read up to len(b) bytes into the writable buffer *b* and return the number of bytes read. If the socket is non-blocking and no bytes are available, None is returned. If *b* is non-empty, a 0 return value indicates that the connection was shutdown at the other end. """ self._checkClosed() self._checkReadable() if self._timeout_occurred: raise OSError("cannot read from timed out object") while True: try: > return self._sock.recv_into(b) E TimeoutError: timed out /opt/pyenv/versions/3.10.6/lib/python3.10/socket.py:705: TimeoutError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:486: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:847: in urlopen retries = retries.increment( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/retry.py:470: in increment raise reraise(type(error), error, _stacktrace) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/util.py:39: in reraise raise value ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:793: in urlopen response = self._make_request( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:539: in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TimeoutError('timed out') url = '/rests/operations/transportpce-networkutils:init-xpdr-rdm-links' timeout_value = 10 def _raise_timeout( self, err: BaseSSLError | OSError | SocketTimeout, url: str, timeout_value: _TYPE_TIMEOUT | None, ) -> None: """Is the error actually a timeout? Will raise a ReadTimeout or pass""" if isinstance(err, SocketTimeout): > raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={timeout_value})" ) from err E urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:370: ReadTimeoutError During handling of the above exception, another exception occurred: self = def test_082_connect_xpdra2_1_N1_to_roadma_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-A2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1294: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:677: in transportpce_api_rpc_request response = post_request(url, data) transportpce_tests/common/test_utils.py:141: in post_request return requests.request( ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) raise ConnectionError(e, request=request) except ClosedPoolError as e: raise ConnectionError(e, request=request) except _ProxyError as e: raise ProxyError(e) except (_SSLError, _HTTPError) as e: if isinstance(e, _SSLError): # This branch is for urllib3 versions earlier than v1.22 raise SSLError(e, request=request) elif isinstance(e, ReadTimeoutError): > raise ReadTimeout(e, request=request) E requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:532: ReadTimeout ________ TransportPCEtesting.test_083_connect_roadma_PP2_to_xpdra2_1_N1 ________ self = conn = method = 'POST' url = '/rests/operations/transportpce-networkutils:init-rdm-xpdr-links' body = '{"input": {"links-input": {"xpdr-node": "XPDR-A2", "xpdr-num": "1", "network-num": "1", "rdm-node": "ROADM-A1", "srg-num": "1", "termination-point-num": "SRG1-PP1-TXRX"}}}' headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '171', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) timeout = Timeout(connect=10, read=10, total=None), chunked = False response_conn = preload_content = False, decode_content = False, enforce_content_length = True def _make_request( self, conn: BaseHTTPConnection, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | None = None, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, chunked: bool = False, response_conn: BaseHTTPConnection | None = None, preload_content: bool = True, decode_content: bool = True, enforce_content_length: bool = True, ) -> BaseHTTPResponse: """ Perform a request on a given urllib connection object taken from our pool. :param conn: a connection from one of our connection pools :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. Pass ``None`` to retry until you receive a response. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param response_conn: Set this to ``None`` if you will handle releasing the connection or set the connection to have the response release it. :param preload_content: If True, the response's body will be preloaded during construction. :param decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param enforce_content_length: Enforce content length checking. Body returned by server must match value of Content-Length header, if present. Otherwise, raise error. """ self.num_requests += 1 timeout_obj = self._get_timeout(timeout) timeout_obj.start_connect() conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) try: # Trigger any extra validation we need to do. try: self._validate_conn(conn) except (SocketTimeout, BaseSSLError) as e: self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) raise # _validate_conn() starts the connection to an HTTPS proxy # so we need to wrap errors with 'ProxyError' here too. except ( OSError, NewConnectionError, TimeoutError, BaseSSLError, CertificateError, SSLError, ) as e: new_e: Exception = e if isinstance(e, (BaseSSLError, CertificateError)): new_e = SSLError(e) # If the connection didn't successfully connect to it's proxy # then there if isinstance( new_e, (OSError, NewConnectionError, TimeoutError, SSLError) ) and (conn and conn.proxy and not conn.has_connected_to_proxy): new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) raise new_e # conn.request() calls http.client.*.request, not the method in # urllib3.request. It also calls makefile (recv) on the socket. try: conn.request( method, url, body=body, headers=headers, chunked=chunked, preload_content=preload_content, decode_content=decode_content, enforce_content_length=enforce_content_length, ) # We are swallowing BrokenPipeError (errno.EPIPE) since the server is # legitimately able to close the connection after sending a valid response. # With this behaviour, the received response is still readable. except BrokenPipeError: pass except OSError as e: # MacOS/Linux # EPROTOTYPE and ECONNRESET are needed on macOS # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE. if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET: raise # Reset the timeout for the recv() on the socket read_timeout = timeout_obj.read_timeout if not conn.is_closed: # In Python 3 socket.py will catch EAGAIN and return None when you # try and read into the file pointer created by http.client, which # instead raises a BadStatusLine exception. Instead of catching # the exception and assuming all BadStatusLine exceptions are read # timeouts, check for a zero timeout before making the request. if read_timeout == 0: raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={read_timeout})" ) conn.timeout = read_timeout # Receive the response from the server try: > response = conn.getresponse() ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connection.py:466: in getresponse httplib_response = super().getresponse() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:1374: in getresponse response.begin() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:318: in begin version, status, reason = self._read_status() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:279: in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b = def readinto(self, b): """Read up to len(b) bytes into the writable buffer *b* and return the number of bytes read. If the socket is non-blocking and no bytes are available, None is returned. If *b* is non-empty, a 0 return value indicates that the connection was shutdown at the other end. """ self._checkClosed() self._checkReadable() if self._timeout_occurred: raise OSError("cannot read from timed out object") while True: try: > return self._sock.recv_into(b) E TimeoutError: timed out /opt/pyenv/versions/3.10.6/lib/python3.10/socket.py:705: TimeoutError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:486: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:847: in urlopen retries = retries.increment( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/retry.py:470: in increment raise reraise(type(error), error, _stacktrace) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/util.py:39: in reraise raise value ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:793: in urlopen response = self._make_request( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:539: in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TimeoutError('timed out') url = '/rests/operations/transportpce-networkutils:init-rdm-xpdr-links' timeout_value = 10 def _raise_timeout( self, err: BaseSSLError | OSError | SocketTimeout, url: str, timeout_value: _TYPE_TIMEOUT | None, ) -> None: """Is the error actually a timeout? Will raise a ReadTimeout or pass""" if isinstance(err, SocketTimeout): > raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={timeout_value})" ) from err E urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:370: ReadTimeoutError During handling of the above exception, another exception occurred: self = def test_083_connect_roadma_PP2_to_xpdra2_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-A2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1302: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:677: in transportpce_api_rpc_request response = post_request(url, data) transportpce_tests/common/test_utils.py:141: in post_request return requests.request( ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) raise ConnectionError(e, request=request) except ClosedPoolError as e: raise ConnectionError(e, request=request) except _ProxyError as e: raise ProxyError(e) except (_SSLError, _HTTPError) as e: if isinstance(e, _SSLError): # This branch is for urllib3 versions earlier than v1.22 raise SSLError(e, request=request) elif isinstance(e, ReadTimeoutError): > raise ReadTimeout(e, request=request) E requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:532: ReadTimeout ________ TransportPCEtesting.test_084_connect_xpdrc2_1_N1_to_roadmc_PP2 ________ self = conn = method = 'POST' url = '/rests/operations/transportpce-networkutils:init-xpdr-rdm-links' body = '{"input": {"links-input": {"xpdr-node": "XPDR-C2", "xpdr-num": "1", "network-num": "1", "rdm-node": "ROADM-C1", "srg-num": "1", "termination-point-num": "SRG1-PP1-TXRX"}}}' headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '171', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) timeout = Timeout(connect=10, read=10, total=None), chunked = False response_conn = preload_content = False, decode_content = False, enforce_content_length = True def _make_request( self, conn: BaseHTTPConnection, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | None = None, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, chunked: bool = False, response_conn: BaseHTTPConnection | None = None, preload_content: bool = True, decode_content: bool = True, enforce_content_length: bool = True, ) -> BaseHTTPResponse: """ Perform a request on a given urllib connection object taken from our pool. :param conn: a connection from one of our connection pools :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. Pass ``None`` to retry until you receive a response. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param response_conn: Set this to ``None`` if you will handle releasing the connection or set the connection to have the response release it. :param preload_content: If True, the response's body will be preloaded during construction. :param decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param enforce_content_length: Enforce content length checking. Body returned by server must match value of Content-Length header, if present. Otherwise, raise error. """ self.num_requests += 1 timeout_obj = self._get_timeout(timeout) timeout_obj.start_connect() conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) try: # Trigger any extra validation we need to do. try: self._validate_conn(conn) except (SocketTimeout, BaseSSLError) as e: self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) raise # _validate_conn() starts the connection to an HTTPS proxy # so we need to wrap errors with 'ProxyError' here too. except ( OSError, NewConnectionError, TimeoutError, BaseSSLError, CertificateError, SSLError, ) as e: new_e: Exception = e if isinstance(e, (BaseSSLError, CertificateError)): new_e = SSLError(e) # If the connection didn't successfully connect to it's proxy # then there if isinstance( new_e, (OSError, NewConnectionError, TimeoutError, SSLError) ) and (conn and conn.proxy and not conn.has_connected_to_proxy): new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) raise new_e # conn.request() calls http.client.*.request, not the method in # urllib3.request. It also calls makefile (recv) on the socket. try: conn.request( method, url, body=body, headers=headers, chunked=chunked, preload_content=preload_content, decode_content=decode_content, enforce_content_length=enforce_content_length, ) # We are swallowing BrokenPipeError (errno.EPIPE) since the server is # legitimately able to close the connection after sending a valid response. # With this behaviour, the received response is still readable. except BrokenPipeError: pass except OSError as e: # MacOS/Linux # EPROTOTYPE and ECONNRESET are needed on macOS # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE. if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET: raise # Reset the timeout for the recv() on the socket read_timeout = timeout_obj.read_timeout if not conn.is_closed: # In Python 3 socket.py will catch EAGAIN and return None when you # try and read into the file pointer created by http.client, which # instead raises a BadStatusLine exception. Instead of catching # the exception and assuming all BadStatusLine exceptions are read # timeouts, check for a zero timeout before making the request. if read_timeout == 0: raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={read_timeout})" ) conn.timeout = read_timeout # Receive the response from the server try: > response = conn.getresponse() ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connection.py:466: in getresponse httplib_response = super().getresponse() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:1374: in getresponse response.begin() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:318: in begin version, status, reason = self._read_status() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:279: in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b = def readinto(self, b): """Read up to len(b) bytes into the writable buffer *b* and return the number of bytes read. If the socket is non-blocking and no bytes are available, None is returned. If *b* is non-empty, a 0 return value indicates that the connection was shutdown at the other end. """ self._checkClosed() self._checkReadable() if self._timeout_occurred: raise OSError("cannot read from timed out object") while True: try: > return self._sock.recv_into(b) E TimeoutError: timed out /opt/pyenv/versions/3.10.6/lib/python3.10/socket.py:705: TimeoutError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:486: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:847: in urlopen retries = retries.increment( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/retry.py:470: in increment raise reraise(type(error), error, _stacktrace) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/util.py:39: in reraise raise value ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:793: in urlopen response = self._make_request( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:539: in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TimeoutError('timed out') url = '/rests/operations/transportpce-networkutils:init-xpdr-rdm-links' timeout_value = 10 def _raise_timeout( self, err: BaseSSLError | OSError | SocketTimeout, url: str, timeout_value: _TYPE_TIMEOUT | None, ) -> None: """Is the error actually a timeout? Will raise a ReadTimeout or pass""" if isinstance(err, SocketTimeout): > raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={timeout_value})" ) from err E urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:370: ReadTimeoutError During handling of the above exception, another exception occurred: self = def test_084_connect_xpdrc2_1_N1_to_roadmc_PP2(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'XPDR-C2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1310: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:677: in transportpce_api_rpc_request response = post_request(url, data) transportpce_tests/common/test_utils.py:141: in post_request return requests.request( ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) raise ConnectionError(e, request=request) except ClosedPoolError as e: raise ConnectionError(e, request=request) except _ProxyError as e: raise ProxyError(e) except (_SSLError, _HTTPError) as e: if isinstance(e, _SSLError): # This branch is for urllib3 versions earlier than v1.22 raise SSLError(e, request=request) elif isinstance(e, ReadTimeoutError): > raise ReadTimeout(e, request=request) E requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:532: ReadTimeout ________ TransportPCEtesting.test_085_connect_roadmc_PP2_to_xpdrc2_1_N1 ________ self = conn = method = 'POST' url = '/rests/operations/transportpce-networkutils:init-rdm-xpdr-links' body = '{"input": {"links-input": {"xpdr-node": "XPDR-C2", "xpdr-num": "1", "network-num": "1", "rdm-node": "ROADM-C1", "srg-num": "1", "termination-point-num": "SRG1-PP1-TXRX"}}}' headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '171', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) timeout = Timeout(connect=10, read=10, total=None), chunked = False response_conn = preload_content = False, decode_content = False, enforce_content_length = True def _make_request( self, conn: BaseHTTPConnection, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | None = None, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, chunked: bool = False, response_conn: BaseHTTPConnection | None = None, preload_content: bool = True, decode_content: bool = True, enforce_content_length: bool = True, ) -> BaseHTTPResponse: """ Perform a request on a given urllib connection object taken from our pool. :param conn: a connection from one of our connection pools :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. Pass ``None`` to retry until you receive a response. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param response_conn: Set this to ``None`` if you will handle releasing the connection or set the connection to have the response release it. :param preload_content: If True, the response's body will be preloaded during construction. :param decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param enforce_content_length: Enforce content length checking. Body returned by server must match value of Content-Length header, if present. Otherwise, raise error. """ self.num_requests += 1 timeout_obj = self._get_timeout(timeout) timeout_obj.start_connect() conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) try: # Trigger any extra validation we need to do. try: self._validate_conn(conn) except (SocketTimeout, BaseSSLError) as e: self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) raise # _validate_conn() starts the connection to an HTTPS proxy # so we need to wrap errors with 'ProxyError' here too. except ( OSError, NewConnectionError, TimeoutError, BaseSSLError, CertificateError, SSLError, ) as e: new_e: Exception = e if isinstance(e, (BaseSSLError, CertificateError)): new_e = SSLError(e) # If the connection didn't successfully connect to it's proxy # then there if isinstance( new_e, (OSError, NewConnectionError, TimeoutError, SSLError) ) and (conn and conn.proxy and not conn.has_connected_to_proxy): new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) raise new_e # conn.request() calls http.client.*.request, not the method in # urllib3.request. It also calls makefile (recv) on the socket. try: conn.request( method, url, body=body, headers=headers, chunked=chunked, preload_content=preload_content, decode_content=decode_content, enforce_content_length=enforce_content_length, ) # We are swallowing BrokenPipeError (errno.EPIPE) since the server is # legitimately able to close the connection after sending a valid response. # With this behaviour, the received response is still readable. except BrokenPipeError: pass except OSError as e: # MacOS/Linux # EPROTOTYPE and ECONNRESET are needed on macOS # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE. if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET: raise # Reset the timeout for the recv() on the socket read_timeout = timeout_obj.read_timeout if not conn.is_closed: # In Python 3 socket.py will catch EAGAIN and return None when you # try and read into the file pointer created by http.client, which # instead raises a BadStatusLine exception. Instead of catching # the exception and assuming all BadStatusLine exceptions are read # timeouts, check for a zero timeout before making the request. if read_timeout == 0: raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={read_timeout})" ) conn.timeout = read_timeout # Receive the response from the server try: > response = conn.getresponse() ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connection.py:466: in getresponse httplib_response = super().getresponse() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:1374: in getresponse response.begin() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:318: in begin version, status, reason = self._read_status() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:279: in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b = def readinto(self, b): """Read up to len(b) bytes into the writable buffer *b* and return the number of bytes read. If the socket is non-blocking and no bytes are available, None is returned. If *b* is non-empty, a 0 return value indicates that the connection was shutdown at the other end. """ self._checkClosed() self._checkReadable() if self._timeout_occurred: raise OSError("cannot read from timed out object") while True: try: > return self._sock.recv_into(b) E TimeoutError: timed out /opt/pyenv/versions/3.10.6/lib/python3.10/socket.py:705: TimeoutError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:486: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:847: in urlopen retries = retries.increment( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/retry.py:470: in increment raise reraise(type(error), error, _stacktrace) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/util.py:39: in reraise raise value ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:793: in urlopen response = self._make_request( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:539: in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TimeoutError('timed out') url = '/rests/operations/transportpce-networkutils:init-rdm-xpdr-links' timeout_value = 10 def _raise_timeout( self, err: BaseSSLError | OSError | SocketTimeout, url: str, timeout_value: _TYPE_TIMEOUT | None, ) -> None: """Is the error actually a timeout? Will raise a ReadTimeout or pass""" if isinstance(err, SocketTimeout): > raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={timeout_value})" ) from err E urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:370: ReadTimeoutError During handling of the above exception, another exception occurred: self = def test_085_connect_roadmc_PP2_to_xpdrc2_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'XPDR-C2', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/hybrid/test02_B100G_end2end.py:1318: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:677: in transportpce_api_rpc_request response = post_request(url, data) transportpce_tests/common/test_utils.py:141: in post_request return requests.request( ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) raise ConnectionError(e, request=request) except ClosedPoolError as e: raise ConnectionError(e, request=request) except _ProxyError as e: raise ProxyError(e) except (_SSLError, _HTTPError) as e: if isinstance(e, _SSLError): # This branch is for urllib3 versions earlier than v1.22 raise SSLError(e, request=request) elif isinstance(e, ReadTimeoutError): > raise ReadTimeout(e, request=request) E requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:532: ReadTimeout ________________ TransportPCEtesting.test_087_get_400GE_service ________________ self = def test_087_get_400GE_service(self): response = test_utils.get_ordm_serv_list_attr_request("services", "service-400GE") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1351: AssertionError ________________ TransportPCEtesting.test_088_check_xc1_roadma _________________ self = def test_088_check_xc1_roadma(self): response = test_utils.check_node_attribute_request( "ROADM-A1", "roadm-connections", "SRG1-PP1-TXRX-DEG2-TTP-TXRX-755:768") > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1361: AssertionError ________________ TransportPCEtesting.test_089_check_topo_xpdra2 ________________ self = def test_089_check_topo_xpdra2(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'XPDR-A2-XPDR1', 'config') self.assertEqual(response['status_code'], requests.codes.ok) liste_tp = response['node']['ietf-network-topology:termination-point'] for ele in liste_tp: if ele['tp-id'] == 'XPDR1-NETWORK1': self.assertEqual( 196.08125, > float(ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength']['frequency'])) E KeyError: 'org-openroadm-network-topology:xpdr-network-attributes' transportpce_tests/hybrid/test02_B100G_end2end.py:1380: KeyError _____________ TransportPCEtesting.test_090_check_topo_roadma_SRG1 ______________ self = def test_090_check_topo_roadma_SRG1(self): response = test_utils.get_ietf_network_node_request('openroadm-topology', 'ROADM-A1-SRG1', 'config') self.assertEqual(response['status_code'], requests.codes.ok) freq_map = base64.b64decode( response['node']['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map']) freq_map_array = [int(x) for x in freq_map] self.assertEqual(freq_map_array[95], 0, "Index 1 should not be available") liste_tp = response['node']['ietf-network-topology:termination-point'] for ele in liste_tp: if ele['tp-id'] == 'SRG1-PP1-TXRX': freq_map = base64.b64decode( > ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map']) E KeyError: 'org-openroadm-network-topology:pp-attributes' transportpce_tests/hybrid/test02_B100G_end2end.py:1399: KeyError _______ TransportPCEtesting.test_092_check_interface_400GE_CLIENT_xpdra2 _______ self = def test_092_check_interface_400GE_CLIENT_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-CLIENT1-ETHERNET') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1430: AssertionError ___________ TransportPCEtesting.test_093_check_interface_OTSI_xpdra2 ___________ self = def test_093_check_interface_OTSI_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-755:768') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1447: AssertionError ________ TransportPCEtesting.test_094_check_interface_OTSI_GROUP_xpdra2 ________ self = def test_094_check_interface_OTSI_GROUP_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-OTSIGROUP-400G') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1473: AssertionError __________ TransportPCEtesting.test_095_check_interface_OTUC4_xpdra2 ___________ self = def test_095_check_interface_OTUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-OTUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1492: AssertionError __________ TransportPCEtesting.test_096_check_interface_ODUC4_xpdra2 ___________ self = def test_096_check_interface_ODUC4_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-ODUC4') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1518: AssertionError _________ TransportPCEtesting.test_097_check_interface_ODUFLEX_xpdra2 __________ self = def test_097_check_interface_ODUFLEX_xpdra2(self): response = test_utils.check_node_attribute_request( 'XPDR-A2', 'interface', 'XPDR1-NETWORK1-ODUFLEX') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 409 != 200 transportpce_tests/hybrid/test02_B100G_end2end.py:1549: AssertionError ______________ TransportPCEtesting.test_098_delete_400GE_service _______________ self = def test_098_delete_400GE_service(self): self.del_serv_input_data["service-delete-req-info"]["service-name"] = "service-400GE" response = test_utils.transportpce_api_rpc_request( 'org-openroadm-service', 'service-delete', self.del_serv_input_data) self.assertEqual(response['status_code'], requests.codes.ok) > self.assertIn('Renderer service delete in progress', response['output']['configuration-response-common']['response-message']) E AssertionError: 'Renderer service delete in progress' not found in "Service 'service-400GE' does not exist in datastore" transportpce_tests/hybrid/test02_B100G_end2end.py:1605: AssertionError _________________ TransportPCEtesting.test_099_get_no_service __________________ self = def test_099_get_no_service(self): response = test_utils.get_ordm_serv_list_request() > self.assertEqual(response['status_code'], requests.codes.conflict) E AssertionError: 200 != 409 transportpce_tests/hybrid/test02_B100G_end2end.py:1611: AssertionError _________ TransportPCEtesting.test_105_disconnect_xponders_from_roadm __________ self = conn = method = 'DELETE' url = '/rests/data/ietf-network:networks/network=openroadm-topology/ietf-network-topology:link=ROADM-A1-SRG1-SRG1-PP2-TXRXtoXPDR-A2-XPDR2-XPDR2-NETWORK1?content=config' body = None headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) timeout = Timeout(connect=10, read=10, total=None), chunked = False response_conn = preload_content = False, decode_content = False, enforce_content_length = True def _make_request( self, conn: BaseHTTPConnection, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | None = None, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, chunked: bool = False, response_conn: BaseHTTPConnection | None = None, preload_content: bool = True, decode_content: bool = True, enforce_content_length: bool = True, ) -> BaseHTTPResponse: """ Perform a request on a given urllib connection object taken from our pool. :param conn: a connection from one of our connection pools :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. Pass ``None`` to retry until you receive a response. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param response_conn: Set this to ``None`` if you will handle releasing the connection or set the connection to have the response release it. :param preload_content: If True, the response's body will be preloaded during construction. :param decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param enforce_content_length: Enforce content length checking. Body returned by server must match value of Content-Length header, if present. Otherwise, raise error. """ self.num_requests += 1 timeout_obj = self._get_timeout(timeout) timeout_obj.start_connect() conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) try: # Trigger any extra validation we need to do. try: self._validate_conn(conn) except (SocketTimeout, BaseSSLError) as e: self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) raise # _validate_conn() starts the connection to an HTTPS proxy # so we need to wrap errors with 'ProxyError' here too. except ( OSError, NewConnectionError, TimeoutError, BaseSSLError, CertificateError, SSLError, ) as e: new_e: Exception = e if isinstance(e, (BaseSSLError, CertificateError)): new_e = SSLError(e) # If the connection didn't successfully connect to it's proxy # then there if isinstance( new_e, (OSError, NewConnectionError, TimeoutError, SSLError) ) and (conn and conn.proxy and not conn.has_connected_to_proxy): new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) raise new_e # conn.request() calls http.client.*.request, not the method in # urllib3.request. It also calls makefile (recv) on the socket. try: conn.request( method, url, body=body, headers=headers, chunked=chunked, preload_content=preload_content, decode_content=decode_content, enforce_content_length=enforce_content_length, ) # We are swallowing BrokenPipeError (errno.EPIPE) since the server is # legitimately able to close the connection after sending a valid response. # With this behaviour, the received response is still readable. except BrokenPipeError: pass except OSError as e: # MacOS/Linux # EPROTOTYPE and ECONNRESET are needed on macOS # https://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ # Condition changed later to emit ECONNRESET instead of only EPROTOTYPE. if e.errno != errno.EPROTOTYPE and e.errno != errno.ECONNRESET: raise # Reset the timeout for the recv() on the socket read_timeout = timeout_obj.read_timeout if not conn.is_closed: # In Python 3 socket.py will catch EAGAIN and return None when you # try and read into the file pointer created by http.client, which # instead raises a BadStatusLine exception. Instead of catching # the exception and assuming all BadStatusLine exceptions are read # timeouts, check for a zero timeout before making the request. if read_timeout == 0: raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={read_timeout})" ) conn.timeout = read_timeout # Receive the response from the server try: > response = conn.getresponse() ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connection.py:466: in getresponse httplib_response = super().getresponse() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:1374: in getresponse response.begin() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:318: in begin version, status, reason = self._read_status() /opt/pyenv/versions/3.10.6/lib/python3.10/http/client.py:279: in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b = def readinto(self, b): """Read up to len(b) bytes into the writable buffer *b* and return the number of bytes read. If the socket is non-blocking and no bytes are available, None is returned. If *b* is non-empty, a 0 return value indicates that the connection was shutdown at the other end. """ self._checkClosed() self._checkReadable() if self._timeout_occurred: raise OSError("cannot read from timed out object") while True: try: > return self._sock.recv_into(b) E TimeoutError: timed out /opt/pyenv/versions/3.10.6/lib/python3.10/socket.py:705: TimeoutError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:486: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:847: in urlopen retries = retries.increment( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/retry.py:470: in increment raise reraise(type(error), error, _stacktrace) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/util/util.py:39: in reraise raise value ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:793: in urlopen response = self._make_request( ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:539: in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TimeoutError('timed out') url = '/rests/data/ietf-network:networks/network=openroadm-topology/ietf-network-topology:link=ROADM-A1-SRG1-SRG1-PP2-TXRXtoXPDR-A2-XPDR2-XPDR2-NETWORK1?content=config' timeout_value = 10 def _raise_timeout( self, err: BaseSSLError | OSError | SocketTimeout, url: str, timeout_value: _TYPE_TIMEOUT | None, ) -> None: """Is the error actually a timeout? Will raise a ReadTimeout or pass""" if isinstance(err, SocketTimeout): > raise ReadTimeoutError( self, url, f"Read timed out. (read timeout={timeout_value})" ) from err E urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/urllib3/connectionpool.py:370: ReadTimeoutError During handling of the above exception, another exception occurred: self = def test_105_disconnect_xponders_from_roadm(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(response['status_code'], requests.codes.ok) links = response['network'][0]['ietf-network-topology:link'] for link in links: if link["org-openroadm-common-network:link-type"] in ('XPONDER-OUTPUT', 'XPONDER-INPUT'): > response = test_utils.del_ietf_network_link_request( 'openroadm-topology', link['link-id'], 'config') transportpce_tests/hybrid/test02_B100G_end2end.py:1659: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transportpce_tests/common/test_utils.py:542: in del_ietf_network_link_request response = delete_request(url[RESTCONF_VERSION].format(*format_args)) transportpce_tests/common/test_utils.py:132: in delete_request return requests.request( ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection(request.url, proxies) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) raise ConnectionError(e, request=request) except ClosedPoolError as e: raise ConnectionError(e, request=request) except _ProxyError as e: raise ProxyError(e) except (_SSLError, _HTTPError) as e: if isinstance(e, _SSLError): # This branch is for urllib3 versions earlier than v1.22 raise SSLError(e, request=request) elif isinstance(e, ReadTimeoutError): > raise ReadTimeout(e, request=request) E requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8182): Read timed out. (read timeout=10) ../.tox/tests_hybrid/lib/python3.10/site-packages/requests/adapters.py:532: ReadTimeout =========================== short test summary info ============================ FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_024_get_ODUC4_service1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_026_check_interface_ODUC4_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_027_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_028_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_030_get_100GE_service_1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_031_check_interface_100GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_032_check_interface_ODU4_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_033_check_interface_ODU4_NETWORK_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_034_check_ODU4_connection_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_035_check_interface_100GE_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_036_check_interface_ODU4_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_037_check_interface_ODU4_NETWORK_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_038_check_ODU4_connection_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_039_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_040_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_042_get_100GE_service_2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_043_check_service_list FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_044_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_045_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_046_delete_100GE_service_2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_047_delete_100GE_service_1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_053_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_054_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_056_get_100GE_service_3 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_057_check_service_list FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_058_check_interface_100GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_059_check_interface_ODU4_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_060_check_interface_ODU4_NETWORK_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_061_check_ODU4_connection_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_062_check_interface_100GE_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_063_check_interface_ODU4_CLIENT_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_064_check_interface_ODU4_NETWORK_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_065_check_ODU4_connection_xpdrc2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_066_check_otn_topo_links FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_067_check_otn_topo_tp FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_068_delete_100GE_service_3 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_070_check_service_list FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_071_check_no_interface_ODU4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_075_get_no_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_076_check_no_interface_OTUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_077_check_no_interface_OTSI_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_078_check_no_interface_OTSIG_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_079_getLinks_OtnTopology FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_080_check_openroadm_topo_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_082_connect_xpdra2_1_N1_to_roadma_PP2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_083_connect_roadma_PP2_to_xpdra2_1_N1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_084_connect_xpdrc2_1_N1_to_roadmc_PP2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_085_connect_roadmc_PP2_to_xpdrc2_1_N1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_087_get_400GE_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_088_check_xc1_roadma FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_089_check_topo_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_090_check_topo_roadma_SRG1 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_092_check_interface_400GE_CLIENT_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_093_check_interface_OTSI_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_094_check_interface_OTSI_GROUP_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_095_check_interface_OTUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_096_check_interface_ODUC4_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_097_check_interface_ODUFLEX_xpdra2 FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_098_delete_400GE_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_099_get_no_service FAILED transportpce_tests/hybrid/test02_B100G_end2end.py::TransportPCEtesting::test_105_disconnect_xponders_from_roadm 61 failed, 48 passed in 1156.32s (0:19:16) tests_hybrid: exit 1 (1341.43 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid pid=75018 tests_hybrid: FAIL ✖ in 22 minutes 32.56 seconds buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt buildlighty: freeze> python -m pip freeze --all buildlighty: bcrypt==4.1.2,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,cryptography==42.0.5,dict2xml==1.7.5,exceptiongroup==1.2.0,idna==3.6,iniconfig==2.0.0,lxml==5.1.0,netconf-client==3.0.0,packaging==23.2,paramiko==3.4.0,pip==24.0,pluggy==1.4.0,psutil==5.9.8,pycparser==2.21,PyNaCl==1.5.0,pytest==8.0.2,requests==2.31.0,setuptools==69.1.0,tomli==2.0.1,urllib3==2.2.1,wheel==0.42.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED buildcontroller: OK (166.97=setup[8.62]+cmd[158.35] seconds) testsPCE: OK (362.88=setup[86.42]+cmd[276.46] seconds) sims121: OK (12.03=setup[9.35]+cmd[2.68] seconds) build_karaf_tests121: OK (49.82=setup[9.20]+cmd[40.62] seconds) tests121: FAIL code 1 (762.64=setup[12.46]+cmd[750.17] seconds) sims221: OK (12.06=setup[8.93]+cmd[3.13] seconds) build_karaf_tests221: OK (71.07=setup[12.98]+cmd[58.08] seconds) tests_tapi: FAIL code 1 (2187.52=setup[7.58]+cmd[2179.94] seconds) tests221: OK (2870.34=setup[6.67]+cmd[2863.66] seconds) sims71: OK (16.36=setup[12.84]+cmd[3.52] seconds) build_karaf_tests71: OK (78.41=setup[22.42]+cmd[55.99] seconds) tests71: OK (480.55=setup[7.15]+cmd[1.22,472.18] seconds) build_karaf_tests_hybrid: OK (69.03=setup[9.21]+cmd[59.82] seconds) tests_hybrid: FAIL code 1 (1352.56=setup[7.09]+cmd[4.04,1341.43] seconds) buildlighty: OK (34.29=setup[8.65]+cmd[25.63] seconds) docs: OK (27.40=setup[25.64]+cmd[1.76] seconds) docs-linkcheck: OK (28.41=setup[25.57]+cmd[2.85] seconds) checkbashisms: OK (43.90=setup[2.74]+cmd[40.48,0.67] seconds) pre-commit: OK (34.55=setup[3.60]+cmd[23.07,7.87] seconds) pylint: OK (27.66=setup[3.69]+cmd[23.97] seconds) evaluation failed :( (7175.50 seconds) + tox_status=255 + echo '---> Completed tox runs' ---> Completed tox runs + for i in .tox/*/log ++ echo .tox/buildcontroller/log ++ awk -F/ '{print $2}' + tox_env=buildcontroller + cp -r .tox/buildcontroller/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildcontroller + for i in .tox/*/log ++ echo .tox/build_karaf_tests121/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests121 + cp -r .tox/build_karaf_tests121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests121 + for i in .tox/*/log ++ echo .tox/build_karaf_tests221/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests221 + cp -r .tox/build_karaf_tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests221 + for i in .tox/*/log ++ echo .tox/build_karaf_tests71/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests71 + cp -r .tox/build_karaf_tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests71 + for i in .tox/*/log ++ echo .tox/build_karaf_tests_hybrid/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests_hybrid + cp -r .tox/build_karaf_tests_hybrid/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests_hybrid + for i in .tox/*/log ++ echo .tox/buildlighty/log ++ awk -F/ '{print $2}' + tox_env=buildlighty + cp -r .tox/buildlighty/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildlighty + for i in .tox/*/log ++ echo .tox/checkbashisms/log ++ awk -F/ '{print $2}' + tox_env=checkbashisms + cp -r .tox/checkbashisms/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/checkbashisms + for i in .tox/*/log ++ echo .tox/docs-linkcheck/log ++ awk -F/ '{print $2}' + tox_env=docs-linkcheck + cp -r .tox/docs-linkcheck/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs-linkcheck + for i in .tox/*/log ++ echo .tox/docs/log ++ awk -F/ '{print $2}' + tox_env=docs + cp -r .tox/docs/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs + for i in .tox/*/log ++ echo .tox/pre-commit/log ++ awk -F/ '{print $2}' + tox_env=pre-commit + cp -r .tox/pre-commit/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pre-commit + for i in .tox/*/log ++ echo .tox/pylint/log ++ awk -F/ '{print $2}' + tox_env=pylint + cp -r .tox/pylint/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pylint + for i in .tox/*/log ++ echo .tox/sims121/log ++ awk -F/ '{print $2}' + tox_env=sims121 + cp -r .tox/sims121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/sims121 + for i in .tox/*/log ++ echo .tox/sims221/log ++ awk -F/ '{print $2}' + tox_env=sims221 + cp -r .tox/sims221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/sims221 + for i in .tox/*/log ++ echo .tox/sims71/log ++ awk -F/ '{print $2}' + tox_env=sims71 + cp -r .tox/sims71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/sims71 + for i in .tox/*/log ++ echo .tox/tests121/log ++ awk -F/ '{print $2}' + tox_env=tests121 + cp -r .tox/tests121/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests121 + for i in .tox/*/log ++ echo .tox/tests221/log ++ awk -F/ '{print $2}' + tox_env=tests221 + cp -r .tox/tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests221 + for i in .tox/*/log ++ echo .tox/tests71/log ++ awk -F/ '{print $2}' + tox_env=tests71 + cp -r .tox/tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests71 + for i in .tox/*/log ++ awk -F/ '{print $2}' ++ echo .tox/tests_hybrid/log + tox_env=tests_hybrid + cp -r .tox/tests_hybrid/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_hybrid + for i in .tox/*/log ++ awk -F/ '{print $2}' ++ echo .tox/testsPCE/log + tox_env=testsPCE + cp -r .tox/testsPCE/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/testsPCE + for i in .tox/*/log ++ echo .tox/tests_tapi/log ++ awk -F/ '{print $2}' + tox_env=tests_tapi + cp -r .tox/tests_tapi/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_tapi + DOC_DIR=docs/_build/html + [[ -d docs/_build/html ]] + echo '---> Archiving generated docs' ---> Archiving generated docs + mv docs/_build/html /w/workspace/transportpce-tox-verify-transportpce-master/archives/docs + echo '---> tox-run.sh ends' ---> tox-run.sh ends + test 255 -eq 0 + exit 255 Build step 'Execute shell' marked build as failure $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 5561 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins6093949010342562589.sh ---> sysstat.sh [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins2235079453961776794.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=redhat + workspace=/w/workspace/transportpce-tox-verify-transportpce-master + START_PACKAGES=/tmp/packages_start.txt + END_PACKAGES=/tmp/packages_end.txt + DIFF_PACKAGES=/tmp/packages_diff.txt + PACKAGES=/tmp/packages_start.txt + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + rpm -qa + sort + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + true + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/transportpce-tox-verify-transportpce-master/archives/ [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins16475729869437382429.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-EKjs from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-EKjs/bin to PATH INFO: Running in OpenStack, capturing instance metadata [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins13425198999453908294.sh provisioning config files... Could not find credentials [logs] for transportpce-tox-verify-transportpce-master #1449 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/transportpce-tox-verify-transportpce-master@tmp/config12140100453126464698tmp Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] Run condition [Regular expression match] enabling perform for step [Provide Configuration files] provisioning config files... copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SERVER_ID=logs [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins7388012369077522036.sh ---> create-netrc.sh WARN: Log server credential not found. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins11124939568638314729.sh ---> python-tools-install.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-EKjs from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-EKjs/bin to PATH [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins12354778306223669613.sh ---> sudo-logs.sh Archiving 'sudo' log.. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins11392562425344708624.sh ---> job-cost.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-EKjs from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-EKjs/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v3-standard-4 INFO: Archiving Costs [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins17466299758089342533.sh ---> logs-deploy.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-EKjs from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-EKjs/bin to PATH WARNING: Nexus logging server not set INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/transportpce-tox-verify-transportpce-master/1449/ INFO: archiving logs to S3 ---> uname -a: Linux prd-centos8-builder-4c-16g-175.novalocal 4.18.0-536.el8.x86_64 #1 SMP Thu Jan 18 15:15:29 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 4 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 23 Model: 49 Model name: AMD EPYC-Rome Processor Stepping: 0 CPU MHz: 2799.998 BogoMIPS: 5599.99 Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 512K L3 cache: 16384K NUMA node0 CPU(s): 0-3 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 xsaves clzero xsaveerptr wbnoinvd arat npt nrip_save umip rdpid arch_capabilities ---> nproc: 4 ---> df -h: Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs 7.7G 17M 7.7G 1% /run tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup /dev/vda1 80G 17G 64G 22% / tmpfs 1.6G 0 1.6G 0% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 15761 953 4906 19 9901 14458 Swap: 1023 1 1022 ---> ip addr: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1458 qdisc mq state UP group default qlen 1000 link/ether fa:16:3e:ef:80:26 brd ff:ff:ff:ff:ff:ff altname enp0s3 altname ens3 inet 10.30.171.115/23 brd 10.30.171.255 scope global dynamic noprefixroute eth0 valid_lft 79027sec preferred_lft 79027sec inet6 fe80::f816:3eff:feef:8026/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1458 qdisc noqueue state DOWN group default link/ether 02:42:21:54:30:e8 brd ff:ff:ff:ff:ff:ff inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 4.18.0-536.el8.x86_64 (centos-stream-8-builder-37d44b9c-5feb-4b6f-a60e-fe1022bf91ff.nov) 02/27/2024 _x86_64_ (4 CPU) 15:30:44 LINUX RESTART (4 CPU) 03:31:03 PM tps rtps wtps bread/s bwrtn/s 03:32:01 PM 182.74 35.68 147.06 7694.38 35899.12 03:33:01 PM 126.91 2.80 124.11 107.03 10078.71 03:34:01 PM 380.15 69.90 310.24 4619.59 45605.66 03:35:01 PM 269.23 87.22 182.01 1855.38 15970.23 03:36:01 PM 221.62 57.70 163.93 570.67 33796.52 03:37:01 PM 281.84 0.00 281.84 0.00 120775.01 03:38:01 PM 186.65 2.08 184.57 165.65 110564.08 03:39:01 PM 86.95 0.83 86.11 73.53 6421.11 03:40:01 PM 74.32 3.18 71.14 630.78 971.17 03:41:01 PM 67.55 0.95 66.60 123.27 1029.34 03:42:01 PM 55.84 0.75 55.09 183.89 1233.95 03:43:01 PM 68.28 0.23 68.04 8.13 9528.74 03:44:01 PM 15.25 0.00 15.25 0.00 135.51 03:45:01 PM 7.51 0.00 7.51 0.00 54.45 03:46:01 PM 30.59 0.70 29.90 8.67 413.66 03:47:01 PM 19.29 0.00 19.29 0.00 396.27 03:48:01 PM 2.90 0.00 2.90 0.00 129.94 03:49:01 PM 2.47 0.00 2.47 0.00 38.80 03:50:01 PM 7.31 0.00 7.31 0.00 67.63 03:51:01 PM 0.72 0.00 0.72 0.00 12.78 03:52:02 PM 1.25 0.22 1.03 18.66 17.01 03:53:01 PM 1.05 0.00 1.05 0.00 112.64 03:54:01 PM 0.88 0.00 0.88 0.00 11.25 03:55:01 PM 0.90 0.00 0.90 0.00 12.50 03:56:01 PM 1.20 0.00 1.20 0.00 19.40 03:57:01 PM 0.85 0.00 0.85 0.00 13.31 03:58:01 PM 0.33 0.00 0.33 0.00 5.30 03:59:01 PM 0.38 0.00 0.38 0.00 5.90 04:00:01 PM 0.92 0.07 0.85 3.07 12.15 04:01:01 PM 1.32 0.02 1.30 0.13 17.71 04:02:01 PM 1.33 0.13 1.20 2.93 18.64 04:03:01 PM 0.43 0.00 0.43 0.00 7.87 04:04:01 PM 0.33 0.00 0.33 0.00 4.63 04:05:01 PM 0.68 0.00 0.68 0.00 9.70 04:06:01 PM 0.45 0.00 0.45 0.00 7.08 04:07:01 PM 0.32 0.00 0.32 0.00 6.25 04:08:01 PM 0.60 0.00 0.60 0.00 7.93 04:09:01 PM 0.35 0.00 0.35 0.00 5.71 04:10:01 PM 0.30 0.00 0.30 0.00 4.12 04:11:01 PM 1.40 0.00 1.40 0.00 14.13 04:12:01 PM 1.72 0.00 1.72 0.00 18.71 04:13:01 PM 1.98 0.00 1.98 0.00 20.93 04:14:01 PM 37.25 0.65 36.60 22.52 1638.20 04:15:01 PM 69.18 0.13 69.05 1.60 10062.69 04:16:01 PM 41.37 0.00 41.37 0.00 384.69 04:17:01 PM 10.66 0.00 10.66 0.00 63.12 04:18:01 PM 26.52 0.00 26.52 0.00 313.50 04:19:01 PM 40.89 0.00 40.89 0.00 347.99 04:20:01 PM 14.60 0.00 14.60 0.00 80.19 04:21:01 PM 54.73 0.00 54.73 0.00 586.20 04:22:01 PM 30.56 0.00 30.56 0.00 642.22 04:23:01 PM 61.88 0.00 61.88 0.00 3013.55 04:24:01 PM 55.96 0.00 55.96 0.00 931.29 04:25:01 PM 31.84 0.00 31.84 0.00 280.82 04:26:01 PM 21.97 0.00 21.97 0.00 253.76 04:27:01 PM 32.27 0.00 32.27 0.00 486.42 04:28:01 PM 23.85 0.00 23.85 0.00 331.93 04:29:01 PM 16.21 0.00 16.21 0.00 229.90 04:30:01 PM 87.62 0.02 87.60 0.13 1059.05 04:31:01 PM 9.71 0.00 9.71 0.00 152.60 04:32:01 PM 50.90 0.32 50.58 6.53 567.51 04:33:01 PM 23.78 0.00 23.78 0.00 423.76 04:34:02 PM 40.08 0.00 40.08 0.00 325.00 04:35:01 PM 17.74 0.00 17.74 0.00 112.06 04:36:01 PM 27.55 0.00 27.55 0.00 455.15 04:37:01 PM 42.09 0.00 42.09 0.00 349.13 04:38:01 PM 3.50 0.00 3.50 0.00 43.40 04:39:01 PM 8.67 0.00 8.67 0.00 59.71 04:40:01 PM 9.13 0.00 9.13 0.00 56.69 04:41:01 PM 14.08 2.57 11.51 154.88 135.45 04:42:01 PM 5.78 0.00 5.78 0.00 47.04 04:43:01 PM 7.70 0.00 7.70 0.00 51.08 04:44:01 PM 26.30 0.00 26.30 0.00 281.73 04:45:01 PM 47.73 0.00 47.73 0.00 712.23 04:46:01 PM 10.96 0.00 10.96 0.00 93.82 04:47:01 PM 24.96 0.00 24.96 0.00 151.59 04:48:01 PM 11.93 0.00 11.93 0.00 89.05 04:49:01 PM 15.44 0.00 15.44 0.00 101.90 04:50:01 PM 17.73 0.00 17.73 0.00 104.83 04:51:01 PM 29.09 0.00 29.09 0.00 175.31 04:52:01 PM 52.25 0.00 52.25 0.00 942.13 04:53:01 PM 12.19 0.00 12.19 0.00 102.18 04:54:01 PM 19.03 0.00 19.03 0.00 113.75 04:55:01 PM 10.95 0.00 10.95 0.00 84.91 04:56:01 PM 9.48 0.00 9.48 0.00 73.94 04:57:01 PM 15.68 0.00 15.68 0.00 93.20 04:58:01 PM 7.88 0.00 7.88 0.00 71.61 04:59:01 PM 8.40 0.00 8.40 0.00 63.59 05:00:01 PM 23.26 0.00 23.26 0.00 780.21 05:01:01 PM 35.29 0.00 35.29 0.00 352.26 05:02:01 PM 18.02 0.00 18.02 0.00 112.24 05:03:01 PM 8.91 0.00 8.91 0.00 63.67 05:04:01 PM 9.81 0.00 9.81 0.00 70.83 05:05:01 PM 6.20 0.00 6.20 0.00 47.90 05:06:01 PM 4.55 0.00 4.55 0.00 43.69 05:07:01 PM 10.76 0.00 10.76 0.00 78.66 05:08:01 PM 4.87 0.00 4.87 0.00 43.46 05:09:01 PM 17.08 0.02 17.06 0.67 110.25 05:10:01 PM 54.13 0.00 54.13 0.00 3974.84 05:11:01 PM 67.81 0.00 67.81 0.00 10933.94 05:12:01 PM 11.31 0.00 11.31 0.00 152.25 05:13:01 PM 32.81 0.00 32.81 0.00 479.35 05:14:01 PM 20.92 0.00 20.92 0.00 236.13 05:15:01 PM 6.48 0.00 6.48 0.00 56.88 05:16:01 PM 1.23 0.00 1.23 0.00 23.18 05:17:01 PM 0.37 0.00 0.37 0.00 8.85 05:18:02 PM 0.53 0.00 0.53 0.00 9.05 05:19:01 PM 0.44 0.00 0.44 0.00 8.71 05:20:01 PM 2.07 0.00 2.07 0.00 119.23 05:21:01 PM 1.97 0.00 1.97 0.00 27.18 05:22:01 PM 2.12 0.00 2.12 0.00 24.64 05:23:01 PM 1.72 0.00 1.72 0.00 18.23 05:24:01 PM 2.03 0.00 2.03 0.00 26.58 05:25:01 PM 1.90 0.00 1.90 0.00 20.53 05:26:01 PM 2.00 0.00 2.00 0.00 23.86 05:27:01 PM 2.08 0.00 2.08 0.00 23.51 05:28:01 PM 0.43 0.00 0.43 0.00 6.48 05:29:01 PM 0.58 0.00 0.58 0.00 7.16 05:30:01 PM 0.45 0.00 0.45 0.00 7.65 05:31:01 PM 0.48 0.00 0.48 0.00 5.88 05:32:01 PM 2.37 0.00 2.37 0.00 43.47 05:33:01 PM 110.31 13.43 96.88 1685.45 15298.90 Average: 31.21 2.28 28.93 145.07 3711.56 03:31:03 PM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 03:32:01 PM 13336860 15077340 2802588 17.36 2688 1964580 1188152 6.91 207104 2277220 84284 03:33:01 PM 12735048 14865948 3404400 21.09 2688 2332652 1512836 8.80 424144 2573912 250100 03:34:01 PM 11118040 14615680 5021408 31.11 2688 3639532 1591568 9.26 670124 3795560 286320 03:35:01 PM 8495832 12463828 7643616 47.36 2688 4079616 3644356 21.20 742564 6284004 259588 03:36:01 PM 8100508 13927280 8038940 49.81 2688 5897504 2234596 13.00 1214372 6150444 1250884 03:37:01 PM 4256008 12540968 11883440 73.63 2688 8302472 3718424 21.63 1919076 9183828 804272 03:38:01 PM 2284696 12145856 13854752 85.84 2688 9858856 4856124 28.25 2532844 10499780 150844 03:39:01 PM 236756 8448604 15902692 98.53 2640 8213008 8530244 49.63 2589256 12475900 1184 03:40:01 PM 153564 7942500 15985884 99.05 2640 7789848 9394788 54.66 2718392 12424748 456 03:41:01 PM 6257396 13758032 9882052 61.23 2636 7501800 2404616 13.99 2693488 6377880 556 03:42:01 PM 3490012 11083748 12649436 78.38 2636 7589604 5574016 32.43 2708260 9107900 81520 03:43:01 PM 939532 8807472 15199916 94.18 2636 7859912 7992076 46.50 2758724 11587524 548 03:44:01 PM 735528 8604248 15403920 95.44 2636 7860564 8041116 46.78 2759244 11789232 44 03:45:01 PM 704368 8573248 15435080 95.64 2636 7860724 8056908 46.88 2759276 11820356 180 03:46:01 PM 3230244 11099804 12909204 79.99 2636 7861356 5513616 32.08 2767836 9299516 428 03:47:01 PM 995692 8865580 15143756 93.83 2636 7861512 8089872 47.07 2767920 11524552 208 03:48:01 PM 1005260 8875244 15134188 93.77 2636 7861584 8026580 46.70 2767928 11514840 128 03:49:01 PM 1013476 8883512 15125972 93.72 2636 7861640 8042332 46.79 2767960 11506656 96 03:50:01 PM 822004 8692120 15317444 94.91 2636 7861688 8065824 46.93 2767964 11697600 124 03:51:01 PM 1024252 8894488 15115196 93.65 2636 7861736 7821764 45.51 2767968 11494940 116 03:52:02 PM 1023000 8893864 15116448 93.66 2636 7862348 7838016 45.60 2768536 11496020 92 03:53:01 PM 1014828 8885768 15124620 93.71 2636 7862404 7838016 45.60 2768532 11504364 72 03:54:01 PM 971120 8842120 15168328 93.98 2636 7862452 7856304 45.71 2768536 11546856 68 03:55:01 PM 3389168 11259996 12750280 79.00 2636 7862344 5222780 30.39 2866928 9043892 44 03:56:01 PM 3389300 11260148 12750148 79.00 2636 7862360 5222780 30.39 2866928 9043932 36 03:57:01 PM 3336308 11207184 12803140 79.33 2636 7862392 5222780 30.39 2866932 9097020 52 03:58:01 PM 3336812 11207712 12802636 79.33 2636 7862412 5222780 30.39 2866932 9096520 40 03:59:01 PM 3315904 11186840 12823544 79.45 2636 7862448 5222780 30.39 2866932 9117520 52 04:00:01 PM 3296636 11167696 12842812 79.57 2636 7862580 5263196 30.62 2867240 9135944 76 04:01:01 PM 3260412 11131544 12879036 79.80 2636 7862660 5263196 30.62 2867292 9171620 96 04:02:01 PM 3256352 11127660 12883096 79.82 2636 7862836 5279072 30.71 2867348 9175940 60 04:03:01 PM 3247584 11118920 12891864 79.88 2636 7862864 5279072 30.71 2867348 9184924 36 04:04:01 PM 3246184 11117544 12893264 79.89 2636 7862888 5294824 30.81 2867348 9186164 48 04:05:01 PM 3230304 11101700 12909144 79.99 2636 7862924 5294824 30.81 2867352 9202268 40 04:06:01 PM 3226324 11097744 12913124 80.01 2636 7862944 5294824 30.81 2867352 9206588 52 04:07:01 PM 3231456 11102916 12907992 79.98 2636 7862988 5294824 30.81 2867352 9201400 44 04:08:01 PM 3224904 11096384 12914544 80.02 2636 7863008 5294824 30.81 2867356 9207664 40 04:09:01 PM 3222892 11094400 12916556 80.03 2636 7863032 5294824 30.81 2867356 9209420 44 04:10:01 PM 3222944 11094472 12916504 80.03 2636 7863056 5297284 30.82 2867356 9209604 40 04:11:01 PM 3220632 11092188 12918816 80.04 2636 7863080 5297284 30.82 2867364 9211900 24 04:12:01 PM 3220752 11092332 12918696 80.04 2636 7863104 5297284 30.82 2867364 9211776 32 04:13:01 PM 3220528 11092144 12918920 80.05 2636 7863140 5297284 30.82 2867364 9212104 24 04:14:01 PM 5027916 13311336 11111532 68.85 2636 8265064 3068160 17.85 2925400 7345192 267816 04:15:01 PM 4405444 12690596 11734004 72.70 2636 8266536 3379248 19.66 3064416 7823940 408 04:16:01 PM 4566484 12851760 11572964 71.71 2636 8266648 3167948 18.43 3068272 7658172 84 04:17:01 PM 4564032 12849392 11575416 71.72 2636 8266732 3167948 18.43 3068292 7661372 60 04:18:01 PM 3990004 12275712 12149444 75.28 2636 8267060 3779488 21.99 3079708 8221796 520 04:19:01 PM 3765836 12051956 12373612 76.67 2636 8267284 3879712 22.57 3079872 8443640 108 04:20:01 PM 3757840 12044148 12381608 76.72 2636 8267420 3881720 22.58 3079880 8451976 168 04:21:01 PM 4527244 12813764 11612204 71.95 2636 8267672 3188668 18.55 3080212 7685348 136 04:22:01 PM 3876076 12237900 12263372 75.98 2636 8337824 3989068 23.21 3080736 8327776 70060 04:23:01 PM 5960696 14322776 10178752 63.07 2636 8337872 1751076 10.19 3084140 6244996 156 04:24:01 PM 4132812 12495636 12006636 74.39 2636 8338368 3870100 22.52 3092616 8056936 288 04:25:01 PM 2860932 11224424 13278516 82.27 2636 8338544 5288712 30.77 3092652 9318828 88 04:26:01 PM 5943156 14306372 10196292 63.18 2636 8338560 1776480 10.34 3093544 6253020 236 04:27:01 PM 5993836 14357328 10145612 62.86 2636 8338828 1714196 9.97 3094012 6201936 228 04:28:01 PM 4710260 13074156 11429188 70.82 2636 8339024 3066252 17.84 3094036 7478672 32 04:29:01 PM 5536380 13900280 10603068 65.70 2636 8339104 2209120 12.85 3094256 6655836 224 04:30:01 PM 4725440 13090392 11414008 70.72 2636 8339672 3097912 18.02 3094364 7462600 192 04:31:01 PM 6212564 14577436 9926884 61.51 2636 8339684 1527836 8.89 3094572 5984000 164 04:32:01 PM 4026988 12393000 12112460 75.05 2636 8340304 3840956 22.35 3094716 8155420 48 04:33:01 PM 4382212 12748300 11757236 72.85 2636 8340500 4075436 23.71 3094788 7804640 440 04:34:02 PM 2446268 10813388 13693180 84.84 2636 8340852 5712156 33.23 3094828 9727960 200 04:35:01 PM 2370712 10738132 13768736 85.31 2636 8341112 5727908 33.33 3094828 9804120 132 04:36:01 PM 4615604 12982988 11523844 71.40 2636 8341336 3263664 18.99 3094840 7573264 368 04:37:01 PM 2774020 11142404 13365428 82.81 2636 8341792 5284340 30.74 3094892 9399844 388 04:38:01 PM 2728984 11097444 13410464 83.09 2636 8341868 5284340 30.74 3094896 9445228 44 04:39:01 PM 2562624 10931316 13576824 84.12 2636 8342076 5284340 30.74 3094892 9610816 196 04:40:01 PM 2498076 10866996 13641372 84.52 2636 8342268 5328428 31.00 3094892 9674724 216 04:41:01 PM 2480368 10854408 13659080 84.63 2636 8347284 5318912 30.95 3099208 9688276 28 04:42:01 PM 2473940 10848160 13665508 84.67 2636 8347460 5318912 30.95 3099216 9694632 40 04:43:01 PM 2464604 10838944 13674844 84.73 2636 8347616 5318912 30.95 3099216 9703836 148 04:44:01 PM 5929988 14304312 10209460 63.26 2636 8347824 2300648 13.39 3099200 6259124 212 04:45:01 PM 2806104 11181188 13333344 82.61 2636 8348148 5341064 31.07 3099260 9363240 420 04:46:01 PM 2783692 11159108 13355756 82.75 2636 8348460 5341064 31.07 3099260 9385184 16 04:47:01 PM 2690220 11066308 13449228 83.33 2636 8349100 5356860 31.17 3099260 9478500 32 04:48:01 PM 2541812 10918300 13597636 84.25 2636 8349464 5356860 31.17 3099260 9626360 80 04:49:01 PM 2540368 10917284 13599080 84.26 2636 8349888 5356860 31.17 3099260 9627564 28 04:50:01 PM 2519876 10897464 13619572 84.39 2636 8350508 5390012 31.36 3099260 9648156 404 04:51:01 PM 2436492 10814896 13702956 84.90 2636 8351276 5390012 31.36 3099260 9731224 340 04:52:01 PM 1983228 10360956 14156220 87.71 2636 8350520 6511580 37.88 3099336 10184056 256 04:53:01 PM 1736960 10115372 14402488 89.24 2636 8350920 6692984 38.94 3099364 10426468 72 04:54:01 PM 1511864 9890820 14627584 90.63 2636 8351320 6741864 39.22 3099364 10650024 92 04:55:01 PM 1326260 9705728 14813188 91.78 2636 8351756 6857996 39.90 3099364 10834788 252 04:56:01 PM 1134680 9514336 15004768 92.97 2636 8351912 6857996 39.90 3099364 11025700 40 04:57:01 PM 1004536 9384588 15134912 93.78 2636 8352272 6873772 39.99 3099364 11155264 304 04:58:01 PM 999528 9379936 15139920 93.81 2636 8352584 6873772 39.99 3099364 11161716 44 04:59:01 PM 989948 9370600 15149500 93.87 2636 8352812 6873772 39.99 3099364 11171124 32 05:00:01 PM 2250752 10630844 13888696 86.05 2636 8352420 7074400 41.16 3099380 9917784 292 05:01:01 PM 987804 9368584 15151644 93.88 2636 8352876 7402068 43.07 3099400 11173196 88 05:02:01 PM 774500 9156016 15364948 95.20 2636 8353444 7465636 43.44 3099428 11385148 308 05:03:01 PM 678072 9059864 15461376 95.80 2636 8353672 7482408 43.53 3099424 11480988 92 05:04:01 PM 531036 8913056 15608412 96.71 2636 8353880 7482408 43.53 3099424 11628768 200 05:05:01 PM 435368 8817500 15704080 97.30 2636 8353992 7498548 43.63 3099424 11723328 64 05:06:01 PM 385556 8767860 15753892 97.61 2636 8354148 7498548 43.63 3099424 11773540 36 05:07:01 PM 377680 8760272 15761768 97.66 2636 8354424 7498548 43.63 3099424 11781528 36 05:08:01 PM 375524 8758220 15763924 97.67 2636 8354524 7498548 43.63 3099424 11783332 36 05:09:01 PM 336684 8719872 15802764 97.91 2636 8354972 7530228 43.81 3099456 11821060 56 05:10:01 PM 4093688 12934152 12045760 74.64 2636 8799896 3142992 18.29 3131616 8033496 309124 05:11:01 PM 1192564 10035724 14946884 92.61 2636 8802268 5822040 33.87 3188832 10860984 2160 05:12:01 PM 1133020 9976276 15006428 92.98 2636 8802364 5853764 34.06 3189996 10919632 96 05:13:01 PM 4035340 12878884 12104108 75.00 2636 8802728 3326556 19.35 3310888 7909764 628 05:14:01 PM 1323900 10168008 14815548 91.80 2636 8803128 5676160 33.02 3315768 10603476 208 05:15:01 PM 1126372 9970984 15013076 93.02 2636 8803472 5771824 33.58 3317048 10800424 44 05:16:01 PM 1118828 9963484 15020620 93.07 2636 8803516 5788004 33.67 3317056 10806884 92 05:17:01 PM 1109816 9954552 15029632 93.12 2636 8803592 5788004 33.67 3317072 10816080 112 05:18:02 PM 1464096 10308856 14675352 90.93 2636 8803612 5442116 31.66 3317072 10461728 76 05:19:01 PM 1440092 10285036 14699356 91.08 2636 8803784 5458008 31.75 3317332 10484616 248 05:20:01 PM 1431108 10276096 14708340 91.13 2636 8803812 5478316 31.87 3317336 10493916 96 05:21:01 PM 1431440 10276500 14708008 91.13 2636 8803856 5478316 31.87 3317340 10493576 36 05:22:01 PM 1429416 10274528 14710032 91.14 2636 8803916 5478316 31.87 3317340 10495372 4 05:23:01 PM 1426524 10271668 14712924 91.16 2636 8803948 5478316 31.87 3317344 10498628 60 05:24:01 PM 1423708 10268936 14715740 91.18 2636 8804032 5478316 31.87 3317344 10501284 36 05:25:01 PM 1417248 10262496 14722200 91.22 2636 8804056 5478316 31.87 3317344 10508164 36 05:26:01 PM 1415368 10260704 14724080 91.23 2636 8804144 5478316 31.87 3317348 10510348 28 05:27:01 PM 1415976 10261336 14723472 91.23 2636 8804164 5478316 31.87 3317348 10509488 36 05:28:01 PM 1416140 10261540 14723308 91.23 2636 8804204 5478316 31.87 3317348 10509552 44 05:29:01 PM 1415212 10260640 14724236 91.23 2636 8804236 5478316 31.87 3317352 10510436 60 05:30:01 PM 1415188 10260668 14724260 91.23 2636 8804284 5475780 31.86 3317352 10510404 32 05:31:01 PM 1415220 10260724 14724228 91.23 2636 8804304 5475780 31.86 3317352 10510328 36 05:32:01 PM 5914024 14793360 10225424 63.36 2636 8836216 1251252 7.28 3326376 6021192 32128 05:33:01 PM 5103560 14839940 11035888 68.38 2636 9679348 1125124 6.55 3534128 6602808 388100 Average: 2906534 11036115 13232914 81.99 2639 8113744 5264587 30.63 2939132 9444167 34865 03:31:03 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 03:32:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:32:01 PM eth0 409.04 261.41 1633.65 62.06 0.00 0.00 0.00 0.00 03:32:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:33:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:33:01 PM eth0 113.51 97.28 1131.03 19.77 0.00 0.00 0.00 0.00 03:33:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:34:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:34:01 PM eth0 480.96 374.88 6504.75 43.10 0.00 0.00 0.00 0.00 03:34:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:35:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:35:01 PM eth0 392.40 273.11 5853.52 35.66 0.00 0.00 0.00 0.00 03:35:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:36:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:36:01 PM eth0 280.57 163.03 5442.59 18.00 0.00 0.00 0.00 0.00 03:36:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:37:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:37:01 PM eth0 156.40 71.32 3851.44 7.94 0.00 0.00 0.00 0.00 03:37:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:38:01 PM lo 2.48 2.48 0.28 0.28 0.00 0.00 0.00 0.00 03:38:01 PM eth0 1.88 2.41 0.88 0.80 0.00 0.00 0.00 0.00 03:38:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:39:01 PM lo 26.92 26.92 29.68 29.68 0.00 0.00 0.00 0.00 03:39:01 PM eth0 1.60 1.50 0.25 0.24 0.00 0.00 0.00 0.00 03:39:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:40:01 PM lo 30.20 30.20 25.07 25.07 0.00 0.00 0.00 0.00 03:40:01 PM eth0 1.57 1.78 0.30 0.29 0.00 0.00 0.00 0.00 03:40:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:41:01 PM lo 35.23 35.23 16.38 16.38 0.00 0.00 0.00 0.00 03:41:01 PM eth0 1.42 1.80 0.25 0.26 0.00 0.00 0.00 0.00 03:41:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:42:01 PM lo 5.01 5.01 1.82 1.82 0.00 0.00 0.00 0.00 03:42:01 PM eth0 2.26 2.83 0.99 0.95 0.00 0.00 0.00 0.00 03:42:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:43:01 PM lo 24.78 24.78 26.29 26.29 0.00 0.00 0.00 0.00 03:43:01 PM eth0 1.02 0.95 0.68 0.14 0.00 0.00 0.00 0.00 03:43:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:44:01 PM lo 21.10 21.10 10.36 10.36 0.00 0.00 0.00 0.00 03:44:01 PM eth0 0.33 0.22 0.04 0.03 0.00 0.00 0.00 0.00 03:44:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:45:01 PM lo 13.86 13.86 5.57 5.57 0.00 0.00 0.00 0.00 03:45:01 PM eth0 0.28 0.27 0.04 0.05 0.00 0.00 0.00 0.00 03:45:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:46:01 PM lo 22.51 22.51 7.78 7.78 0.00 0.00 0.00 0.00 03:46:01 PM eth0 0.77 0.77 0.14 0.13 0.00 0.00 0.00 0.00 03:46:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:47:01 PM lo 1.05 1.05 0.10 0.10 0.00 0.00 0.00 0.00 03:47:01 PM eth0 0.63 0.52 0.12 0.11 0.00 0.00 0.00 0.00 03:47:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:48:01 PM lo 0.82 0.82 0.29 0.29 0.00 0.00 0.00 0.00 03:48:01 PM eth0 0.15 0.13 0.01 0.01 0.00 0.00 0.00 0.00 03:48:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:49:01 PM lo 1.53 1.53 0.25 0.25 0.00 0.00 0.00 0.00 03:49:01 PM eth0 0.37 0.37 0.07 0.06 0.00 0.00 0.00 0.00 03:49:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:50:01 PM lo 0.15 0.15 0.03 0.03 0.00 0.00 0.00 0.00 03:50:01 PM eth0 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:50:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:51:01 PM lo 1.05 1.05 0.71 0.71 0.00 0.00 0.00 0.00 03:51:01 PM eth0 0.13 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:51:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:52:02 PM lo 0.58 0.58 0.08 0.08 0.00 0.00 0.00 0.00 03:52:02 PM eth0 1.25 0.45 0.41 0.28 0.00 0.00 0.00 0.00 03:52:02 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:53:01 PM lo 0.37 0.37 0.36 0.36 0.00 0.00 0.00 0.00 03:53:01 PM eth0 0.37 0.24 0.26 0.20 0.00 0.00 0.00 0.00 03:53:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:54:01 PM lo 0.88 0.88 0.64 0.64 0.00 0.00 0.00 0.00 03:54:01 PM eth0 0.13 0.08 0.01 0.01 0.00 0.00 0.00 0.00 03:54:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:55:01 PM lo 1.15 1.15 0.24 0.24 0.00 0.00 0.00 0.00 03:55:01 PM eth0 0.60 0.52 0.13 0.24 0.00 0.00 0.00 0.00 03:55:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:56:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:56:01 PM eth0 0.68 0.05 0.07 0.00 0.00 0.00 0.00 0.00 03:56:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:57:01 PM lo 2.33 2.33 1.16 1.16 0.00 0.00 0.00 0.00 03:57:01 PM eth0 1.22 0.35 0.40 0.27 0.00 0.00 0.00 0.00 03:57:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:58:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:58:01 PM eth0 0.37 0.28 0.25 0.20 0.00 0.00 0.00 0.00 03:58:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:59:01 PM lo 3.18 3.18 1.14 1.14 0.00 0.00 0.00 0.00 03:59:01 PM eth0 0.07 0.05 0.00 0.00 0.00 0.00 0.00 0.00 03:59:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:00:01 PM lo 2.37 2.37 0.53 0.53 0.00 0.00 0.00 0.00 04:00:01 PM eth0 0.52 0.38 0.09 0.07 0.00 0.00 0.00 0.00 04:00:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:01:01 PM lo 9.93 9.93 2.44 2.44 0.00 0.00 0.00 0.00 04:01:01 PM eth0 1.40 1.32 0.44 0.26 0.00 0.00 0.00 0.00 04:01:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:02:01 PM lo 3.10 3.10 0.67 0.67 0.00 0.00 0.00 0.00 04:02:01 PM eth0 1.67 1.13 0.59 0.45 0.00 0.00 0.00 0.00 04:02:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:03:01 PM lo 1.33 1.33 0.49 0.49 0.00 0.00 0.00 0.00 04:03:01 PM eth0 0.18 0.02 0.01 0.00 0.00 0.00 0.00 0.00 04:03:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:04:01 PM lo 0.05 0.05 0.01 0.01 0.00 0.00 0.00 0.00 04:04:01 PM eth0 0.12 0.07 0.01 0.00 0.00 0.00 0.00 0.00 04:04:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:05:01 PM lo 3.27 3.27 1.01 1.01 0.00 0.00 0.00 0.00 04:05:01 PM eth0 0.12 0.07 0.01 0.01 0.00 0.00 0.00 0.00 04:05:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:06:01 PM lo 0.38 0.38 0.08 0.08 0.00 0.00 0.00 0.00 04:06:01 PM eth0 0.10 0.07 0.01 0.00 0.00 0.00 0.00 0.00 04:06:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:07:01 PM lo 0.58 0.58 0.12 0.12 0.00 0.00 0.00 0.00 04:07:01 PM eth0 0.22 0.15 0.08 0.07 0.00 0.00 0.00 0.00 04:07:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:08:01 PM lo 0.43 0.43 0.07 0.07 0.00 0.00 0.00 0.00 04:08:01 PM eth0 0.12 0.08 0.01 0.01 0.00 0.00 0.00 0.00 04:08:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:09:01 PM lo 0.28 0.28 0.06 0.06 0.00 0.00 0.00 0.00 04:09:01 PM eth0 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:09:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:10:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:10:01 PM eth0 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00 04:10:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:01 PM lo 0.27 0.27 0.04 0.04 0.00 0.00 0.00 0.00 04:11:01 PM eth0 0.12 0.07 0.01 0.01 0.00 0.00 0.00 0.00 04:11:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:12:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:12:01 PM eth0 0.25 0.15 0.08 0.07 0.00 0.00 0.00 0.00 04:12:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:13:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:13:01 PM eth0 0.18 0.00 0.01 0.00 0.00 0.00 0.00 0.00 04:13:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:14:01 PM lo 1.85 1.85 0.39 0.39 0.00 0.00 0.00 0.00 04:14:01 PM eth0 46.91 21.52 683.32 4.15 0.00 0.00 0.00 0.00 04:14:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:15:01 PM lo 8.51 8.51 17.26 17.26 0.00 0.00 0.00 0.00 04:15:01 PM eth0 1.97 1.33 0.55 0.41 0.00 0.00 0.00 0.00 04:15:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:16:01 PM lo 24.51 24.51 7.77 7.77 0.00 0.00 0.00 0.00 04:16:01 PM eth0 1.12 0.98 0.43 0.35 0.00 0.00 0.00 0.00 04:16:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:17:01 PM lo 20.55 20.55 5.98 5.98 0.00 0.00 0.00 0.00 04:17:01 PM eth0 1.13 1.43 0.29 0.28 0.00 0.00 0.00 0.00 04:17:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:18:01 PM lo 10.04 10.04 2.60 2.60 0.00 0.00 0.00 0.00 04:18:01 PM eth0 0.70 0.88 0.12 0.13 0.00 0.00 0.00 0.00 04:18:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:19:01 PM lo 29.40 29.40 10.10 10.10 0.00 0.00 0.00 0.00 04:19:01 PM eth0 0.98 1.25 0.38 0.18 0.00 0.00 0.00 0.00 04:19:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:20:01 PM lo 28.70 28.70 8.32 8.32 0.00 0.00 0.00 0.00 04:20:01 PM eth0 1.68 1.48 0.37 0.30 0.00 0.00 0.00 0.00 04:20:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:21:01 PM lo 15.79 15.79 4.90 4.90 0.00 0.00 0.00 0.00 04:21:01 PM eth0 1.52 0.90 0.50 0.36 0.00 0.00 0.00 0.00 04:21:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:22:01 PM lo 13.14 13.14 3.74 3.74 0.00 0.00 0.00 0.00 04:22:01 PM eth0 2.47 2.65 1.32 1.09 0.00 0.00 0.00 0.00 04:22:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:23:01 PM lo 15.21 15.21 10.25 10.25 0.00 0.00 0.00 0.00 04:23:01 PM eth0 1.55 1.83 0.31 0.30 0.00 0.00 0.00 0.00 04:23:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:24:01 PM lo 12.77 12.77 4.70 4.70 0.00 0.00 0.00 0.00 04:24:01 PM eth0 0.88 0.95 0.12 0.13 0.00 0.00 0.00 0.00 04:24:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:25:01 PM lo 16.29 16.29 8.09 8.09 0.00 0.00 0.00 0.00 04:25:01 PM eth0 0.88 1.18 0.17 0.18 0.00 0.00 0.00 0.00 04:25:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:26:01 PM lo 15.49 15.49 6.25 6.25 0.00 0.00 0.00 0.00 04:26:01 PM eth0 1.00 1.38 0.20 0.22 0.00 0.00 0.00 0.00 04:26:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:27:01 PM lo 4.89 4.89 6.27 6.27 0.00 0.00 0.00 0.00 04:27:01 PM eth0 0.88 0.85 0.21 0.20 0.00 0.00 0.00 0.00 04:27:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:28:01 PM lo 7.58 7.58 3.04 3.04 0.00 0.00 0.00 0.00 04:28:01 PM eth0 0.42 0.42 0.06 0.06 0.00 0.00 0.00 0.00 04:28:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:29:01 PM lo 3.10 3.10 0.59 0.59 0.00 0.00 0.00 0.00 04:29:01 PM eth0 0.53 0.50 0.10 0.09 0.00 0.00 0.00 0.00 04:29:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:30:01 PM lo 28.82 28.82 14.64 14.64 0.00 0.00 0.00 0.00 04:30:01 PM eth0 0.83 0.80 0.11 0.11 0.00 0.00 0.00 0.00 04:30:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:01 PM lo 19.70 19.70 8.40 8.40 0.00 0.00 0.00 0.00 04:31:01 PM eth0 1.15 1.50 0.22 0.23 0.00 0.00 0.00 0.00 04:31:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:32:01 PM lo 11.06 11.06 14.65 14.65 0.00 0.00 0.00 0.00 04:32:01 PM eth0 1.30 0.72 0.29 0.23 0.00 0.00 0.00 0.00 04:32:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:33:01 PM lo 10.94 10.94 5.38 5.38 0.00 0.00 0.00 0.00 04:33:01 PM eth0 1.40 1.27 0.44 0.37 0.00 0.00 0.00 0.00 04:33:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:34:02 PM lo 34.29 34.29 14.14 14.14 0.00 0.00 0.00 0.00 04:34:02 PM eth0 0.78 0.73 0.14 0.13 0.00 0.00 0.00 0.00 04:34:02 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:35:01 PM lo 39.82 39.82 12.22 12.22 0.00 0.00 0.00 0.00 04:35:01 PM eth0 0.54 0.47 0.10 0.09 0.00 0.00 0.00 0.00 04:35:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:36:01 PM lo 18.17 18.17 5.75 5.75 0.00 0.00 0.00 0.00 04:36:01 PM eth0 0.72 0.70 0.12 0.12 0.00 0.00 0.00 0.00 04:36:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:37:01 PM lo 29.95 29.95 21.70 21.70 0.00 0.00 0.00 0.00 04:37:01 PM eth0 0.98 1.02 0.21 0.21 0.00 0.00 0.00 0.00 04:37:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:38:01 PM lo 5.08 5.08 3.25 3.25 0.00 0.00 0.00 0.00 04:38:01 PM eth0 0.72 0.58 0.13 0.11 0.00 0.00 0.00 0.00 04:38:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:39:01 PM lo 18.98 18.98 9.43 9.43 0.00 0.00 0.00 0.00 04:39:01 PM eth0 0.47 0.45 0.10 0.09 0.00 0.00 0.00 0.00 04:39:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:40:01 PM lo 23.37 23.37 10.16 10.16 0.00 0.00 0.00 0.00 04:40:01 PM eth0 1.23 0.63 0.40 0.28 0.00 0.00 0.00 0.00 04:40:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:41:01 PM lo 14.88 14.88 6.51 6.51 0.00 0.00 0.00 0.00 04:41:01 PM eth0 2.77 3.08 1.74 0.34 0.00 0.00 0.00 0.00 04:41:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:42:01 PM lo 8.23 8.23 4.31 4.31 0.00 0.00 0.00 0.00 04:42:01 PM eth0 0.52 0.40 0.15 0.13 0.00 0.00 0.00 0.00 04:42:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:43:01 PM lo 17.26 17.26 8.69 8.69 0.00 0.00 0.00 0.00 04:43:01 PM eth0 0.62 0.57 0.12 0.11 0.00 0.00 0.00 0.00 04:43:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:44:01 PM lo 20.91 20.91 7.07 7.07 0.00 0.00 0.00 0.00 04:44:01 PM eth0 0.60 0.67 0.11 0.11 0.00 0.00 0.00 0.00 04:44:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:45:01 PM lo 33.32 33.32 12.99 12.99 0.00 0.00 0.00 0.00 04:45:01 PM eth0 0.83 0.98 0.13 0.13 0.00 0.00 0.00 0.00 04:45:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:46:01 PM lo 18.73 18.73 6.39 6.39 0.00 0.00 0.00 0.00 04:46:01 PM eth0 0.53 0.73 0.11 0.11 0.00 0.00 0.00 0.00 04:46:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:47:01 PM lo 52.72 52.72 16.76 16.76 0.00 0.00 0.00 0.00 04:47:01 PM eth0 0.45 0.48 0.13 0.12 0.00 0.00 0.00 0.00 04:47:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:48:01 PM lo 24.63 24.63 7.56 7.56 0.00 0.00 0.00 0.00 04:48:01 PM eth0 0.48 0.57 0.18 0.08 0.00 0.00 0.00 0.00 04:48:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:49:01 PM lo 30.32 30.32 9.35 9.35 0.00 0.00 0.00 0.00 04:49:01 PM eth0 0.30 0.30 0.04 0.04 0.00 0.00 0.00 0.00 04:49:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:50:01 PM lo 37.16 37.16 12.17 12.17 0.00 0.00 0.00 0.00 04:50:01 PM eth0 0.12 0.08 0.01 0.01 0.00 0.00 0.00 0.00 04:50:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:51:01 PM lo 62.11 62.11 19.54 19.54 0.00 0.00 0.00 0.00 04:51:01 PM eth0 0.10 0.05 0.00 0.00 0.00 0.00 0.00 0.00 04:51:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:52:01 PM lo 2.58 2.58 0.83 0.83 0.00 0.00 0.00 0.00 04:52:01 PM eth0 1.21 1.13 0.43 0.36 0.00 0.00 0.00 0.00 04:52:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:53:01 PM lo 22.21 22.21 22.11 22.11 0.00 0.00 0.00 0.00 04:53:01 PM eth0 0.63 0.87 0.14 0.14 0.00 0.00 0.00 0.00 04:53:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:54:01 PM lo 32.28 32.28 13.66 13.66 0.00 0.00 0.00 0.00 04:54:01 PM eth0 0.60 0.78 0.12 0.12 0.00 0.00 0.00 0.00 04:54:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:55:01 PM lo 22.56 22.56 10.74 10.74 0.00 0.00 0.00 0.00 04:55:01 PM eth0 0.53 0.75 0.11 0.12 0.00 0.00 0.00 0.00 04:55:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:56:01 PM lo 21.85 21.85 8.87 8.87 0.00 0.00 0.00 0.00 04:56:01 PM eth0 0.55 0.75 0.11 0.12 0.00 0.00 0.00 0.00 04:56:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:57:01 PM lo 32.49 32.49 10.99 10.99 0.00 0.00 0.00 0.00 04:57:01 PM eth0 0.57 0.65 0.17 0.16 0.00 0.00 0.00 0.00 04:57:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:01 PM lo 17.49 17.49 8.36 8.36 0.00 0.00 0.00 0.00 04:58:01 PM eth0 0.83 0.97 0.27 0.16 0.00 0.00 0.00 0.00 04:58:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:59:01 PM lo 20.88 20.88 8.29 8.29 0.00 0.00 0.00 0.00 04:59:01 PM eth0 0.35 0.30 0.06 0.06 0.00 0.00 0.00 0.00 04:59:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:00:01 PM lo 3.88 3.88 2.12 2.12 0.00 0.00 0.00 0.00 05:00:01 PM eth0 0.93 0.88 0.14 0.13 0.00 0.00 0.00 0.00 05:00:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:01:01 PM lo 22.46 22.46 22.68 22.68 0.00 0.00 0.00 0.00 05:01:01 PM eth0 0.55 0.53 0.11 0.10 0.00 0.00 0.00 0.00 05:01:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:02:01 PM lo 34.47 34.47 15.41 15.41 0.00 0.00 0.00 0.00 05:02:01 PM eth0 0.65 0.58 0.18 0.16 0.00 0.00 0.00 0.00 05:02:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:03:01 PM lo 15.53 15.53 7.72 7.72 0.00 0.00 0.00 0.00 05:03:01 PM eth0 0.42 0.50 0.08 0.08 0.00 0.00 0.00 0.00 05:03:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:04:01 PM lo 19.09 19.09 10.91 10.91 0.00 0.00 0.00 0.00 05:04:01 PM eth0 0.53 0.75 0.11 0.12 0.00 0.00 0.00 0.00 05:04:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:05:01 PM lo 13.00 13.00 7.62 7.62 0.00 0.00 0.00 0.00 05:05:01 PM eth0 0.52 0.67 0.10 0.10 0.00 0.00 0.00 0.00 05:05:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:06:01 PM lo 6.68 6.68 4.89 4.89 0.00 0.00 0.00 0.00 05:06:01 PM eth0 0.35 0.43 0.06 0.07 0.00 0.00 0.00 0.00 05:06:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:07:01 PM lo 23.54 23.54 11.96 11.96 0.00 0.00 0.00 0.00 05:07:01 PM eth0 0.60 0.57 0.17 0.15 0.00 0.00 0.00 0.00 05:07:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:08:01 PM lo 8.75 8.75 6.09 6.09 0.00 0.00 0.00 0.00 05:08:01 PM eth0 0.40 0.35 0.07 0.06 0.00 0.00 0.00 0.00 05:08:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:09:01 PM lo 35.77 35.77 12.98 12.98 0.00 0.00 0.00 0.00 05:09:01 PM eth0 0.28 0.28 0.06 0.05 0.00 0.00 0.00 0.00 05:09:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:10:01 PM lo 4.25 4.25 2.54 2.54 0.00 0.00 0.00 0.00 05:10:01 PM eth0 146.15 72.29 1982.71 5.57 0.00 0.00 0.00 0.00 05:10:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:11:01 PM lo 31.24 31.24 32.99 32.99 0.00 0.00 0.00 0.00 05:11:01 PM eth0 0.52 0.50 0.06 0.06 0.00 0.00 0.00 0.00 05:11:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:12:01 PM lo 13.08 13.08 6.84 6.84 0.00 0.00 0.00 0.00 05:12:01 PM eth0 1.18 1.12 0.30 0.27 0.00 0.00 0.00 0.00 05:12:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:13:01 PM lo 21.95 21.95 6.50 6.50 0.00 0.00 0.00 0.00 05:13:01 PM eth0 0.70 0.68 0.12 0.11 0.00 0.00 0.00 0.00 05:13:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:14:01 PM lo 5.23 5.23 2.57 2.57 0.00 0.00 0.00 0.00 05:14:01 PM eth0 0.43 0.38 0.05 0.04 0.00 0.00 0.00 0.00 05:14:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:15:01 PM lo 31.19 31.19 9.87 9.87 0.00 0.00 0.00 0.00 05:15:01 PM eth0 0.75 0.72 0.15 0.14 0.00 0.00 0.00 0.00 05:15:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:16:01 PM lo 3.83 3.83 1.69 1.69 0.00 0.00 0.00 0.00 05:16:01 PM eth0 0.73 0.75 0.15 0.15 0.00 0.00 0.00 0.00 05:16:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:17:01 PM lo 9.71 9.71 3.98 3.98 0.00 0.00 0.00 0.00 05:17:01 PM eth0 1.20 1.48 0.29 0.29 0.00 0.00 0.00 0.00 05:17:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:18:02 PM lo 2.60 2.60 1.81 1.81 0.00 0.00 0.00 0.00 05:18:02 PM eth0 0.52 0.73 0.11 0.11 0.00 0.00 0.00 0.00 05:18:02 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:19:01 PM lo 15.22 15.22 4.14 4.14 0.00 0.00 0.00 0.00 05:19:01 PM eth0 0.20 0.27 0.03 0.04 0.00 0.00 0.00 0.00 05:19:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:20:01 PM lo 4.92 4.92 1.60 1.60 0.00 0.00 0.00 0.00 05:20:01 PM eth0 0.78 1.07 0.16 0.16 0.00 0.00 0.00 0.00 05:20:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:21:01 PM lo 0.43 0.43 0.09 0.09 0.00 0.00 0.00 0.00 05:21:01 PM eth0 0.07 0.05 0.00 0.00 0.00 0.00 0.00 0.00 05:21:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:22:01 PM lo 1.33 1.33 0.42 0.42 0.00 0.00 0.00 0.00 05:22:01 PM eth0 0.22 0.10 0.08 0.06 0.00 0.00 0.00 0.00 05:22:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:23:01 PM lo 0.38 0.38 0.06 0.06 0.00 0.00 0.00 0.00 05:23:01 PM eth0 0.12 0.08 0.01 0.01 0.00 0.00 0.00 0.00 05:23:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:24:01 PM lo 3.90 3.90 1.03 1.03 0.00 0.00 0.00 0.00 05:24:01 PM eth0 0.05 0.02 0.00 0.00 0.00 0.00 0.00 0.00 05:24:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:25:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:25:01 PM eth0 0.83 0.20 0.16 0.07 0.00 0.00 0.00 0.00 05:25:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:26:01 PM lo 0.58 0.58 0.11 0.11 0.00 0.00 0.00 0.00 05:26:01 PM eth0 0.43 0.27 0.26 0.20 0.00 0.00 0.00 0.00 05:26:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:27:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:27:01 PM eth0 0.17 0.08 0.08 0.06 0.00 0.00 0.00 0.00 05:27:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:28:01 PM lo 0.25 0.25 0.05 0.05 0.00 0.00 0.00 0.00 05:28:01 PM eth0 0.08 0.07 0.00 0.00 0.00 0.00 0.00 0.00 05:28:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:29:01 PM lo 0.22 0.22 0.02 0.02 0.00 0.00 0.00 0.00 05:29:01 PM eth0 0.12 0.12 0.01 0.01 0.00 0.00 0.00 0.00 05:29:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:30:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:30:01 PM eth0 0.13 0.07 0.01 0.00 0.00 0.00 0.00 0.00 05:30:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:31:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:31:01 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:31:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:32:01 PM lo 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 05:32:01 PM eth0 3.10 3.20 1.68 3.89 0.00 0.00 0.00 0.00 05:32:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:33:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:33:01 PM eth0 140.56 115.53 1642.46 20.12 0.00 0.00 0.00 0.00 05:33:01 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 12.39 12.39 5.97 5.97 0.00 0.00 0.00 0.00 Average: eth0 18.32 12.47 235.43 1.93 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 4.18.0-536.el8.x86_64 (centos-stream-8-builder-37d44b9c-5feb-4b6f-a60e-fe1022bf91ff.nov) 02/27/2024 _x86_64_ (4 CPU) 15:30:44 LINUX RESTART (4 CPU) 03:31:03 PM CPU %user %nice %system %iowait %steal %idle 03:32:01 PM all 20.18 0.00 4.52 3.44 0.09 71.76 03:32:01 PM 0 32.60 0.00 5.78 6.21 0.10 55.30 03:32:01 PM 1 10.66 0.00 3.66 1.08 0.07 84.54 03:32:01 PM 2 19.23 0.00 3.94 4.10 0.07 72.67 03:32:01 PM 3 18.23 0.00 4.71 2.38 0.12 74.55 03:33:01 PM all 23.78 0.00 3.87 1.65 0.08 70.61 03:33:01 PM 0 16.43 0.00 2.42 0.75 0.08 80.31 03:33:01 PM 1 30.59 0.00 4.40 2.11 0.08 62.82 03:33:01 PM 2 27.28 0.00 4.36 1.83 0.08 66.44 03:33:01 PM 3 20.84 0.00 4.29 1.93 0.08 72.86 03:34:01 PM all 63.81 0.62 10.06 6.35 0.14 19.03 03:34:01 PM 0 63.69 0.61 10.71 5.65 0.13 19.22 03:34:01 PM 1 64.88 0.82 9.87 6.05 0.15 18.23 03:34:01 PM 2 65.72 0.58 10.99 6.72 0.14 15.85 03:34:01 PM 3 60.97 0.47 8.67 6.99 0.12 22.77 03:35:01 PM all 59.55 0.97 14.82 4.23 0.12 20.31 03:35:01 PM 0 55.09 0.91 15.54 3.25 0.12 25.09 03:35:01 PM 1 60.92 1.50 15.38 5.14 0.14 16.93 03:35:01 PM 2 56.88 0.63 15.87 5.96 0.12 20.54 03:35:01 PM 3 65.28 0.86 12.51 2.58 0.10 18.68 03:36:01 PM all 35.96 0.56 14.90 5.60 0.10 42.88 03:36:01 PM 0 28.06 0.25 9.97 7.01 0.13 54.57 03:36:01 PM 1 38.32 0.90 21.46 5.68 0.08 33.55 03:36:01 PM 2 46.50 0.40 12.72 3.96 0.08 36.34 03:36:01 PM 3 30.96 0.67 15.45 5.76 0.10 47.06 03:37:01 PM all 67.15 0.00 5.46 17.45 0.10 9.83 03:37:01 PM 0 67.42 0.00 5.37 10.98 0.10 16.13 03:37:01 PM 1 58.30 0.00 6.27 24.19 0.10 11.14 03:37:01 PM 2 61.65 0.00 5.58 28.75 0.12 3.90 03:37:01 PM 3 81.28 0.00 4.63 5.84 0.10 8.15 03:38:01 PM all 81.94 0.00 4.23 6.53 0.11 7.18 03:38:01 PM 0 78.54 0.00 4.68 7.31 0.12 9.35 03:38:01 PM 1 86.86 0.00 3.98 5.23 0.12 3.81 03:38:01 PM 2 76.09 0.00 4.24 9.20 0.12 10.36 03:38:01 PM 3 86.29 0.00 4.04 4.36 0.10 5.21 03:39:01 PM all 72.39 0.00 2.90 0.58 0.13 24.00 03:39:01 PM 0 57.60 0.00 3.21 1.11 0.13 37.95 03:39:01 PM 1 73.69 0.00 3.62 0.34 0.12 22.24 03:39:01 PM 2 82.22 0.00 2.25 0.72 0.13 14.68 03:39:01 PM 3 76.03 0.00 2.54 0.17 0.12 21.14 03:40:01 PM all 38.12 0.00 1.62 0.90 0.13 59.24 03:40:01 PM 0 38.73 0.00 1.56 0.64 0.15 58.93 03:40:01 PM 1 37.48 0.00 1.81 1.19 0.12 59.41 03:40:01 PM 2 37.65 0.00 1.59 1.07 0.12 59.57 03:40:01 PM 3 38.61 0.00 1.53 0.69 0.13 59.04 03:41:01 PM all 44.25 0.00 2.64 0.92 0.13 52.06 03:41:01 PM 0 48.27 0.00 1.96 0.92 0.10 48.75 03:41:01 PM 1 40.96 0.00 3.18 0.97 0.13 54.75 03:41:01 PM 2 44.40 0.00 2.57 0.71 0.13 52.19 03:41:01 PM 3 43.35 0.00 2.85 1.07 0.15 52.57 03:42:01 PM all 82.38 0.00 2.81 1.87 0.10 12.83 03:42:01 PM 0 85.15 0.00 2.54 1.00 0.08 11.22 03:42:01 PM 1 82.29 0.00 2.93 1.04 0.10 13.64 03:42:01 PM 2 77.51 0.00 3.34 3.09 0.13 15.93 03:42:01 PM 3 84.55 0.00 2.43 2.38 0.10 10.54 03:42:01 PM CPU %user %nice %system %iowait %steal %idle 03:43:01 PM all 53.34 0.00 1.69 1.34 0.13 43.50 03:43:01 PM 0 51.94 0.00 1.51 0.40 0.15 46.00 03:43:01 PM 1 52.70 0.00 2.25 1.78 0.12 43.15 03:43:01 PM 2 53.54 0.00 1.58 0.79 0.13 43.97 03:43:01 PM 3 55.20 0.00 1.44 2.38 0.12 40.86 03:44:01 PM all 10.06 0.00 0.59 0.05 0.11 89.19 03:44:01 PM 0 9.56 0.00 0.65 0.07 0.12 89.60 03:44:01 PM 1 9.77 0.00 0.70 0.03 0.10 89.39 03:44:01 PM 2 10.72 0.00 0.52 0.03 0.12 88.61 03:44:01 PM 3 10.20 0.00 0.50 0.05 0.10 89.15 03:45:01 PM all 3.00 0.00 0.48 0.05 0.10 96.37 03:45:01 PM 0 2.65 0.00 0.44 0.02 0.10 96.80 03:45:01 PM 1 3.14 0.00 0.50 0.12 0.12 96.13 03:45:01 PM 2 3.05 0.00 0.50 0.02 0.10 96.33 03:45:01 PM 3 3.17 0.00 0.47 0.05 0.10 96.21 03:46:01 PM all 30.57 0.00 1.50 0.55 0.12 67.26 03:46:01 PM 0 25.71 0.00 1.66 0.47 0.12 72.04 03:46:01 PM 1 30.62 0.00 1.22 0.33 0.10 67.72 03:46:01 PM 2 33.51 0.00 1.58 0.07 0.12 64.73 03:46:01 PM 3 32.43 0.00 1.56 1.34 0.13 64.54 03:47:01 PM all 43.24 0.00 1.60 24.81 0.13 30.22 03:47:01 PM 0 40.88 0.00 1.78 32.02 0.13 25.18 03:47:01 PM 1 44.52 0.00 1.81 1.16 0.13 52.37 03:47:01 PM 2 41.20 0.00 1.79 32.38 0.12 24.51 03:47:01 PM 3 46.36 0.00 1.02 33.61 0.12 18.89 03:48:01 PM all 2.02 0.00 0.39 0.10 0.10 97.38 03:48:01 PM 0 1.84 0.00 0.35 0.42 0.08 97.30 03:48:01 PM 1 2.65 0.00 0.40 0.00 0.12 96.84 03:48:01 PM 2 1.73 0.00 0.44 0.00 0.08 97.75 03:48:01 PM 3 1.86 0.00 0.39 0.00 0.12 97.64 03:49:01 PM all 1.28 0.00 0.39 0.51 0.09 97.73 03:49:01 PM 0 1.04 0.00 0.35 1.10 0.10 97.41 03:49:01 PM 1 1.49 0.00 0.37 0.82 0.08 97.24 03:49:01 PM 2 1.41 0.00 0.44 0.00 0.08 98.07 03:49:01 PM 3 1.19 0.00 0.40 0.12 0.08 98.21 03:50:01 PM all 2.48 0.00 0.45 0.28 0.14 96.65 03:50:01 PM 0 2.41 0.00 0.40 0.62 0.27 96.29 03:50:01 PM 1 3.25 0.00 0.52 0.49 0.08 95.66 03:50:01 PM 2 2.04 0.00 0.45 0.00 0.10 97.40 03:50:01 PM 3 2.20 0.00 0.43 0.00 0.10 97.27 03:51:01 PM all 3.85 0.00 0.41 0.02 0.09 95.63 03:51:01 PM 0 2.78 0.00 0.45 0.00 0.10 96.67 03:51:01 PM 1 4.20 0.00 0.38 0.05 0.08 95.28 03:51:01 PM 2 4.33 0.00 0.39 0.00 0.10 95.18 03:51:01 PM 3 4.09 0.00 0.42 0.03 0.08 95.37 03:52:02 PM all 0.90 0.00 0.41 0.27 0.10 98.32 03:52:02 PM 0 0.74 0.00 0.33 0.00 0.10 98.83 03:52:02 PM 1 1.32 0.00 0.47 0.05 0.10 98.06 03:52:02 PM 2 0.80 0.00 0.47 0.85 0.08 97.79 03:52:02 PM 3 0.72 0.00 0.39 0.18 0.10 98.61 03:53:01 PM all 2.02 0.00 0.39 0.09 0.10 97.41 03:53:01 PM 0 2.11 0.00 0.32 0.00 0.08 97.49 03:53:01 PM 1 1.72 0.00 0.43 0.17 0.10 97.58 03:53:01 PM 2 2.28 0.00 0.46 0.00 0.10 97.16 03:53:01 PM 3 1.96 0.00 0.34 0.19 0.10 97.41 03:53:01 PM CPU %user %nice %system %iowait %steal %idle 03:54:01 PM all 1.86 0.00 0.41 0.03 0.10 97.60 03:54:01 PM 0 1.77 0.00 0.40 0.02 0.12 97.69 03:54:01 PM 1 1.36 0.00 0.50 0.08 0.12 97.94 03:54:01 PM 2 2.28 0.00 0.39 0.00 0.10 97.24 03:54:01 PM 3 2.03 0.00 0.37 0.00 0.08 97.52 03:55:01 PM all 1.21 0.00 0.38 0.00 0.08 98.33 03:55:01 PM 0 1.04 0.00 0.37 0.00 0.08 98.51 03:55:01 PM 1 1.54 0.00 0.32 0.00 0.08 98.06 03:55:01 PM 2 1.27 0.00 0.38 0.00 0.07 98.28 03:55:01 PM 3 1.00 0.00 0.43 0.00 0.08 98.48 03:56:01 PM all 0.49 0.00 0.23 0.00 0.08 99.21 03:56:01 PM 0 0.45 0.00 0.23 0.02 0.08 99.22 03:56:01 PM 1 0.82 0.00 0.22 0.00 0.08 98.88 03:56:01 PM 2 0.38 0.00 0.22 0.00 0.07 99.33 03:56:01 PM 3 0.30 0.00 0.23 0.00 0.07 99.40 03:57:01 PM all 2.42 0.00 0.26 0.00 0.10 97.22 03:57:01 PM 0 2.32 0.00 0.27 0.00 0.08 97.33 03:57:01 PM 1 2.81 0.00 0.23 0.00 0.08 96.87 03:57:01 PM 2 2.56 0.00 0.28 0.00 0.13 97.02 03:57:01 PM 3 1.97 0.00 0.27 0.00 0.08 97.67 03:58:01 PM all 0.49 0.00 0.24 0.01 0.09 99.17 03:58:01 PM 0 0.65 0.00 0.20 0.00 0.08 99.07 03:58:01 PM 1 0.42 0.00 0.27 0.00 0.10 99.21 03:58:01 PM 2 0.48 0.00 0.25 0.00 0.08 99.18 03:58:01 PM 3 0.40 0.00 0.23 0.05 0.08 99.23 03:59:01 PM all 1.96 0.00 0.23 0.03 0.10 97.68 03:59:01 PM 0 1.87 0.00 0.22 0.00 0.08 97.83 03:59:01 PM 1 1.64 0.00 0.28 0.00 0.12 97.96 03:59:01 PM 2 1.96 0.00 0.27 0.00 0.10 97.68 03:59:01 PM 3 2.37 0.00 0.17 0.12 0.08 97.26 04:00:01 PM all 1.55 0.00 0.25 0.01 0.09 98.09 04:00:01 PM 0 1.07 0.00 0.23 0.02 0.10 98.58 04:00:01 PM 1 1.75 0.00 0.25 0.00 0.08 97.91 04:00:01 PM 2 1.30 0.00 0.27 0.00 0.10 98.33 04:00:01 PM 3 2.09 0.00 0.25 0.03 0.08 97.54 04:01:01 PM all 2.34 0.00 0.28 0.03 0.08 97.26 04:01:01 PM 0 2.67 0.00 0.25 0.12 0.07 96.89 04:01:01 PM 1 2.26 0.00 0.30 0.00 0.10 97.34 04:01:01 PM 2 1.94 0.00 0.30 0.00 0.08 97.67 04:01:01 PM 3 2.49 0.00 0.27 0.02 0.08 97.14 04:02:01 PM all 0.84 0.00 0.26 0.03 0.09 98.78 04:02:01 PM 0 0.53 0.00 0.28 0.00 0.10 99.08 04:02:01 PM 1 0.95 0.00 0.23 0.07 0.08 98.66 04:02:01 PM 2 1.02 0.00 0.32 0.02 0.10 98.55 04:02:01 PM 3 0.87 0.00 0.20 0.02 0.08 98.83 04:03:01 PM all 1.18 0.00 0.24 0.02 0.09 98.47 04:03:01 PM 0 1.13 0.00 0.18 0.00 0.08 98.60 04:03:01 PM 1 1.30 0.00 0.28 0.00 0.10 98.31 04:03:01 PM 2 0.84 0.00 0.25 0.07 0.08 98.76 04:03:01 PM 3 1.44 0.00 0.25 0.00 0.10 98.21 04:04:01 PM all 0.56 0.00 0.25 0.00 0.09 99.11 04:04:01 PM 0 0.43 0.00 0.20 0.00 0.07 99.30 04:04:01 PM 1 0.70 0.00 0.25 0.00 0.10 98.95 04:04:01 PM 2 0.45 0.00 0.28 0.00 0.12 99.15 04:04:01 PM 3 0.64 0.00 0.25 0.00 0.08 99.03 04:04:01 PM CPU %user %nice %system %iowait %steal %idle 04:05:01 PM all 1.44 0.00 0.25 0.00 0.08 98.22 04:05:01 PM 0 1.40 0.00 0.22 0.00 0.08 98.30 04:05:01 PM 1 1.47 0.00 0.20 0.00 0.08 98.25 04:05:01 PM 2 1.22 0.00 0.32 0.00 0.08 98.38 04:05:01 PM 3 1.67 0.00 0.27 0.00 0.08 97.98 04:06:01 PM all 0.59 0.00 0.22 0.00 0.08 99.11 04:06:01 PM 0 0.83 0.00 0.15 0.00 0.08 98.93 04:06:01 PM 1 0.45 0.00 0.32 0.00 0.08 99.15 04:06:01 PM 2 0.50 0.00 0.25 0.00 0.10 99.15 04:06:01 PM 3 0.55 0.00 0.15 0.00 0.07 99.23 04:07:01 PM all 0.63 0.00 0.24 0.00 0.10 99.03 04:07:01 PM 0 0.68 0.00 0.23 0.00 0.08 99.00 04:07:01 PM 1 0.47 0.00 0.30 0.02 0.13 99.08 04:07:01 PM 2 0.45 0.00 0.27 0.00 0.12 99.16 04:07:01 PM 3 0.92 0.00 0.15 0.00 0.07 98.86 04:08:01 PM all 0.56 0.00 0.25 0.00 0.09 99.09 04:08:01 PM 0 0.35 0.00 0.20 0.00 0.08 99.37 04:08:01 PM 1 0.57 0.00 0.35 0.00 0.12 98.96 04:08:01 PM 2 0.43 0.00 0.27 0.02 0.08 99.20 04:08:01 PM 3 0.90 0.00 0.17 0.00 0.08 98.85 04:09:01 PM all 0.56 0.00 0.23 0.00 0.10 99.10 04:09:01 PM 0 0.48 0.00 0.18 0.00 0.10 99.23 04:09:01 PM 1 0.45 0.00 0.28 0.02 0.10 99.15 04:09:01 PM 2 0.55 0.00 0.27 0.00 0.12 99.06 04:09:01 PM 3 0.77 0.00 0.18 0.00 0.10 98.95 04:10:01 PM all 0.48 0.00 0.23 0.00 0.10 99.18 04:10:01 PM 0 0.30 0.00 0.20 0.00 0.08 99.42 04:10:01 PM 1 0.47 0.00 0.33 0.00 0.10 99.10 04:10:01 PM 2 0.43 0.00 0.17 0.02 0.08 99.30 04:10:01 PM 3 0.74 0.00 0.23 0.00 0.12 98.91 04:11:01 PM all 0.49 0.00 0.25 0.01 0.10 99.15 04:11:01 PM 0 0.48 0.00 0.30 0.02 0.12 99.08 04:11:01 PM 1 0.43 0.00 0.27 0.00 0.10 99.20 04:11:01 PM 2 0.42 0.00 0.20 0.00 0.08 99.30 04:11:01 PM 3 0.64 0.00 0.22 0.02 0.12 99.01 04:12:01 PM all 0.51 0.00 0.22 0.02 0.10 99.15 04:12:01 PM 0 0.85 0.00 0.15 0.00 0.08 98.92 04:12:01 PM 1 0.38 0.00 0.22 0.08 0.10 99.21 04:12:01 PM 2 0.49 0.00 0.27 0.00 0.10 99.15 04:12:01 PM 3 0.32 0.00 0.25 0.00 0.10 99.33 04:13:01 PM all 0.50 0.00 0.23 0.05 0.10 99.12 04:13:01 PM 0 0.63 0.00 0.22 0.00 0.10 99.05 04:13:01 PM 1 0.40 0.00 0.23 0.00 0.10 99.26 04:13:01 PM 2 0.45 0.00 0.27 0.10 0.12 99.06 04:13:01 PM 3 0.50 0.00 0.22 0.08 0.10 99.10 04:14:01 PM all 30.53 0.00 1.80 0.35 0.10 67.22 04:14:01 PM 0 33.00 0.00 3.18 0.77 0.10 62.95 04:14:01 PM 1 28.66 0.00 1.66 0.30 0.10 69.28 04:14:01 PM 2 30.75 0.00 1.34 0.07 0.10 67.74 04:14:01 PM 3 29.69 0.00 1.04 0.27 0.10 68.91 04:15:01 PM all 57.67 0.00 1.76 0.73 0.12 39.72 04:15:01 PM 0 62.69 0.00 1.96 0.47 0.12 34.77 04:15:01 PM 1 57.06 0.00 2.36 1.62 0.13 38.82 04:15:01 PM 2 61.22 0.00 1.12 0.10 0.12 37.44 04:15:01 PM 3 49.71 0.00 1.59 0.72 0.12 47.86 04:15:01 PM CPU %user %nice %system %iowait %steal %idle 04:16:01 PM all 10.70 0.00 0.64 0.20 0.08 88.38 04:16:01 PM 0 10.12 0.00 0.80 0.38 0.08 88.61 04:16:01 PM 1 10.89 0.00 0.60 0.12 0.08 88.31 04:16:01 PM 2 10.35 0.00 0.62 0.08 0.08 88.86 04:16:01 PM 3 11.44 0.00 0.52 0.22 0.08 87.73 04:17:01 PM all 3.18 0.00 0.36 0.09 0.08 96.28 04:17:01 PM 0 2.46 0.00 0.38 0.05 0.08 97.02 04:17:01 PM 1 3.33 0.00 0.32 0.10 0.07 96.19 04:17:01 PM 2 3.68 0.00 0.35 0.02 0.10 95.85 04:17:01 PM 3 3.26 0.00 0.40 0.20 0.08 96.05 04:18:01 PM all 46.09 0.00 1.53 0.08 0.11 52.19 04:18:01 PM 0 51.29 0.00 1.07 0.03 0.12 47.49 04:18:01 PM 1 37.85 0.00 2.09 0.15 0.12 59.79 04:18:01 PM 2 50.74 0.00 1.24 0.03 0.10 47.89 04:18:01 PM 3 44.44 0.00 1.72 0.10 0.12 53.61 04:19:01 PM all 22.22 0.00 0.80 0.12 0.10 76.76 04:19:01 PM 0 23.79 0.00 1.02 0.10 0.10 74.99 04:19:01 PM 1 22.03 0.00 0.69 0.05 0.12 77.12 04:19:01 PM 2 19.60 0.00 0.94 0.28 0.12 79.06 04:19:01 PM 3 23.46 0.00 0.55 0.03 0.08 75.87 04:20:01 PM all 3.86 0.00 0.46 0.09 0.10 95.50 04:20:01 PM 0 4.41 0.00 0.37 0.05 0.08 95.08 04:20:01 PM 1 3.80 0.00 0.47 0.17 0.10 95.46 04:20:01 PM 2 3.53 0.00 0.50 0.08 0.10 95.78 04:20:01 PM 3 3.70 0.00 0.49 0.05 0.10 95.66 04:21:01 PM all 45.21 0.00 1.58 0.28 0.11 52.82 04:21:01 PM 0 42.16 0.00 1.27 0.28 0.12 56.17 04:21:01 PM 1 40.93 0.00 1.74 0.44 0.10 56.79 04:21:01 PM 2 49.58 0.00 2.24 0.08 0.13 47.96 04:21:01 PM 3 48.15 0.00 1.07 0.32 0.10 50.36 04:22:01 PM all 34.64 0.00 1.55 0.19 0.10 63.51 04:22:01 PM 0 39.90 0.00 2.34 0.20 0.10 57.46 04:22:01 PM 1 33.77 0.00 0.93 0.07 0.12 65.11 04:22:01 PM 2 35.73 0.00 1.12 0.25 0.10 62.80 04:22:01 PM 3 29.14 0.00 1.83 0.25 0.10 68.68 04:23:01 PM all 28.74 0.00 1.30 0.65 0.10 69.21 04:23:01 PM 0 28.97 0.00 1.25 1.62 0.10 68.05 04:23:01 PM 1 27.04 0.00 1.39 0.72 0.10 70.75 04:23:01 PM 2 32.41 0.00 0.84 0.03 0.08 66.63 04:23:01 PM 3 26.54 0.00 1.71 0.23 0.10 71.42 04:24:01 PM all 61.47 0.00 1.99 0.23 0.11 36.20 04:24:01 PM 0 62.88 0.00 1.30 0.10 0.10 35.62 04:24:01 PM 1 54.73 0.00 2.56 0.30 0.12 42.29 04:24:01 PM 2 63.67 0.00 2.26 0.18 0.12 33.77 04:24:01 PM 3 64.59 0.00 1.82 0.33 0.12 33.13 04:25:01 PM all 24.46 0.00 0.89 0.40 0.10 74.15 04:25:01 PM 0 22.09 0.00 0.87 0.80 0.12 76.12 04:25:01 PM 1 26.75 0.00 1.12 0.30 0.10 71.73 04:25:01 PM 2 26.49 0.00 0.77 0.45 0.10 72.19 04:25:01 PM 3 22.51 0.00 0.79 0.05 0.10 76.55 04:26:01 PM all 14.13 0.00 0.92 0.32 0.11 84.52 04:26:01 PM 0 12.24 0.00 1.24 0.28 0.10 86.14 04:26:01 PM 1 13.16 0.00 1.15 0.42 0.12 85.15 04:26:01 PM 2 16.26 0.00 0.72 0.03 0.12 82.87 04:26:01 PM 3 14.85 0.00 0.59 0.54 0.10 83.93 04:26:01 PM CPU %user %nice %system %iowait %steal %idle 04:27:01 PM all 32.01 0.00 1.21 0.22 0.10 66.46 04:27:01 PM 0 25.81 0.00 1.67 0.15 0.10 72.26 04:27:01 PM 1 34.37 0.00 1.19 0.08 0.10 64.26 04:27:01 PM 2 33.06 0.00 1.27 0.62 0.10 64.95 04:27:01 PM 3 34.79 0.00 0.72 0.02 0.10 64.37 04:28:01 PM all 23.82 0.00 0.77 0.18 0.10 75.15 04:28:01 PM 0 21.86 0.00 0.89 0.25 0.07 76.93 04:28:01 PM 1 25.41 0.00 0.54 0.02 0.12 73.92 04:28:01 PM 2 22.03 0.00 1.00 0.17 0.10 76.70 04:28:01 PM 3 25.96 0.00 0.64 0.27 0.10 73.03 04:29:01 PM all 16.53 0.00 0.79 0.04 0.10 82.55 04:29:01 PM 0 17.33 0.00 1.17 0.02 0.10 81.38 04:29:01 PM 1 18.35 0.00 0.48 0.02 0.10 81.05 04:29:01 PM 2 18.67 0.00 0.55 0.00 0.10 80.68 04:29:01 PM 3 11.75 0.00 0.94 0.12 0.10 87.09 04:30:01 PM all 60.19 0.00 1.99 0.28 0.10 37.45 04:30:01 PM 0 62.28 0.00 1.96 0.35 0.10 35.31 04:30:01 PM 1 53.36 0.00 2.31 0.28 0.10 43.94 04:30:01 PM 2 65.46 0.00 1.49 0.25 0.08 32.72 04:30:01 PM 3 59.67 0.00 2.18 0.22 0.10 37.83 04:31:01 PM all 8.99 0.00 0.70 0.04 0.08 90.18 04:31:01 PM 0 9.38 0.00 0.84 0.05 0.07 89.67 04:31:01 PM 1 8.33 0.00 0.74 0.08 0.08 90.77 04:31:01 PM 2 8.86 0.00 0.59 0.02 0.10 90.44 04:31:01 PM 3 9.41 0.00 0.65 0.02 0.08 89.84 04:32:01 PM all 42.33 0.00 1.27 0.15 0.10 56.15 04:32:01 PM 0 38.97 0.00 1.57 0.54 0.10 58.83 04:32:01 PM 1 43.09 0.00 1.44 0.02 0.08 55.37 04:32:01 PM 2 43.72 0.00 1.27 0.02 0.10 54.89 04:32:01 PM 3 43.56 0.00 0.80 0.02 0.10 55.52 04:33:01 PM all 33.73 0.00 1.31 0.08 0.09 64.79 04:33:01 PM 0 36.01 0.00 0.95 0.07 0.08 62.88 04:33:01 PM 1 32.76 0.00 1.54 0.15 0.10 65.45 04:33:01 PM 2 36.36 0.00 1.04 0.02 0.08 62.50 04:33:01 PM 3 29.78 0.00 1.71 0.07 0.10 68.35 04:34:02 PM all 31.75 0.00 1.05 0.16 0.10 66.94 04:34:02 PM 0 33.95 0.00 0.94 0.08 0.10 64.93 04:34:02 PM 1 30.27 0.00 1.14 0.35 0.12 68.12 04:34:02 PM 2 29.16 0.00 1.11 0.07 0.10 69.56 04:34:02 PM 3 33.60 0.00 1.02 0.13 0.08 65.16 04:35:01 PM all 6.59 0.00 0.46 0.06 0.09 92.80 04:35:01 PM 0 6.58 0.00 0.42 0.08 0.07 92.85 04:35:01 PM 1 7.06 0.00 0.43 0.05 0.09 92.38 04:35:01 PM 2 6.17 0.00 0.51 0.09 0.10 93.14 04:35:01 PM 3 6.55 0.00 0.48 0.03 0.09 92.86 04:36:01 PM all 26.95 0.00 1.23 0.11 0.09 71.62 04:36:01 PM 0 27.10 0.00 1.86 0.17 0.08 70.79 04:36:01 PM 1 28.90 0.00 1.05 0.03 0.08 69.93 04:36:01 PM 2 29.37 0.00 0.84 0.03 0.10 69.66 04:36:01 PM 3 22.43 0.00 1.17 0.22 0.08 76.10 04:37:01 PM all 40.68 0.00 1.19 0.27 0.11 57.75 04:37:01 PM 0 39.93 0.00 1.36 0.69 0.10 57.93 04:37:01 PM 1 40.53 0.00 0.90 0.02 0.12 58.43 04:37:01 PM 2 43.46 0.00 1.10 0.23 0.08 55.11 04:37:01 PM 3 38.82 0.00 1.41 0.13 0.13 59.51 04:37:01 PM CPU %user %nice %system %iowait %steal %idle 04:38:01 PM all 2.22 0.00 0.31 0.01 0.08 97.38 04:38:01 PM 0 2.30 0.00 0.28 0.00 0.10 97.31 04:38:01 PM 1 2.32 0.00 0.30 0.00 0.07 97.31 04:38:01 PM 2 2.12 0.00 0.30 0.00 0.08 97.49 04:38:01 PM 3 2.13 0.00 0.33 0.03 0.08 97.42 04:39:01 PM all 4.17 0.00 0.38 0.18 0.08 95.19 04:39:01 PM 0 4.18 0.00 0.37 0.03 0.05 95.37 04:39:01 PM 1 4.20 0.00 0.45 0.15 0.08 95.12 04:39:01 PM 2 3.91 0.00 0.43 0.42 0.10 95.14 04:39:01 PM 3 4.39 0.00 0.28 0.10 0.08 95.14 04:40:01 PM all 3.58 0.00 0.41 0.22 0.09 95.70 04:40:01 PM 0 3.71 0.00 0.37 0.08 0.08 95.76 04:40:01 PM 1 3.43 0.00 0.35 0.32 0.12 95.79 04:40:01 PM 2 3.16 0.00 0.50 0.35 0.08 95.90 04:40:01 PM 3 4.04 0.00 0.40 0.12 0.08 95.36 04:41:01 PM all 2.32 0.99 0.42 0.33 0.10 95.83 04:41:01 PM 0 2.52 0.02 0.38 0.35 0.10 96.63 04:41:01 PM 1 2.24 0.00 0.40 0.30 0.10 96.95 04:41:01 PM 2 2.22 3.95 0.62 0.47 0.10 92.64 04:41:01 PM 3 2.28 0.00 0.28 0.20 0.12 97.12 04:42:01 PM all 1.54 0.00 0.30 0.03 0.09 98.04 04:42:01 PM 0 1.34 0.00 0.30 0.05 0.08 98.23 04:42:01 PM 1 1.46 0.00 0.30 0.02 0.10 98.13 04:42:01 PM 2 1.60 0.00 0.37 0.02 0.12 97.89 04:42:01 PM 3 1.77 0.00 0.22 0.03 0.07 97.91 04:43:01 PM all 2.20 0.00 0.33 0.08 0.08 97.30 04:43:01 PM 0 2.24 0.00 0.32 0.07 0.07 97.31 04:43:01 PM 1 2.46 0.00 0.35 0.05 0.08 97.05 04:43:01 PM 2 1.89 0.00 0.37 0.12 0.08 97.54 04:43:01 PM 3 2.23 0.00 0.30 0.08 0.10 97.29 04:44:01 PM all 14.38 0.00 0.96 0.13 0.08 84.44 04:44:01 PM 0 11.14 0.00 1.16 0.07 0.08 87.56 04:44:01 PM 1 15.62 0.00 0.79 0.12 0.08 83.39 04:44:01 PM 2 15.83 0.00 0.82 0.05 0.10 83.20 04:44:01 PM 3 14.96 0.00 1.09 0.28 0.07 83.60 04:45:01 PM all 50.15 0.00 1.49 0.27 0.10 47.98 04:45:01 PM 0 50.85 0.00 1.67 0.27 0.10 47.11 04:45:01 PM 1 50.59 0.00 1.10 0.13 0.10 48.07 04:45:01 PM 2 46.46 0.00 1.46 0.60 0.10 51.38 04:45:01 PM 3 52.70 0.00 1.72 0.08 0.12 45.37 04:46:01 PM all 4.22 0.00 0.38 0.33 0.08 95.00 04:46:01 PM 0 3.88 0.00 0.45 0.65 0.08 94.93 04:46:01 PM 1 4.34 0.00 0.35 0.22 0.08 95.01 04:46:01 PM 2 4.13 0.00 0.42 0.33 0.08 95.04 04:46:01 PM 3 4.52 0.00 0.28 0.13 0.05 95.01 04:47:01 PM all 7.42 0.00 0.57 0.26 0.08 91.66 04:47:01 PM 0 6.73 0.00 0.65 0.33 0.08 92.20 04:47:01 PM 1 8.89 0.00 0.47 0.18 0.08 90.38 04:47:01 PM 2 7.42 0.00 0.55 0.39 0.07 91.58 04:47:01 PM 3 6.65 0.00 0.62 0.13 0.10 92.49 04:48:01 PM all 2.98 0.00 0.40 0.12 0.08 96.42 04:48:01 PM 0 2.98 0.00 0.40 0.15 0.08 96.39 04:48:01 PM 1 3.01 0.00 0.38 0.12 0.08 96.40 04:48:01 PM 2 3.36 0.00 0.37 0.10 0.08 96.08 04:48:01 PM 3 2.58 0.00 0.44 0.10 0.08 96.80 04:48:01 PM CPU %user %nice %system %iowait %steal %idle 04:49:01 PM all 2.94 0.00 0.41 0.14 0.08 96.43 04:49:01 PM 0 2.38 0.00 0.47 0.08 0.07 97.01 04:49:01 PM 1 2.81 0.00 0.44 0.23 0.08 96.44 04:49:01 PM 2 3.17 0.00 0.37 0.08 0.08 96.29 04:49:01 PM 3 3.38 0.00 0.37 0.17 0.08 96.00 04:50:01 PM all 3.90 0.00 0.43 0.13 0.08 95.45 04:50:01 PM 0 5.60 0.00 0.35 0.12 0.07 93.87 04:50:01 PM 1 3.31 0.00 0.45 0.27 0.08 95.88 04:50:01 PM 2 3.30 0.00 0.47 0.07 0.10 96.06 04:50:01 PM 3 3.39 0.00 0.45 0.08 0.07 96.01 04:51:01 PM all 4.99 0.00 0.59 0.16 0.08 94.18 04:51:01 PM 0 4.88 0.00 0.64 0.17 0.08 94.23 04:51:01 PM 1 4.64 0.00 0.77 0.34 0.08 94.17 04:51:01 PM 2 5.67 0.00 0.44 0.05 0.07 93.78 04:51:01 PM 3 4.77 0.00 0.52 0.10 0.07 94.54 04:52:01 PM all 59.01 0.00 2.13 0.26 0.12 38.48 04:52:01 PM 0 57.55 0.00 2.77 0.15 0.12 39.42 04:52:01 PM 1 59.32 0.00 2.36 0.23 0.12 37.97 04:52:01 PM 2 58.66 0.00 2.29 0.65 0.12 38.28 04:52:01 PM 3 60.50 0.00 1.10 0.00 0.13 38.26 04:53:01 PM all 17.00 0.00 0.55 0.11 0.09 82.25 04:53:01 PM 0 15.71 0.00 0.62 0.02 0.08 83.57 04:53:01 PM 1 18.34 0.00 0.50 0.08 0.10 80.98 04:53:01 PM 2 16.14 0.00 0.54 0.13 0.10 83.09 04:53:01 PM 3 17.79 0.00 0.54 0.22 0.08 81.37 04:54:01 PM all 11.31 0.00 0.55 0.15 0.08 87.90 04:54:01 PM 0 11.35 0.00 0.55 0.12 0.08 87.89 04:54:01 PM 1 11.19 0.00 0.54 0.17 0.08 88.02 04:54:01 PM 2 11.57 0.00 0.54 0.18 0.08 87.63 04:54:01 PM 3 11.14 0.00 0.59 0.12 0.08 88.08 04:55:01 PM all 7.01 0.00 0.44 0.33 0.08 92.14 04:55:01 PM 0 5.83 0.00 0.55 0.60 0.08 92.93 04:55:01 PM 1 7.03 0.00 0.40 0.23 0.08 92.25 04:55:01 PM 2 7.81 0.00 0.42 0.42 0.08 91.27 04:55:01 PM 3 7.37 0.00 0.39 0.07 0.08 92.10 04:56:01 PM all 3.88 0.00 0.41 0.06 0.08 95.57 04:56:01 PM 0 3.85 0.00 0.44 0.03 0.07 95.62 04:56:01 PM 1 3.57 0.00 0.50 0.03 0.10 95.80 04:56:01 PM 2 3.90 0.00 0.38 0.02 0.10 95.60 04:56:01 PM 3 4.22 0.00 0.30 0.15 0.07 95.27 04:57:01 PM all 4.08 0.00 0.44 0.08 0.07 95.33 04:57:01 PM 0 4.03 0.00 0.40 0.12 0.05 95.40 04:57:01 PM 1 4.41 0.00 0.45 0.07 0.07 95.01 04:57:01 PM 2 4.20 0.00 0.52 0.05 0.07 95.16 04:57:01 PM 3 3.68 0.00 0.40 0.08 0.08 95.75 04:58:01 PM all 2.44 0.00 0.34 0.28 0.09 96.85 04:58:01 PM 0 2.39 0.00 0.37 0.42 0.08 96.74 04:58:01 PM 1 2.84 0.00 0.30 0.17 0.08 96.60 04:58:01 PM 2 2.39 0.00 0.33 0.40 0.10 96.77 04:58:01 PM 3 2.14 0.00 0.35 0.13 0.08 97.29 04:59:01 PM all 2.68 0.00 0.38 0.30 0.08 96.55 04:59:01 PM 0 2.51 0.00 0.30 0.20 0.07 96.93 04:59:01 PM 1 2.68 0.00 0.42 0.32 0.07 96.52 04:59:01 PM 2 2.31 0.00 0.49 0.37 0.10 96.73 04:59:01 PM 3 3.23 0.00 0.33 0.32 0.10 96.02 04:59:01 PM CPU %user %nice %system %iowait %steal %idle 05:00:01 PM all 51.05 0.00 1.92 0.18 0.11 46.74 05:00:01 PM 0 56.47 0.00 1.24 0.23 0.10 41.95 05:00:01 PM 1 53.99 0.00 2.43 0.17 0.12 43.30 05:00:01 PM 2 47.30 0.00 1.61 0.10 0.12 50.87 05:00:01 PM 3 46.43 0.00 2.40 0.20 0.10 50.86 05:01:01 PM all 25.61 0.00 0.82 0.10 0.10 73.38 05:01:01 PM 0 25.76 0.00 0.77 0.03 0.10 73.33 05:01:01 PM 1 28.99 0.00 0.67 0.32 0.08 69.94 05:01:01 PM 2 20.75 0.00 1.02 0.03 0.10 78.10 05:01:01 PM 3 26.90 0.00 0.80 0.03 0.10 72.16 05:02:01 PM all 11.97 0.00 0.60 0.18 0.09 87.16 05:02:01 PM 0 12.27 0.00 0.53 0.15 0.07 86.98 05:02:01 PM 1 11.11 0.00 0.74 0.33 0.10 87.72 05:02:01 PM 2 11.84 0.00 0.62 0.17 0.10 87.27 05:02:01 PM 3 12.64 0.00 0.52 0.08 0.08 86.67 05:03:01 PM all 5.21 0.00 0.35 0.03 0.09 94.32 05:03:01 PM 0 4.32 0.00 0.49 0.07 0.10 95.03 05:03:01 PM 1 5.55 0.00 0.37 0.02 0.08 93.98 05:03:01 PM 2 4.77 0.00 0.28 0.00 0.08 94.86 05:03:01 PM 3 6.21 0.00 0.25 0.03 0.08 93.43 05:04:01 PM all 4.28 0.00 0.41 0.05 0.10 95.16 05:04:01 PM 0 3.73 0.00 0.45 0.08 0.10 95.63 05:04:01 PM 1 4.70 0.00 0.33 0.02 0.08 94.87 05:04:01 PM 2 3.70 0.00 0.49 0.08 0.12 95.61 05:04:01 PM 3 4.98 0.00 0.35 0.03 0.08 94.55 05:05:01 PM all 2.16 0.00 0.32 0.02 0.08 97.42 05:05:01 PM 0 1.99 0.00 0.32 0.03 0.08 97.57 05:05:01 PM 1 2.18 0.00 0.32 0.02 0.08 97.41 05:05:01 PM 2 1.86 0.00 0.39 0.00 0.08 97.67 05:05:01 PM 3 2.63 0.00 0.27 0.02 0.07 97.02 05:06:01 PM all 1.40 0.00 0.31 0.06 0.08 98.16 05:06:01 PM 0 1.17 0.00 0.30 0.12 0.07 98.35 05:06:01 PM 1 1.81 0.00 0.32 0.05 0.08 97.74 05:06:01 PM 2 1.34 0.00 0.30 0.03 0.07 98.26 05:06:01 PM 3 1.27 0.00 0.30 0.03 0.08 98.31 05:07:01 PM all 2.98 0.00 0.38 0.10 0.09 96.45 05:07:01 PM 0 3.12 0.00 0.40 0.15 0.08 96.24 05:07:01 PM 1 2.91 0.00 0.39 0.03 0.08 96.59 05:07:01 PM 2 2.71 0.00 0.40 0.07 0.10 96.72 05:07:01 PM 3 3.17 0.00 0.33 0.15 0.10 96.25 05:08:01 PM all 1.28 0.00 0.30 0.12 0.07 98.23 05:08:01 PM 0 1.14 0.00 0.25 0.20 0.07 98.34 05:08:01 PM 1 1.65 0.00 0.23 0.00 0.07 98.05 05:08:01 PM 2 1.16 0.00 0.37 0.15 0.08 98.24 05:08:01 PM 3 1.19 0.00 0.33 0.13 0.07 98.27 05:09:01 PM all 3.74 0.00 0.46 0.14 0.10 95.57 05:09:01 PM 0 3.16 0.00 0.45 0.15 0.10 96.14 05:09:01 PM 1 4.62 0.00 0.37 0.02 0.10 94.90 05:09:01 PM 2 3.57 0.00 0.52 0.34 0.10 95.48 05:09:01 PM 3 3.60 0.00 0.50 0.05 0.08 95.76 05:10:01 PM all 39.53 0.00 2.09 0.58 0.10 57.71 05:10:01 PM 0 35.56 0.00 2.01 0.49 0.10 61.84 05:10:01 PM 1 32.99 0.00 2.69 1.70 0.08 62.54 05:10:01 PM 2 46.59 0.00 2.43 0.10 0.10 50.78 05:10:01 PM 3 42.95 0.00 1.22 0.03 0.10 55.70 05:10:01 PM CPU %user %nice %system %iowait %steal %idle 05:11:01 PM all 71.73 0.00 2.04 1.27 0.12 24.84 05:11:01 PM 0 77.29 0.00 2.09 0.02 0.12 20.48 05:11:01 PM 1 57.20 0.00 2.11 4.34 0.13 36.21 05:11:01 PM 2 71.22 0.00 2.32 0.42 0.12 25.93 05:11:01 PM 3 81.17 0.00 1.66 0.32 0.10 16.75 05:12:01 PM all 4.24 0.00 0.44 0.29 0.09 94.94 05:12:01 PM 0 3.51 0.00 0.43 0.38 0.08 95.59 05:12:01 PM 1 4.53 0.00 0.50 0.37 0.10 94.49 05:12:01 PM 2 4.00 0.00 0.49 0.35 0.10 95.06 05:12:01 PM 3 4.90 0.00 0.33 0.05 0.08 94.63 05:13:01 PM all 29.27 0.00 1.38 1.04 0.09 68.23 05:13:01 PM 0 31.14 0.00 1.12 0.18 0.08 67.47 05:13:01 PM 1 27.89 0.00 1.88 0.12 0.10 70.02 05:13:01 PM 2 30.15 0.00 1.63 3.52 0.08 64.62 05:13:01 PM 3 27.88 0.00 0.89 0.35 0.08 70.79 05:14:01 PM all 70.12 0.00 1.70 0.36 0.12 27.70 05:14:01 PM 0 69.56 0.00 2.46 0.18 0.10 27.70 05:14:01 PM 1 78.66 0.00 1.74 0.12 0.14 19.35 05:14:01 PM 2 69.10 0.00 1.26 1.02 0.12 28.51 05:14:01 PM 3 63.25 0.00 1.35 0.10 0.12 35.18 05:15:01 PM all 10.99 0.00 0.61 3.07 0.12 85.21 05:15:01 PM 0 10.84 0.00 0.62 2.71 0.10 85.73 05:15:01 PM 1 10.36 0.00 0.62 3.45 0.12 85.44 05:15:01 PM 2 12.02 0.00 0.55 3.40 0.13 83.90 05:15:01 PM 3 10.76 0.00 0.65 2.71 0.12 85.75 05:16:01 PM all 1.18 0.00 0.27 0.15 0.08 98.32 05:16:01 PM 0 1.29 0.00 0.30 0.35 0.08 97.98 05:16:01 PM 1 0.90 0.00 0.30 0.25 0.08 98.46 05:16:01 PM 2 1.37 0.00 0.27 0.00 0.07 98.29 05:16:01 PM 3 1.14 0.00 0.22 0.02 0.07 98.56 05:17:01 PM all 2.08 0.00 0.32 0.00 0.07 97.53 05:17:01 PM 0 2.39 0.00 0.27 0.00 0.07 97.28 05:17:01 PM 1 1.72 0.00 0.42 0.00 0.07 97.79 05:17:01 PM 2 2.17 0.00 0.30 0.00 0.07 97.46 05:17:01 PM 3 2.03 0.00 0.30 0.00 0.07 97.60 05:18:02 PM all 1.20 0.00 0.26 0.00 0.07 98.47 05:18:02 PM 0 1.62 0.00 0.18 0.00 0.05 98.15 05:18:02 PM 1 0.94 0.00 0.28 0.00 0.07 98.71 05:18:02 PM 2 1.41 0.00 0.27 0.00 0.08 98.24 05:18:02 PM 3 0.84 0.00 0.28 0.02 0.08 98.78 05:19:01 PM all 2.53 0.00 0.34 0.00 0.09 97.04 05:19:01 PM 0 2.41 0.00 0.29 0.00 0.08 97.21 05:19:01 PM 1 2.19 0.00 0.39 0.00 0.08 97.33 05:19:01 PM 2 3.59 0.00 0.34 0.00 0.09 95.99 05:19:01 PM 3 1.93 0.00 0.36 0.00 0.09 97.63 05:20:01 PM all 1.50 0.00 0.33 0.32 0.09 97.77 05:20:01 PM 0 1.09 0.00 0.27 0.17 0.08 98.40 05:20:01 PM 1 1.54 0.00 0.42 0.08 0.10 97.86 05:20:01 PM 2 2.06 0.00 0.28 0.50 0.07 97.09 05:20:01 PM 3 1.30 0.00 0.33 0.52 0.12 97.73 05:21:01 PM all 0.60 0.00 0.24 0.04 0.06 99.06 05:21:01 PM 0 0.35 0.00 0.15 0.15 0.05 99.30 05:21:01 PM 1 0.62 0.00 0.32 0.00 0.07 98.99 05:21:01 PM 2 0.94 0.00 0.27 0.00 0.07 98.73 05:21:01 PM 3 0.49 0.00 0.23 0.00 0.07 99.21 05:21:01 PM CPU %user %nice %system %iowait %steal %idle 05:22:01 PM all 0.85 0.00 0.25 0.03 0.07 98.80 05:22:01 PM 0 0.54 0.00 0.22 0.10 0.07 99.08 05:22:01 PM 1 0.79 0.00 0.38 0.00 0.07 98.76 05:22:01 PM 2 1.17 0.00 0.17 0.00 0.07 98.60 05:22:01 PM 3 0.92 0.00 0.23 0.00 0.07 98.78 05:23:01 PM all 0.73 0.00 0.26 0.01 0.07 98.94 05:23:01 PM 0 0.43 0.00 0.25 0.02 0.07 99.23 05:23:01 PM 1 0.62 0.00 0.32 0.00 0.08 98.98 05:23:01 PM 2 0.95 0.00 0.27 0.00 0.07 98.71 05:23:01 PM 3 0.90 0.00 0.20 0.02 0.05 98.83 05:24:01 PM all 0.72 0.00 0.27 0.04 0.08 98.90 05:24:01 PM 0 0.50 0.00 0.30 0.15 0.07 98.98 05:24:01 PM 1 1.04 0.00 0.25 0.00 0.07 98.64 05:24:01 PM 2 0.60 0.00 0.27 0.00 0.08 99.05 05:24:01 PM 3 0.72 0.00 0.25 0.00 0.08 98.94 05:25:01 PM all 0.49 0.00 0.26 0.06 0.06 99.13 05:25:01 PM 0 0.32 0.00 0.27 0.25 0.05 99.11 05:25:01 PM 1 0.70 0.00 0.27 0.00 0.07 98.96 05:25:01 PM 2 0.52 0.00 0.30 0.00 0.07 99.11 05:25:01 PM 3 0.40 0.00 0.18 0.00 0.07 99.35 05:26:01 PM all 0.66 0.00 0.26 0.00 0.08 98.99 05:26:01 PM 0 0.63 0.00 0.23 0.00 0.08 99.05 05:26:01 PM 1 0.94 0.00 0.28 0.00 0.08 98.69 05:26:01 PM 2 0.60 0.00 0.32 0.02 0.07 99.00 05:26:01 PM 3 0.47 0.00 0.22 0.00 0.10 99.21 05:27:01 PM all 0.54 0.00 0.22 0.08 0.08 99.08 05:27:01 PM 0 0.52 0.00 0.23 0.30 0.08 98.86 05:27:01 PM 1 0.72 0.00 0.27 0.00 0.08 98.93 05:27:01 PM 2 0.55 0.00 0.27 0.03 0.07 99.08 05:27:01 PM 3 0.35 0.00 0.12 0.00 0.08 99.45 05:28:01 PM all 0.56 0.00 0.26 0.00 0.07 99.11 05:28:01 PM 0 0.55 0.00 0.22 0.02 0.05 99.16 05:28:01 PM 1 0.72 0.00 0.27 0.00 0.07 98.95 05:28:01 PM 2 0.59 0.00 0.28 0.00 0.08 99.05 05:28:01 PM 3 0.40 0.00 0.25 0.00 0.07 99.28 05:29:01 PM all 0.62 0.00 0.24 0.00 0.07 99.07 05:29:01 PM 0 0.58 0.00 0.20 0.00 0.07 99.15 05:29:01 PM 1 0.85 0.00 0.23 0.00 0.07 98.85 05:29:01 PM 2 0.49 0.00 0.27 0.00 0.07 99.18 05:29:01 PM 3 0.55 0.00 0.25 0.00 0.08 99.11 05:30:01 PM all 0.55 0.00 0.23 0.00 0.08 99.13 05:30:01 PM 0 0.30 0.00 0.20 0.00 0.05 99.45 05:30:01 PM 1 0.49 0.00 0.23 0.02 0.08 99.18 05:30:01 PM 2 0.59 0.00 0.28 0.00 0.10 99.03 05:30:01 PM 3 0.84 0.00 0.20 0.00 0.10 98.86 05:31:01 PM all 0.47 0.00 0.24 0.05 0.08 99.16 05:31:01 PM 0 0.28 0.00 0.20 0.00 0.08 99.43 05:31:01 PM 1 0.37 0.00 0.32 0.18 0.08 99.05 05:31:01 PM 2 0.43 0.00 0.27 0.00 0.08 99.21 05:31:01 PM 3 0.80 0.00 0.18 0.00 0.07 98.95 05:32:01 PM all 2.06 0.00 0.52 0.26 0.07 97.09 05:32:01 PM 0 5.62 0.00 0.74 0.84 0.07 92.74 05:32:01 PM 1 0.69 0.00 0.40 0.17 0.08 98.66 05:32:01 PM 2 0.90 0.00 0.62 0.03 0.07 98.38 05:32:01 PM 3 1.02 0.00 0.32 0.00 0.07 98.59 05:32:01 PM CPU %user %nice %system %iowait %steal %idle 05:33:01 PM all 29.97 0.00 2.70 7.87 0.09 59.37 05:33:01 PM 0 37.61 0.00 5.22 14.48 0.10 42.59 05:33:01 PM 1 23.57 0.00 2.19 5.17 0.08 68.98 05:33:01 PM 2 33.25 0.00 2.17 9.37 0.08 55.12 05:33:01 PM 3 25.45 0.00 1.22 2.45 0.08 70.80 Average: all 16.93 0.03 1.17 0.85 0.09 80.94 Average: 0 16.82 0.01 1.18 0.93 0.09 80.96 Average: 1 16.63 0.03 1.27 0.69 0.10 81.28 Average: 2 17.24 0.05 1.15 1.05 0.10 80.41 Average: 3 17.02 0.02 1.07 0.71 0.09 81.09