Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/bgpcep/+/118783 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu2204-docker-8c-8g-4014 (ubuntu2204-docker-8c-8g) in workspace /w/workspace/bgpcep-tox-verify-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-XXXXXXyPJwdY/agent.1647 SSH_AGENT_PID=1649 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/bgpcep-tox-verify-master@tmp/private_key_8609294693294177896.key (/w/workspace/bgpcep-tox-verify-master@tmp/private_key_8609294693294177896.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/bgpcep > git init /w/workspace/bgpcep-tox-verify-master # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/bgpcep > git --version # timeout=10 > git --version # 'git version 2.34.1' using GIT_SSH to set credentials jenkins-ssh Verifying host key using known hosts file 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/bgpcep +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/bgpcep # 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/bgpcep # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/bgpcep using GIT_SSH to set credentials jenkins-ssh 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/bgpcep refs/changes/83/118783/10 # timeout=10 > git rev-parse 430ce31630c14a07ba0391a10c99237fce15bddc^{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 430ce31630c14a07ba0391a10c99237fce15bddc (refs/changes/83/118783/10) > git config core.sparsecheckout # timeout=10 > git checkout -f 430ce31630c14a07ba0391a10c99237fce15bddc # timeout=10 Commit message: "Port CSIT bgp_userfeatures test suite to pytest" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk 9ffafc84e0f0d01bf9af65a829bc39e8e10c761c # timeout=10 provisioning config files... copy managed file [npmrc] to file:/home/jenkins/.npmrc copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins13429779915410399133.sh ---> python-tools-install.sh Setup pyenv: * system (set by /opt/pyenv/version) * 3.8.20 (set by /opt/pyenv/version) * 3.9.20 (set by /opt/pyenv/version) 3.10.15 3.11.10 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-WC0A lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-WC0A/bin to PATH Generating Requirements File ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. httplib2 0.31.0 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. Python 3.11.10 pip 25.3 from /tmp/venv-WC0A/lib/python3.11/site-packages/pip (python 3.11) appdirs==1.4.4 argcomplete==3.6.3 aspy.yaml==1.3.0 attrs==25.4.0 autopage==0.5.2 beautifulsoup4==4.14.2 boto3==1.40.63 botocore==1.40.63 bs4==0.0.2 cachetools==6.2.1 certifi==2025.10.5 cffi==2.0.0 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.4.4 click==8.3.0 cliff==4.11.0 cmd2==2.7.0 cryptography==3.3.2 debtcollector==3.0.0 decorator==5.2.1 defusedxml==0.7.1 Deprecated==1.3.1 distlib==0.4.0 dnspython==2.8.0 docker==7.1.0 dogpile.cache==1.5.0 durationpy==0.10 email-validator==2.3.0 filelock==3.20.0 future==1.0.0 gitdb==4.0.12 GitPython==3.1.45 google-auth==2.42.1 httplib2==0.31.0 identify==2.6.15 idna==3.11 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.6 jmespath==1.0.1 jsonpatch==1.33 jsonpointer==3.0.0 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 keystoneauth1==5.12.0 kubernetes==34.1.0 lftools==0.37.15 lxml==6.0.2 markdown-it-py==4.0.0 MarkupSafe==3.0.3 mdurl==0.1.2 msgpack==1.1.2 multi_key_dict==2.0.3 munch==4.0.0 netaddr==1.3.0 niet==1.4.2 nodeenv==1.9.1 oauth2client==4.1.3 oauthlib==3.3.1 openstacksdk==4.7.1 os-service-types==1.8.1 osc-lib==4.2.0 oslo.config==10.0.0 oslo.context==6.1.0 oslo.i18n==6.6.0 oslo.log==7.2.1 oslo.serialization==5.8.0 oslo.utils==9.1.0 packaging==25.0 pbr==7.0.2 platformdirs==4.5.0 prettytable==3.16.0 psutil==7.1.2 pyasn1==0.6.1 pyasn1_modules==0.4.2 pycparser==2.23 pygerrit2==2.0.15 PyGithub==2.8.1 Pygments==2.19.2 PyJWT==2.10.1 PyNaCl==1.6.0 pyparsing==2.4.7 pyperclip==1.11.0 pyrsistent==0.20.0 python-cinderclient==9.8.0 python-dateutil==2.9.0.post0 python-heatclient==4.3.0 python-jenkins==1.8.3 python-keystoneclient==5.7.0 python-magnumclient==4.9.0 python-openstackclient==8.2.0 python-swiftclient==4.8.0 PyYAML==6.0.3 referencing==0.37.0 requests==2.32.5 requests-oauthlib==2.0.0 requestsexceptions==1.4.0 rfc3986==2.0.0 rich==14.2.0 rich-argparse==1.7.1 rpds-py==0.28.0 rsa==4.9.1 ruamel.yaml==0.18.16 ruamel.yaml.clib==0.2.14 s3transfer==0.14.0 simplejson==3.20.2 six==1.17.0 smmap==5.0.2 soupsieve==2.8 stevedore==5.5.0 tabulate==0.9.0 toml==0.10.2 tomlkit==0.13.3 tqdm==4.67.1 typing_extensions==4.15.0 tzdata==2025.2 urllib3==1.26.20 virtualenv==20.35.4 wcwidth==0.2.14 websocket-client==1.9.0 wrapt==2.0.0 xdg==6.0.0 xmltodict==1.0.2 yq==3.4.3 [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PYTHON=python3 [EnvInject] - Variables injected successfully. [bgpcep-tox-verify-master] $ /bin/bash -l /tmp/jenkins15441662483081843646.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-K2CK + 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:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/bgpcep-tox-verify-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:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ sed 's/^[ *]* //' ++ awk '{ print $1 }' ++ grep -E '^[0-9.]*[0-9]$' ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] + [[ ! -f /tmp/.toxenv ]] + [[ -n '' ]] + python3 -m venv /tmp/venv-K2CK + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-K2CK' lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-K2CK + echo /tmp/venv-K2CK + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' lf-activate-venv(): INFO: Attempting to install with network-safe options... + /tmp/venv-K2CK/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + echo 'lf-activate-venv(): INFO: Base packages installed successfully' lf-activate-venv(): INFO: Base packages installed successfully + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + /tmp/venv-K2CK/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-K2CK/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-K2CK/bin to PATH + PATH=/tmp/venv-K2CK/bin:/opt/pyenv/shims:/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + return 0 + python3 --version Python 3.11.10 + python3 -m pip --version pip 25.3 from /tmp/venv-K2CK/lib/python3.11/site-packages/pip (python 3.11) + python3 -m pip freeze cachetools==6.2.1 chardet==5.2.0 colorama==0.4.6 distlib==0.4.0 filelock==3.20.0 packaging==25.0 platformdirs==4.5.0 pluggy==1.6.0 pyproject-api==1.10.0 tox==4.32.0 urllib3==1.26.20 virtualenv==20.35.4 [bgpcep-tox-verify-master] $ /bin/sh -xe /tmp/jenkins7910053257806686162.sh [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PARALLEL=True [EnvInject] - Variables injected successfully. [bgpcep-tox-verify-master] $ /bin/bash -l /tmp/jenkins5143608434046486728.sh ---> tox-run.sh + PATH=/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + ARCHIVE_TOX_DIR=/w/workspace/bgpcep-tox-verify-master/archives/tox + ARCHIVE_DOC_DIR=/w/workspace/bgpcep-tox-verify-master/archives/docs + mkdir -p /w/workspace/bgpcep-tox-verify-master/archives/tox + cd /w/workspace/bgpcep-tox-verify-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-MTxB + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/bgpcep-tox-verify-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ sed 's/^[ *]* //' ++ awk '{ print $1 }' ++ grep -E '^[0-9.]*[0-9]$' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] ++ cat /tmp/.toxenv + lf_venv=/tmp/venv-K2CK + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-K2CK from' file:/tmp/.toxenv lf-activate-venv(): INFO: Reuse venv:/tmp/venv-K2CK from file:/tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + echo 'lf-activate-venv(): INFO: Attempting to install with network-safe options...' lf-activate-venv(): INFO: Attempting to install with network-safe options... + /tmp/venv-K2CK/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + echo 'lf-activate-venv(): INFO: Base packages installed successfully' lf-activate-venv(): INFO: Base packages installed successfully + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + /tmp/venv-K2CK/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-K2CK/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-K2CK/bin to PATH + PATH=/tmp/venv-K2CK/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + return 0 + [[ -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-K2CK/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/tmp/venv-K2CK/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ pwd + PYTHONPATH=/w/workspace/bgpcep-tox-verify-master + export PYTHONPATH + export TOX_TESTENV_PASSENV=PYTHONPATH + TOX_TESTENV_PASSENV=PYTHONPATH + tox --version 4.32.0 from /tmp/venv-K2CK/lib/python3.11/site-packages/tox/__init__.py + PARALLEL=True + TOX_OPTIONS_LIST= + [[ -n '' ]] + case ${PARALLEL,,} in + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' + tox --parallel auto --parallel-live + tee -a /w/workspace/bgpcep-tox-verify-master/archives/tox/tox.log docs: install_deps> python -I -m pip install -r docs/requirements.txt docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt pre-commit: install_deps> python -I -m pip install pre-commit pre-commit: freeze> python -m pip freeze --all pre-commit: cfgv==3.4.0,distlib==0.4.0,filelock==3.20.0,identify==2.6.15,nodeenv==1.9.1,pip==25.3,platformdirs==4.5.0,pre_commit==4.3.0,PyYAML==6.0.3,setuptools==80.9.0,virtualenv==20.35.4 pre-commit: commands[0]> pre-commit run --all-files --show-diff-on-failure [WARNING] hook id `remove-tabs` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [WARNING] repo `https://github.com/pre-commit/pre-commit-hooks` uses deprecated stage names (commit, push) which will be removed in a future version. Hint: often `pre-commit autoupdate --repo https://github.com/pre-commit/pre-commit-hooks` will fix this. if it does not -- consider reporting an issue to that repo. [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. [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... [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... trim trailing whitespace.................................................Failed - hook id: trailing-whitespace - exit code: 1 - files were modified by this hook Fixing tests/test_suites/bgp_userfeatures/020_bgp_functional_multipath.py Fixing tests/test_suites/bgp_userfeatures/040_bgp_functional_route_ref.py Fixing tests/data/bgpfunctional/l3vpn_ipv4/bgp_l3vpn_ipv4/data.json Fixing tests/test_suites/bgp_userfeatures/bgp_functional_md5.py Fixing tests/data/bgpuser/empty_topology/data.json Fixing tests/lib/utils.py Fixing tests/lib/ip_topology.py Fixing tests/test_suites/bgp_userfeatures/010_bgp_functional_l3vpn.py Fixing tests/test_suites/bgp_userfeatures/050_bmp_basic.py Fixing tests/conftest.py Fixing tests/test_suites/bgp_userfeatures/bgp_policies_default.py Fixing tests/test_suites/bgp_userfeatures/ibgp_peers_basic.py Fixing tests/test_suites/bgp_userfeatures/bgp_ipv6_basic.py Fixing tests/lib/pcep.py Fixing tests/lib/bgp.py Fixing tests/test_suites/bgp_userfeatures/basic.py Fixing tests/lib/infra.py Fixing tests/test_suites/bgp_userfeatures/090_bgp_functional_rt_constrain_validation.py Fixing tests/test_suites/bgp_userfeatures/ibgp_peer_lsp.py Fixing tests/test_suites/bgp_userfeatures/bgp_llgr_basic.py Fixing tests/test_suites/bgp_userfeatures/bgp_app_peer_basic.py Fixing tests/test_suites/bgp_userfeatures/060_bgp_functional_mvpn.py Fixing tests/test_suites/bgp_userfeatures/030_bgp_functional_evpn.py Fixing tests/test_suites/bgp_userfeatures/080_bgp_functional_rt_constrain.py Fixing tests/test_suites/bgp_userfeatures/070_bgp_functional_l3vpn_mcast.py Fixing tests/test_suites/bgp_userfeatures/010_bgp_flowspec.py Fixing tests/lib/flowspec.py Fixing tests/data/bgpuser/filled_topology/data.json Tabs remover.............................................................Failed - hook id: remove-tabs - exit code: 1 - files were modified by this hook Substituting tabs in: tests/test_suites/bgp_userfeatures/060_bgp_functional_mvpn.py by 4 whitespaces Tabs have been successfully removed. Now aborting the commit. You can check the changes made. Then simply "git add --update ." and re-commit Substituting tabs in: tests/test_suites/bgp_userfeatures/070_bgp_functional_l3vpn_mcast.py by 4 whitespaces Substituting tabs in: tests/test_suites/bgp_userfeatures/010_bgp_functional_l3vpn.py by 4 whitespaces Tabs have been successfully removed. Now aborting the commit. You can check the changes made. Then simply "git add --update ." and re-commit Substituting tabs in: tests/test_suites/bgp_userfeatures/080_bgp_functional_rt_constrain.py by 4 whitespaces Substituting tabs in: tests/test_suites/bgp_userfeatures/030_bgp_functional_evpn.py by 4 whitespaces Tabs have been successfully removed. Now aborting the commit. You can check the changes made. Then simply "git add --update ." and re-commit pre-commit hook(s) made changes. If you are seeing this message in CI, reproduce locally with: `pre-commit run --all-files`. To run `pre-commit` as part of git workflow, use `pre-commit install`. All changes made by hooks: diff --git a/tests/conftest.py b/tests/conftest.py index a6b37ae2b2..6a6b4d69f4 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -109,14 +109,14 @@ def step_tag_checker(request: pytest.FixtureRequest) -> Callable[[Optional[List[ """ Returns a function that checks if a step should run based on tags. Reads --step-include and --step-exclude command-line options. - + Logic mimics Robot Framework: 1. If --step-include is used, the step *must* match one tag. 2. If --step-exclude is used, the step *must not* match any tag. """ include_str = request.config.getoption("--step-include") exclude_str = request.config.getoption("--step-exclude") - + include_tags = set(include_str.split(',')) if include_str else set() exclude_tags = set(exclude_str.split(',')) if exclude_str else set() diff --git a/tests/data/bgpfunctional/l3vpn_ipv4/bgp_l3vpn_ipv4/data.json b/tests/data/bgpfunctional/l3vpn_ipv4/bgp_l3vpn_ipv4/data.json index 282ab6fb20..98376e0b05 100644 --- a/tests/data/bgpfunctional/l3vpn_ipv4/bgp_l3vpn_ipv4/data.json +++ b/tests/data/bgpfunctional/l3vpn_ipv4/bgp_l3vpn_ipv4/data.json @@ -26,4 +26,3 @@ ] } } - \ No newline at end of file diff --git a/tests/data/bgpuser/empty_topology/data.json b/tests/data/bgpuser/empty_topology/data.json index 178bf4035a..005014ebbf 100644 --- a/tests/data/bgpuser/empty_topology/data.json +++ b/tests/data/bgpuser/empty_topology/data.json @@ -9,4 +9,3 @@ } ] } - \ No newline at end of file diff --git a/tests/data/bgpuser/filled_topology/data.json b/tests/data/bgpuser/filled_topology/data.json index 1b8223483d..77b8ae18b2 100644 --- a/tests/data/bgpuser/filled_topology/data.json +++ b/tests/data/bgpuser/filled_topology/data.json @@ -27,4 +27,3 @@ } ] } - \ No newline at end of file diff --git a/tests/lib/bgp.py b/tests/lib/bgp.py index 2cab308291..9b1144ad00 100644 --- a/tests/lib/bgp.py +++ b/tests/lib/bgp.py @@ -266,7 +266,7 @@ def start_bgp_speaker( allf: bool | None = None, evpn: bool | None = None, mvpn: bool | None = None, - l3vpn_mcast: bool | None = None, + l3vpn_mcast: bool | None = None, rt_constrain: bool | None = None, wfr: int | None = None, cluster: str | None = None, @@ -459,7 +459,7 @@ def start_bgp_app_peer( log_level: str = "info", timeout: int = 1200, ) -> tuple[int, str]: - """??? NOt necessary always to have these parames and if not provided skip them + """??? NOt necessary always to have these parames and if not provided skip them and not provide to the scrpt count, prefix: str = "8.0.0.0", prefix_len: int = 28,""" """Starts bgp_app_peer.py for manipulating BGP neighbour rib table. @@ -520,7 +520,7 @@ def start_exabgp( if log_file: command += f" > tmp/{log_file}" - + process = infra.shell(command, run_in_background=True) return process @@ -581,7 +581,7 @@ def start_gobgp( """??? """ command = f"{gobgp_path} -l debug -f {cfg_file} > tmp/gobgp.log" - + process = infra.shell(command, run_in_background=True) return process diff --git a/tests/lib/flowspec.py b/tests/lib/flowspec.py index 869e97742d..cfa1140fad 100644 --- a/tests/lib/flowspec.py +++ b/tests/lib/flowspec.py @@ -21,7 +21,7 @@ ODL_IP = os.environ["ODL_IP"] RESTCONF_PORT = os.environ["RESTCONF_PORT"] log = logging.getLogger(__name__) - + def verify_flowspec_data_is_empty(): templated_requests.get_templated_request("data/bgpflowspec/empty_route", None, verify=True) diff --git a/tests/lib/infra.py b/tests/lib/infra.py index d7f229a401..4c7ce3533d 100644 --- a/tests/lib/infra.py +++ b/tests/lib/infra.py @@ -98,7 +98,7 @@ def shell( except FileNotFoundError: log.error(f"ERROR command not found: {exec_command}") return None, None - + def read_until(process: subprocess.Popen, expected_text: str, timeout: int = 10): "This exepcted text must be within one line, it can not spread across mutliple lines" found_event = threading.Event() @@ -112,7 +112,7 @@ def read_until(process: subprocess.Popen, expected_text: str, timeout: int = 10) if line and expected_text in line: found_event.set() return - + queue = Queue() thread = threading.Thread(target=threaded_read, args=(process.stdout, expected_text, queue), daemon=True) thread.start() @@ -395,7 +395,7 @@ def stop_process_by_pid(pid: int, gracefully: bool = True, timeout: int | None = raise AssertionError( f"Was not able to stop process with PID {process.pid}, it is still running." ) from e - + def download_file(url: str): file_name = url.split("/")[-1] urllib.request.urlretrieve(url, f"tmp/{file_name}") @@ -403,5 +403,5 @@ def download_file(url: str): def get_file_content(path: str): with open(path, "r", encoding="utf-8") as file: content = file.read() - + return content diff --git a/tests/lib/ip_topology.py b/tests/lib/ip_topology.py index 1d2c149885..f695ea8ad7 100644 --- a/tests/lib/ip_topology.py +++ b/tests/lib/ip_topology.py @@ -114,7 +114,7 @@ def wait_for_ipv4_topology_prefixes_to_become_stable( raise AssertionError( f"Expected Ipv4 topology to be stable after {timeout} seconds" ) - + def verify_ip_topology_is_empty(): templated_requests.get_templated_request("data/bgpuser/empty_topology", None, verify=True) diff --git a/tests/lib/pcep.py b/tests/lib/pcep.py index ec652f4b83..eb986cc9f8 100644 --- a/tests/lib/pcep.py +++ b/tests/lib/pcep.py @@ -99,7 +99,7 @@ def configure_speaker_entitiy_identifier(): resposne = templated_requests.put_templated_request( "data/templates/node_speaker_entity", mapping, json=False ) - + return resposne def add_lsp(pcc_ip: str, lsp_name: str): @@ -107,7 +107,7 @@ def add_lsp(pcc_ip: str, lsp_name: str): resposne = templated_requests.post_templated_request( "data/templates/pcep_add_lsp", mapping, json=False ) - + return resposne def update_lsp(pcc_ip: str, lsp_name: str): @@ -115,7 +115,7 @@ def update_lsp(pcc_ip: str, lsp_name: str): resposne = templated_requests.post_templated_request( "data/templates/pcep_update_lsp", mapping, json=False ) - + return resposne def remove_lsp(pcc_ip: str, lsp_name: str): @@ -123,7 +123,7 @@ def remove_lsp(pcc_ip: str, lsp_name: str): resposne = templated_requests.post_templated_request( "data/templates/pcep_remove_lsp", mapping, json=False, accept="*/*" ) - + return resposne diff --git a/tests/lib/utils.py b/tests/lib/utils.py index f006e1cdfe..df6e918938 100644 --- a/tests/lib/utils.py +++ b/tests/lib/utils.py @@ -33,7 +33,7 @@ def verify_jsons_matach(json1: str, json2: str, json1_data_label: str = "json1", ) ) raise AssertionError(f": \n{visual_diff}") - + def verify_multiline_text_match(expected_text: str, real_text: str): @@ -152,7 +152,7 @@ def wait_until_function_returns_value_with_custom_value_validator( f"Failed to execute {function.__name__}({','.join([str(arg) for arg in args])} {kwargs or ''}) " \ f"after {retry_count} attempts." ) from last_exception - + def verify_function_never_passes_within_timeout( retry_count: int, interval: int, function: Callable, *args, **kwargs ) -> Any: @@ -169,10 +169,10 @@ def verify_function_never_passes_within_timeout( else: raise AssertionError("Function did pass within timeout") - + def verify_process_did_not_stop_immediatelp(pid: int, retry_count: int = 10, interval: int = 1): verify_function_returns_concrete_value_for_some_time(retry_count, interval, True, infra.is_process_still_running, pid) - + def verify_function_does_not_fail_within_timeout( retry_count: int, interval: int, function: Callable, *args, **kwargs ) -> Any: @@ -262,7 +262,7 @@ def verify_function_returns_value_which_passes_custom_value_validator_for_some_t time.sleep(interval) return result - + def run_function_ignore_errors(function: Callable, *args, **kwargs): try: function(*args, **kwargs) diff --git a/tests/test_suites/bgp_userfeatures/010_bgp_flowspec.py b/tests/test_suites/bgp_userfeatures/010_bgp_flowspec.py index 60fadbbe73..ac89087010 100644 --- a/tests/test_suites/bgp_userfeatures/010_bgp_flowspec.py +++ b/tests/test_suites/bgp_userfeatures/010_bgp_flowspec.py @@ -38,7 +38,7 @@ log = logging.getLogger(__name__) @pytest.mark.usefixtures("teardown_kill_all_running_play_script_processes") @pytest.mark.run(order=15) class TestBgpFlowspec: - + def set_bgp_peer_configuration(self): """??? """ @@ -96,5 +96,5 @@ class TestBgpFlowspec: """Deconfigure BGP peer.""" self.delete_bgp_peer_configuration() - + diff --git a/tests/test_suites/bgp_userfeatures/010_bgp_functional_l3vpn.py b/tests/test_suites/bgp_userfeatures/010_bgp_functional_l3vpn.py index 9c26c5f224..252e7d26eb 100644 --- a/tests/test_suites/bgp_userfeatures/010_bgp_functional_l3vpn.py +++ b/tests/test_suites/bgp_userfeatures/010_bgp_functional_l3vpn.py @@ -10,12 +10,12 @@ # BGP peer as follows: # # Functional test suite for bgp - l3vpn-ipv4 -# +# # This suite tests advertising and receiveing routes with l3vpn content. It -# uses odl and exabgp as bgp peers. Routes advertized from odl are configured +# uses odl and exabgp as bgp peers. Routes advertized from odl are configured # via application peer. Routes advertised from exabgp is statically configured # in exabgp config file. -# For fluorine and further, instead of exabgp, play.py is used. When sending +# For fluorine and further, instead of exabgp, play.py is used. When sending # routes from odl to peer, first route containg route-target argument # have to be send from peer to odl, so odl can identify this peer. Than it # sends l3vpn route containg this argument to odl app peer, and we check @@ -71,7 +71,7 @@ class TestBgpfunctionalL3Vpn: templated_requests.delete_templated_request( f"{RT_CONSTRAIN_DIR}/bgp_peer", mapping ) - + def verify_reported_data(self, tempalate_path): """Verifies expected response""" templated_requests.get_templated_request(tempalate_path, None, verify=True) @@ -88,12 +88,12 @@ class TestBgpfunctionalL3Vpn: infra.shell("cp data/bgpfunctional/l3vpn_ipv4/bgp-l3vpn-ipv4.cfg tmp/") infra.shell(f"sed -i -e 's/EXABGPIP/{TOOLS_IP}/g' tmp/bgp-l3vpn-ipv4.cfg") infra.shell(f"sed -i -e 's/ODLIP/{ODL_IP}/g' tmp/bgp-l3vpn-ipv4.cfg") - + def test_bgp_functional_l3vpn(self, allure_step_with_separate_logging): with allure_step_with_separate_logging("step_prepare_config_files"): """???.""" self.prepare_config_files() - + with allure_step_with_separate_logging("step_configure_app_peer"): """Configures bgp application peer. Openconfig is used for carbon and above.""" bgp.set_bgp_application_peer(ip=ODL_IP) @@ -140,5 +140,5 @@ class TestBgpfunctionalL3Vpn: self.delete_bgp_peer_configuration() with allure_step_with_separate_logging("step_deconfigure_app_peer"): - """ Revert the BGP configuration to the original state: without application peer""" + """ Revert the BGP configuration to the original state: without application peer""" bgp.delete_bgp_application_peer(ip=ODL_IP) diff --git a/tests/test_suites/bgp_userfeatures/020_bgp_functional_multipath.py b/tests/test_suites/bgp_userfeatures/020_bgp_functional_multipath.py index 4ce45f123a..088247c539 100644 --- a/tests/test_suites/bgp_userfeatures/020_bgp_functional_multipath.py +++ b/tests/test_suites/bgp_userfeatures/020_bgp_functional_multipath.py @@ -10,7 +10,7 @@ # BGP peer as follows: # # Functional test suite for bgp - n-path and all-path selection -# +# # This suite tests n-path and all-path selection policy. # It uses odl and exabgp as bgp peers. Routes advertized from # odl are configured via application peer. @@ -146,9 +146,9 @@ class TestBgpfunctionalMultipath: templated_requests.delete_templated_request(f"{MULT_VAR_FOLDER}/route", route_mapping) mapping = {"IP": TOOLS_IP, "BGP_RIB_OPENCONFIG": PROTOCOL_OPENCONFIG} templated_requests.delete_templated_request(f"{BGP_VAR_FOLDER}/app_peer", mapping) - + def test_bgp_functional_multipath(self, allure_step_with_separate_logging): - + with allure_step_with_separate_logging("step_test_suite_setup"): self.setup_config_files() self.store_rib_configuration() diff --git a/tests/test_suites/bgp_userfeatures/030_bgp_functional_evpn.py b/tests/test_suites/bgp_userfeatures/030_bgp_functional_evpn.py index edc0a8f740..6f85b735fa 100644 --- a/tests/test_suites/bgp_userfeatures/030_bgp_functional_evpn.py +++ b/tests/test_suites/bgp_userfeatures/030_bgp_functional_evpn.py @@ -10,7 +10,7 @@ # BGP peer as follows: # # Functional test suite for bgp - evpn -# +# # This suite tests advertising and receiveing routes with evpn content. # It uses play.py and odl as bgp peers. Routes advertized from odl are # configured via application peer. Routes advertised from play.py are stored @@ -163,7 +163,7 @@ class TestBgpfunctionalEvpn: finally: self.withdraw_route_and_verify(withdraw_hex) - + def verify_reported_data(self, tempalate_path): """Verifies expected response""" templated_requests.get_templated_request(tempalate_path, None, verify=True) @@ -171,7 +171,7 @@ class TestBgpfunctionalEvpn: def wait_until_expected_data(self, template_path, retry_count=20, interval=1): utils.wait_until_function_pass(retry_count, interval, self.verify_reported_data, template_path) - + def test_bgp_functional_evpn(self, allure_step_with_separate_logging): with allure_step_with_separate_logging("step_configure_app_peer"): """Configures bgp application peer. Openconfig is used for carbon and above.""" @@ -416,5 +416,5 @@ class TestBgpfunctionalEvpn: self.delete_bgp_peer_configuration() with allure_step_with_separate_logging("step_deconfigure_app_peer"): - """ Revert the BGP configuration to the original state: without application peer""" + """ Revert the BGP configuration to the original state: without application peer""" self.delete_app_peer() diff --git a/tests/test_suites/bgp_userfeatures/040_bgp_functional_route_ref.py b/tests/test_suites/bgp_userfeatures/040_bgp_functional_route_ref.py index eb2c60a7df..e5b9c36a5f 100644 --- a/tests/test_suites/bgp_userfeatures/040_bgp_functional_route_ref.py +++ b/tests/test_suites/bgp_userfeatures/040_bgp_functional_route_ref.py @@ -10,7 +10,7 @@ # BGP peer as follows: # # Functional test for bgp - route refresh -# +# # This suite tests sending and receiveing route refresh message. # It uses odl and exabgp as bgp peers. Sending route refresh message # from odl is initiated via restconf. If route refresh is received by odl, @@ -92,7 +92,7 @@ class TestBgpfunctionalRouteRef: log.info(f"Expected state: {exp_state}") line_count = exp_state.find("\n") + 1 real_state = "\n".join(stdout.splitlines()[MSG_STATE_OFFSET:MSG_STATE_OFFSET+line_count]) - utils.verify_multiline_text_match(exp_state, real_state) + utils.verify_multiline_text_match(exp_state, real_state) def verify_odl_operational_state_count(self, notification_count: int, update_count: int, receive_count: int): """Check notification and update count gained from operatial neighbor state @@ -114,9 +114,9 @@ class TestBgpfunctionalRouteRef: bgp.stop_bgp_speaker(self.exabgp_process) mapping = {"PREFIX": prefix, "APP_RIB": ODL_IP} templated_requests.delete_templated_request(f"{BGP_RR_VAR_FOLDER}/route", mapping) - + def test_bgp_functional_route_ref(self, allure_step_with_separate_logging): - + with allure_step_with_separate_logging("step_test_suite_setup"): self.setup_config_files() diff --git a/tests/test_suites/bgp_userfeatures/050_bmp_basic.py b/tests/test_suites/bgp_userfeatures/050_bmp_basic.py index 80a8b70484..0b6e83ce5b 100644 --- a/tests/test_suites/bgp_userfeatures/050_bmp_basic.py +++ b/tests/test_suites/bgp_userfeatures/050_bmp_basic.py @@ -7,7 +7,7 @@ # # # This is a basic test for bgp monitoring protocol feature. After the feature -# odl-bgpcep-bmp installation, the port 12345 should be bound for listening. +# odl-bgpcep-bmp installation, the port 12345 should be bound for listening. # To test this feature bgp-bmp-mock tool is used. It is a part of the bgpcep project. # It is a java tool which simulates more peers and more routers. In this particular # test suite it simulates 1 peer with 1 router, which means it advertizes one peer diff --git a/tests/test_suites/bgp_userfeatures/060_bgp_functional_mvpn.py b/tests/test_suites/bgp_userfeatures/060_bgp_functional_mvpn.py index 4116ff33cc..36d105ea60 100644 --- a/tests/test_suites/bgp_userfeatures/060_bgp_functional_mvpn.py +++ b/tests/test_suites/bgp_userfeatures/060_bgp_functional_mvpn.py @@ -10,7 +10,7 @@ # BGP peer as follows: # # Functional test suite for bgp - mvpn -# +# # This suite tests advertising mvpn routes to odl. For advertising play.py # is used, and particular files are stored as *.hex files. There are # 7 different types of routes used for auto-discovery of multicast network. @@ -92,7 +92,7 @@ class TestBgpfunctionalMvpn: templated_requests.delete_templated_request( f"{MVPN_DIR}/bgp_peer", mapping ) - + def test_bgp_functional_Mvpn(self, allure_step_with_separate_logging): with allure_step_with_separate_logging("step_configure_app_peer"): """Configures bgp application peer.""" @@ -190,5 +190,5 @@ class TestBgpfunctionalMvpn: self.delete_bgp_peer_configuration() with allure_step_with_separate_logging("step_deconfigure_app_peer"): - """ Revert the BGP configuration to the original state: without application peer""" + """ Revert the BGP configuration to the original state: without application peer""" self.delete_app_peer() diff --git a/tests/test_suites/bgp_userfeatures/070_bgp_functional_l3vpn_mcast.py b/tests/test_suites/bgp_userfeatures/070_bgp_functional_l3vpn_mcast.py index cc941f8dee..52cb4cb48b 100644 --- a/tests/test_suites/bgp_userfeatures/070_bgp_functional_l3vpn_mcast.py +++ b/tests/test_suites/bgp_userfeatures/070_bgp_functional_l3vpn_mcast.py @@ -10,7 +10,7 @@ # BGP peer as follows: # # Functional test suite for bgp - l3vpn-mutlicast -# +# # This suite tests advertising l3vpn_mcast routes to odl. For advertising # play.py is used, and particular files are stored as *.hex files.There are # L3vpn-ipv4-multicast routes and L3vpn-ipv6-multicast routes tested. @@ -91,7 +91,7 @@ class TestBgpfunctionalL3vpnMcast: templated_requests.delete_templated_request( f"{L3VPN_MCAST_DIR}/bgp_peer", mapping ) - + def test_bgp_functional_l3vpn_mcast(self, allure_step_with_separate_logging): with allure_step_with_separate_logging("step_configure_app_peer"): """Configures bgp application peer.""" @@ -132,5 +132,5 @@ class TestBgpfunctionalL3vpnMcast: self.delete_bgp_peer_configuration() with allure_step_with_separate_logging("step_deconfigure_app_peer"): - """ Revert the BGP configuration to the original state: without application peer""" + """ Revert the BGP configuration to the original state: without application peer""" self.delete_app_peer() diff --git a/tests/test_suites/bgp_userfeatures/080_bgp_functional_rt_constrain.py b/tests/test_suites/bgp_userfeatures/080_bgp_functional_rt_constrain.py index 4fc4a15960..9e89533f54 100644 --- a/tests/test_suites/bgp_userfeatures/080_bgp_functional_rt_constrain.py +++ b/tests/test_suites/bgp_userfeatures/080_bgp_functional_rt_constrain.py @@ -10,7 +10,7 @@ # BGP peer as follows: # # Functional test suite for bgp - route-target-constrain safi -# +# # This suite tests advertising rt-constrain routes to odl. For advertising # from peer, play.py is used, sending hex messages to odl. For advertising # to app-peer, we are sending post requests with routes in xml. @@ -91,7 +91,7 @@ class TestBgpfunctionalRtConstrain: templated_requests.delete_templated_request( f"{RT_CONSTRAIN_DIR}/bgp_peer", mapping ) - + def test_bgp_functional_rt_constrain(self, allure_step_with_separate_logging): with allure_step_with_separate_logging("step_configure_app_peer"): """Configures bgp application peer.""" @@ -144,5 +144,5 @@ class TestBgpfunctionalRtConstrain: self.delete_bgp_peer_configuration() with allure_step_with_separate_logging("step_deconfigure_app_peer"): - """ Revert the BGP configuration to the original state: without application peer""" + """ Revert the BGP configuration to the original state: without application peer""" self.delete_app_peer() diff --git a/tests/test_suites/bgp_userfeatures/090_bgp_functional_rt_constrain_validation.py b/tests/test_suites/bgp_userfeatures/090_bgp_functional_rt_constrain_validation.py index 739161cf59..bfd1b7c16a 100644 --- a/tests/test_suites/bgp_userfeatures/090_bgp_functional_rt_constrain_validation.py +++ b/tests/test_suites/bgp_userfeatures/090_bgp_functional_rt_constrain_validation.py @@ -7,7 +7,7 @@ # # Functional test for bgp - route-target-constrain safi # -# This suite tests advertising rt-constrain routes to odl. For advertising +# This suite tests advertising rt-constrain routes to odl. For advertising # from peer play.py is used, sending hex messages to odl. # There are 3 peers: ebgp and two ibgps. First peer sends l3vpn route with # specific RT to odl, second peer sends RT route and third peer only @@ -105,7 +105,7 @@ class TestBgpfunctionalRtConstrainValidation: def verify_empty_reproted_data(self): """Verify empty data response""" templated_requests.get_templated_request(f"{RT_CONSTRAIN_DIR}/empty_l3vpn", mapping=ADJ_RIB_OUT, verify=True) - + def test_bgp_functional_rt_constrain_validation(self, allure_step_with_separate_logging): with allure_step_with_separate_logging("step_reconfigure_odl_to_accept_connection"): """Configures BGP peer module with initiate-connection set to false.""" @@ -121,7 +121,7 @@ class TestBgpfunctionalRtConstrainValidation: templated_requests.put_templated_request( EBGP_DIR, mapping, json=False ) - + with allure_step_with_separate_logging("step_start_bgp_peers"): """Start Python speaker to connect to ODL. We give each speaker time until odl really starts to accept incoming bgp connection. The failure happens if the incoming connection comes too quickly after configuring the peer.""" diff --git a/tests/test_suites/bgp_userfeatures/basic.py b/tests/test_suites/bgp_userfeatures/basic.py index 04dd3b663e..eea28b4656 100644 --- a/tests/test_suites/bgp_userfeatures/basic.py +++ b/tests/test_suites/bgp_userfeatures/basic.py @@ -36,7 +36,7 @@ # - check empty topology # - reconfigre neighbor without peer-group, delete peer-group # -# Brief description how to perform BGP functional test: +# Brief description how to perform BGP functional test: # https://wiki.opendaylight.org/view/BGP_LS_PCEP:Lithium_Feature_Tests#How_to_test_2 import json @@ -239,7 +239,7 @@ class TestBasic: with allure_step_with_separate_logging("step_check_listening_connection_is_established"): """See TCP (BGP) connection in established state.""" - self.check_speaker_is_connected() + self.check_speaker_is_connected() with allure_step_with_separate_logging("step_check_listening_topology_is_filled"): """See new routes in example-ipv4-topology as a proof that synchronization was correct.""" diff --git a/tests/test_suites/bgp_userfeatures/bgp_app_peer_basic.py b/tests/test_suites/bgp_userfeatures/bgp_app_peer_basic.py index 15dc5997d6..7a37e6b151 100644 --- a/tests/test_suites/bgp_userfeatures/bgp_app_peer_basic.py +++ b/tests/test_suites/bgp_userfeatures/bgp_app_peer_basic.py @@ -184,7 +184,7 @@ class TestBgpAppPeerBasic: with allure_step_with_separate_logging("step_tc3_reconnect_bgp_peer_and_check_incomming_updates_for_3_introduced_prefixes"): """Start BGP peer tool.""" self.bgp_speaker_process = bgp.start_bgp_speaker(0, my_ip=TOOLS_IP, log_level="debug") - + utils.verify_process_did_not_stop_immediatelp(self.bgp_speaker_process.pid) infra.wait_for_string_in_file(20, 1, "nlri_prefix_received:", "bgp_peer.log", threshold=3) infra.verify_string_occurence_count_in_file("nlri_prefix_received:", "bgp_peer.log", 3) diff --git a/tests/test_suites/bgp_userfeatures/bgp_functional_md5.py b/tests/test_suites/bgp_userfeatures/bgp_functional_md5.py index d136bed171..4677979935 100644 --- a/tests/test_suites/bgp_userfeatures/bgp_functional_md5.py +++ b/tests/test_suites/bgp_userfeatures/bgp_functional_md5.py @@ -48,7 +48,7 @@ class TestBgpFunctionalMd5: def reconfigure_odl_to_accept_connections(self, password: str): mapping = {"BGP_RIB_OPENCONFIG": "example-bgp-rib", "IP": TOOLS_IP, - "HOLDTIME": 180, + "HOLDTIME": 180, "PEER_PORT": 17900, "PASSWORD": password, "PASSIVE_MODE": "true"} @@ -88,6 +88,6 @@ class TestBgpFunctionalMd5: exabgp_process = bgp.start_exabgp_and_verify_connected("tmp/exa-md5.cfg", ODL_IP, expect_connected=False) bgp.stop_exabgp(exabgp_process) self.delete_bgp_peer_configuration() - - + + diff --git a/tests/test_suites/bgp_userfeatures/bgp_ipv6_basic.py b/tests/test_suites/bgp_userfeatures/bgp_ipv6_basic.py index bb8a98b038..5e7a79bd5b 100644 --- a/tests/test_suites/bgp_userfeatures/bgp_ipv6_basic.py +++ b/tests/test_suites/bgp_userfeatures/bgp_ipv6_basic.py @@ -174,7 +174,7 @@ class TestBgpIpv6Basic: """Save exabgp logs as exaipv6.log, and stop exabgp with ctrl-c bash signal.""" infra.shell(f"cp tmp/{EXABGP_LOG} results/") bgp.stop_exabgp(self.exabgp_process) - + with allure_step_with_separate_logging("step_configure_app_peer"): """Configures bgp application peer.""" mapping = {"IP": "127.0.0.12", "BGP_RIB_OPENCONFIG": "example-bgp-rib"} diff --git a/tests/test_suites/bgp_userfeatures/bgp_llgr_basic.py b/tests/test_suites/bgp_userfeatures/bgp_llgr_basic.py index ca2b7b3e61..5029040420 100644 --- a/tests/test_suites/bgp_userfeatures/bgp_llgr_basic.py +++ b/tests/test_suites/bgp_userfeatures/bgp_llgr_basic.py @@ -5,7 +5,7 @@ # terms of the Eclipse Public License v1.0 which accompanies this distribution, # and is available at http://www.eclipse.org/legal/epl-v10.html # -# This suite tests simple connection between one ibgp peer (goabgp) and Odl. +# This suite tests simple connection between one ibgp peer (goabgp) and Odl. # Peer is configured with ipv6, and gobgp connectes to odl via ipv6. import json @@ -43,11 +43,11 @@ class TestBgpLlgrBasic: def reconfigure_odl_to_accept_connections(self): mapping = {"BGP_RIB_OPENCONFIG": "example-bgp-rib", "IP": TOOLS_IP, - "HOLDTIME": 180, + "HOLDTIME": 180, "PEER_PORT": 17900, "PASSIVE_MODE": "true"} templated_requests.put_templated_request("data/ipv6/bgp_peer", mapping, json=False) - + def delete_bgp_peer_configuration(self): mapping = {"BGP_RIB_OPENCONFIG": "example-bgp-rib", "IP":TOOLS_IP } templated_requests.delete_templated_request("data/ipv6/bgp_peer", mapping) @@ -73,7 +73,7 @@ class TestBgpLlgrBasic: with allure_step_with_separate_logging("step_reconfigure_odl_to_accept_connections"): """Configure BGP peer modules with initiate-connection set to false with short ipv6 address.""" self.reconfigure_odl_to_accept_connections() - + with allure_step_with_separate_logging("step_start_gobgp"): """Starts gobgp peer simulator.""" self.gobgp_process = bgp.start_gobgp_and_verify_connected(f"tmp/gobgpd", f"tmp/{GOBGP_CFG}", TOOLS_IP) diff --git a/tests/test_suites/bgp_userfeatures/bgp_policies_default.py b/tests/test_suites/bgp_userfeatures/bgp_policies_default.py index 0d9122ebe0..556093b40b 100644 --- a/tests/test_suites/bgp_userfeatures/bgp_policies_default.py +++ b/tests/test_suites/bgp_userfeatures/bgp_policies_default.py @@ -91,20 +91,20 @@ class TestBgpPoliciesDefault: mapping = {"IP": ODL_IP,"BGP_RIB_OPENCONFIG": "example-bgp-rib"} templated_requests.post_templated_request(f"{POLICIES_VAR}/app_peer", mapping, json=False) templated_requests.post_templated_request(f"{POLICIES_VAR}/app_peer_route", mapping, json=False) - + with allure_step_with_separate_logging("step_reconfigure_odl_to_accept_connections"): """Configure BGP peer modules with initiate-connection set to false. Configures 6 different peers, two internal, two external and two route-reflectors.""" for index, peer_type in enumerate(PEER_TYPES): mapping = {"IP": f"127.0.0.{index+2}", "BGP_RIB_OPENCONFIG": RIB_INSTANCE, "RIB_INSTACE_NAME": RIB_INSTANCE, "HOLDTIME": HOLDTIME, "PASSIVE_MODE": "true"} templated_requests.put_templated_request(f"{POLICIES_VAR}/{peer_type}", mapping, json=False) - + with allure_step_with_separate_logging("step_start_exabgps"): """Start 6 exabgps as processes in background, each with it's own configuration.""" for index in range(1, 7): exabgp_process = bgp.start_exabgp(f"tmp/exabgp{index}.cfg", log_file=f"exa{index}.log") self.exabgp_processes.append(exabgp_process) - + with allure_step_with_separate_logging("step_verify_rib_filled"): """Verifies that sent routes are present in particular ribs.""" self.verify_rib_status() @@ -120,7 +120,7 @@ class TestBgpPoliciesDefault: for index, peer_type in enumerate(PEER_TYPES): mapping = {"IP": f"127.0.0.{index+2}", "BGP_RIB_OPENCONFIG": RIB_INSTANCE, "RIB_INSTACE_NAME": RIB_INSTANCE} templated_requests.delete_templated_request(f"{POLICIES_VAR}/{peer_type}", mapping) - + with allure_step_with_separate_logging("step_deconfigure_app_peer"): """Revert the BGP configuration to the original state: without application peer.""" mapping = {"IP": ODL_IP,"BGP_RIB_OPENCONFIG": "example-bgp-rib"} diff --git a/tests/test_suites/bgp_userfeatures/ibgp_peer_lsp.py b/tests/test_suites/bgp_userfeatures/ibgp_peer_lsp.py index 29bde1d253..e17b388e13 100644 --- a/tests/test_suites/bgp_userfeatures/ibgp_peer_lsp.py +++ b/tests/test_suites/bgp_userfeatures/ibgp_peer_lsp.py @@ -9,7 +9,7 @@ # peer operations and checks for IP4 topology updates and updates towards # BGP peer as follows: # -# +# # Basic tests for iBGP peers. # Test suite performs basic iBGP functional test case for carrying LSP State # Information in BGP as described in diff --git a/tests/test_suites/bgp_userfeatures/ibgp_peers_basic.py b/tests/test_suites/bgp_userfeatures/ibgp_peers_basic.py index 1b925300a3..7bdb5aba8b 100644 --- a/tests/test_suites/bgp_userfeatures/ibgp_peers_basic.py +++ b/tests/test_suites/bgp_userfeatures/ibgp_peers_basic.py @@ -106,7 +106,7 @@ class TestIbgpPeersBasic: infra.execute_karaf_command(f"log:set {ODL_LOG_LEVEL}") infra.execute_karaf_command(f"log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.bgpcep") infra.execute_karaf_command(f"log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.protocol") - + with allure_step_with_separate_logging("step_tc1_configure_two_ibgp_route_reflector_client_peers"): """Configure two iBGP peers as routing reflector clients.""" self.configure_ibgp_peer(BGP_PEER1_IP, rr_client=True, cluster_id=False) @@ -268,7 +268,7 @@ class TestIbgpPeersBasic: in second peer which has local route-reflector-cluster-id.""" mapping = {"IP": BGP_PEER2_IP, "BGP_RIB_OPENCONFIG": "example-bgp-rib", "PEER_NUMBER": 1, "CLUSTER_ID": BGP_PEER1_IP, "DEFAULT_ID": "127.0.0.4"} utils.wait_until_function_pass(10, 1, templated_requests.get_templated_request, f"{BGP_DATA_FOLDER}/cluster_id/peer_rib_out", mapping, verify=True) - + with allure_step_with_separate_logging("step_tc4_disconnect_bgp_peers"): """Stop BGP peer & store logs.""" bgp.stop_bgp_speaker(self.bgp_peer1_process) pre-commit: exit 1 (13.57 seconds) /w/workspace/bgpcep-tox-verify-master> pre-commit run --all-files --show-diff-on-failure pid=2400 pre-commit: FAIL ✖ in 17.35 seconds docs-linkcheck: freeze> python -m pip freeze --all docs: freeze> python -m pip freeze --all docs-linkcheck: alabaster==1.0.0,attrs==25.4.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.10.5,charset-normalizer==3.4.4,contourpy==1.3.3,cycler==0.12.1,docutils==0.21.2,fonttools==4.60.1,funcparserlib==2.0.0a0,future==1.0.0,idna==3.11,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.9,lfdocs-conf==0.9.0,MarkupSafe==3.0.3,matplotlib==3.10.7,numpy==2.3.4,nwdiag==3.0.0,packaging==25.0,pillow==12.0.0,pip==25.3,Pygments==2.19.2,pyparsing==3.2.5,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.32.5,requests-file==1.5.1,roman-numerals-py==3.1.0,seqdiag==3.0.0,setuptools==80.9.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.5.0,webcolors==24.11.1 docs-linkcheck: commands[0]> sphinx-build -b linkcheck -d /w/workspace/bgpcep-tox-verify-master/.tox/docs-linkcheck/tmp/doctrees ./docs/ /w/workspace/bgpcep-tox-verify-master/docs/_build/linkcheck docs: alabaster==1.0.0,attrs==25.4.0,babel==2.17.0,blockdiag==3.0.0,certifi==2025.10.5,charset-normalizer==3.4.4,contourpy==1.3.3,cycler==0.12.1,docutils==0.21.2,fonttools==4.60.1,funcparserlib==2.0.0a0,future==1.0.0,idna==3.11,imagesize==1.4.1,Jinja2==3.1.6,jsonschema==3.2.0,kiwisolver==1.4.9,lfdocs-conf==0.9.0,MarkupSafe==3.0.3,matplotlib==3.10.7,numpy==2.3.4,nwdiag==3.0.0,packaging==25.0,pillow==12.0.0,pip==25.3,Pygments==2.19.2,pyparsing==3.2.5,pyrsistent==0.20.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.32.5,requests-file==1.5.1,roman-numerals-py==3.1.0,seqdiag==3.0.0,setuptools==80.9.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.2.3,sphinx-bootstrap-theme==0.8.1,sphinx-data-viewer==0.1.5,sphinx-rtd-theme==3.0.2,sphinx-tabs==3.4.7,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-blockdiag==3.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-needs==0.7.9,sphinxcontrib-nwdiag==2.0.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-seqdiag==3.0.0,sphinxcontrib-serializinghtml==2.0.0,sphinxcontrib-swaggerdoc==0.1.7,urllib3==2.5.0,webcolors==24.11.1 docs: commands[0]> sphinx-build -W --keep-going -b html -n -d /w/workspace/bgpcep-tox-verify-master/.tox/docs/tmp/doctrees ./docs/ /w/workspace/bgpcep-tox-verify-master/docs/_build/html Running Sphinx v8.2.3 Running Sphinx v8.2.3 loading translations [en]... done loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. loading intersphinx inventory 'common-packer' from https://docs.releng.linuxfoundation.org/projects/common-packer/en/stable/objects.inv ... loading intersphinx inventory 'global-jjb' from https://docs.releng.linuxfoundation.org/projects/global-jjb/en/stable/objects.inv ... loading intersphinx inventory 'lfdocs' from https://docs.releng.linuxfoundation.org/en/latest/objects.inv ... loading intersphinx inventory 'common-packer' from https://docs.releng.linuxfoundation.org/projects/common-packer/en/stable/objects.inv ... loading intersphinx inventory 'global-jjb' from https://docs.releng.linuxfoundation.org/projects/global-jjb/en/stable/objects.inv ... loading intersphinx inventory 'lfdocs' from https://docs.releng.linuxfoundation.org/en/latest/objects.inv ... loading intersphinx inventory 'lfdocs-conf' from https://docs.releng.linuxfoundation.org/projects/lfdocs-conf/en/stable/objects.inv ... loading intersphinx inventory 'lftools' from https://docs.releng.linuxfoundation.org/projects/lftools/en/stable/objects.inv ... loading intersphinx inventory 'lfdocs-conf' from https://docs.releng.linuxfoundation.org/projects/lfdocs-conf/en/stable/objects.inv ... loading intersphinx inventory 'pipelines' from https://docs.releng.linuxfoundation.org/projects/pipelines/en/latest/objects.inv ... loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ... loading intersphinx inventory 'lftools' from https://docs.releng.linuxfoundation.org/projects/lftools/en/stable/objects.inv ... loading intersphinx inventory 'pipelines' from https://docs.releng.linuxfoundation.org/projects/pipelines/en/latest/objects.inv ... loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ... building [mo]: targets for 0 po files that are out of date writing output... building [linkcheck]: targets for 58 source files that are out of date updating environment: [new config] 58 added, 0 changed, 0 removed reading sources... [ 2%] algo/algo-user-guide-algo-model building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 58 source files that are out of date updating environment: [new config] 58 added, 0 changed, 0 removed reading sources... [ 2%] algo/algo-user-guide-algo-model reading sources... [ 3%] algo/algo-user-guide-running-algo reading sources... [ 3%] algo/algo-user-guide-running-algo reading sources... [ 5%] algo/index reading sources... [ 7%] bgp-developer-guide reading sources... [ 5%] algo/index reading sources... [ 7%] bgp-developer-guide reading sources... [ 9%] bgp-monitoring-protocol-developer-guide reading sources... [ 9%] bgp-monitoring-protocol-developer-guide reading sources... [ 10%] bgp/bgp-user-guide-additional-path-capability reading sources... [ 10%] bgp/bgp-user-guide-additional-path-capability reading sources... [ 12%] bgp/bgp-user-guide-bgp-application-peer reading sources... [ 12%] bgp/bgp-user-guide-bgp-application-peer reading sources... [ 14%] bgp/bgp-user-guide-bgp-peering reading sources... [ 14%] bgp/bgp-user-guide-bgp-peering reading sources... [ 16%] bgp/bgp-user-guide-bgp-server reading sources... [ 17%] bgp/bgp-user-guide-config-concepts reading sources... [ 19%] bgp/bgp-user-guide-evpn-family reading sources... [ 16%] bgp/bgp-user-guide-bgp-server reading sources... [ 17%] bgp/bgp-user-guide-config-concepts reading sources... [ 19%] bgp/bgp-user-guide-evpn-family reading sources... [ 21%] bgp/bgp-user-guide-flowspec-family reading sources... [ 22%] bgp/bgp-user-guide-graceful-restart-capability reading sources... [ 24%] bgp/bgp-user-guide-high-availability reading sources... [ 26%] bgp/bgp-user-guide-ip-unicast-family reading sources... [ 28%] bgp/bgp-user-guide-l3vpn-family reading sources... [ 21%] bgp/bgp-user-guide-flowspec-family reading sources... [ 29%] bgp/bgp-user-guide-labeled-family reading sources... [ 31%] bgp/bgp-user-guide-linkstate-family reading sources... [ 22%] bgp/bgp-user-guide-graceful-restart-capability reading sources... [ 33%] bgp/bgp-user-guide-long-lived-graceful-restart-capability reading sources... [ 34%] bgp/bgp-user-guide-mvpn-family reading sources... [ 24%] bgp/bgp-user-guide-high-availability reading sources... [ 26%] bgp/bgp-user-guide-ip-unicast-family reading sources... [ 28%] bgp/bgp-user-guide-l3vpn-family reading sources... [ 36%] bgp/bgp-user-guide-operational-state reading sources... [ 29%] bgp/bgp-user-guide-labeled-family reading sources... [ 31%] bgp/bgp-user-guide-linkstate-family reading sources... [ 33%] bgp/bgp-user-guide-long-lived-graceful-restart-capability reading sources... [ 38%] bgp/bgp-user-guide-overview reading sources... [ 40%] bgp/bgp-user-guide-pmsi-attribute reading sources... [ 41%] bgp/bgp-user-guide-protocol-configuration reading sources... [ 43%] bgp/bgp-user-guide-protocol-configuration-loader reading sources... [ 45%] bgp/bgp-user-guide-revised-error-handling reading sources... [ 47%] bgp/bgp-user-guide-rib-config-policies reading sources... [ 34%] bgp/bgp-user-guide-mvpn-family reading sources... [ 36%] bgp/bgp-user-guide-operational-state reading sources... [ 48%] bgp/bgp-user-guide-route-refresh-capability reading sources... [ 50%] bgp/bgp-user-guide-route-target-family reading sources... [ 52%] bgp/bgp-user-guide-running-bgp reading sources... [ 53%] bgp/bgp-user-guide-supported-capabilities reading sources... [ 38%] bgp/bgp-user-guide-overview reading sources... [ 40%] bgp/bgp-user-guide-pmsi-attribute reading sources... [ 55%] bgp/bgp-user-guide-test-tools reading sources... [ 41%] bgp/bgp-user-guide-protocol-configuration reading sources... [ 57%] bgp/bgp-user-guide-topology-provider reading sources... [ 43%] bgp/bgp-user-guide-protocol-configuration-loader reading sources... [ 45%] bgp/bgp-user-guide-revised-error-handling reading sources... [ 59%] bgp/bgp-user-guide-troubleshooting reading sources... [ 47%] bgp/bgp-user-guide-rib-config-policies reading sources... [ 60%] bgp/index reading sources... [ 62%] bmp/bgp-monitoring-protocol-user-guide-config-concepts reading sources... [ 64%] bmp/bgp-monitoring-protocol-user-guide-overview reading sources... [ 66%] bmp/bgp-monitoring-protocol-user-guide-running-bmp reading sources... [ 67%] bmp/bgp-monitoring-protocol-user-guide-supported-capabilities reading sources... [ 69%] bmp/bgp-monitoring-protocol-user-guide-test-tools reading sources... [ 71%] bmp/bgp-monitoring-protocol-user-guide-troubleshooting reading sources... [ 72%] bmp/index reading sources... [ 74%] graph/graph-user-guide-graph-model reading sources... [ 76%] graph/graph-user-guide-manage-graph reading sources... [ 78%] graph/graph-user-guide-running-graph reading sources... [ 79%] graph/index reading sources... [ 81%] index reading sources... [ 83%] pcep-developer-guide reading sources... [ 84%] pcep/index reading sources... [ 86%] pcep/pcep-user-guide-active-stateful-pce reading sources... [ 88%] pcep/pcep-user-guide-cli reading sources... [ 90%] pcep/pcep-user-guide-overview reading sources... [ 91%] pcep/pcep-user-guide-pce-server reading sources... [ 48%] bgp/bgp-user-guide-route-refresh-capability reading sources... [ 50%] bgp/bgp-user-guide-route-target-family reading sources... [ 93%] pcep/pcep-user-guide-running-pcep reading sources... [ 95%] pcep/pcep-user-guide-session-statistics reading sources... [ 52%] bgp/bgp-user-guide-running-bgp reading sources... [ 53%] bgp/bgp-user-guide-supported-capabilities reading sources... [ 97%] pcep/pcep-user-guide-supported-capabilities reading sources... [ 98%] pcep/pcep-user-guide-test-tools reading sources... [ 55%] bgp/bgp-user-guide-test-tools reading sources... [100%] pcep/pcep-user-guide-troubleshooting looking for now-outdated files... none found reading sources... [ 57%] bgp/bgp-user-guide-topology-provider pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /w/workspace/bgpcep-tox-verify-master/docs/_build/html/_static/basic.css Writing evaluated template result to /w/workspace/bgpcep-tox-verify-master/docs/_build/html/_static/documentation_options.js Writing evaluated template result to /w/workspace/bgpcep-tox-verify-master/docs/_build/html/_static/language_data.js Writing evaluated template result to /w/workspace/bgpcep-tox-verify-master/docs/_build/html/_static/bootstrap-sphinx.css Writing evaluated template result to /w/workspace/bgpcep-tox-verify-master/docs/_build/html/_static/bootstrap-sphinx.js reading sources... [ 59%] bgp/bgp-user-guide-troubleshooting copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 2%] algo/algo-user-guide-algo-model reading sources... [ 60%] bgp/index reading sources... [ 62%] bmp/bgp-monitoring-protocol-user-guide-config-concepts reading sources... [ 64%] bmp/bgp-monitoring-protocol-user-guide-overview reading sources... [ 66%] bmp/bgp-monitoring-protocol-user-guide-running-bmp reading sources... [ 67%] bmp/bgp-monitoring-protocol-user-guide-supported-capabilities reading sources... [ 69%] bmp/bgp-monitoring-protocol-user-guide-test-tools reading sources... [ 71%] bmp/bgp-monitoring-protocol-user-guide-troubleshooting reading sources... [ 72%] bmp/index reading sources... [ 74%] graph/graph-user-guide-graph-model reading sources... [ 76%] graph/graph-user-guide-manage-graph reading sources... [ 78%] graph/graph-user-guide-running-graph reading sources... [ 79%] graph/index reading sources... [ 81%] index writing output... [ 3%] algo/algo-user-guide-running-algo reading sources... [ 83%] pcep-developer-guide reading sources... [ 84%] pcep/index reading sources... [ 86%] pcep/pcep-user-guide-active-stateful-pce writing output... [ 5%] algo/index writing output... [ 7%] bgp-developer-guide writing output... [ 9%] bgp-monitoring-protocol-developer-guide writing output... [ 10%] bgp/bgp-user-guide-additional-path-capability writing output... [ 12%] bgp/bgp-user-guide-bgp-application-peer reading sources... [ 88%] pcep/pcep-user-guide-cli reading sources... [ 90%] pcep/pcep-user-guide-overview reading sources... [ 91%] pcep/pcep-user-guide-pce-server writing output... [ 14%] bgp/bgp-user-guide-bgp-peering reading sources... [ 93%] pcep/pcep-user-guide-running-pcep reading sources... [ 95%] pcep/pcep-user-guide-session-statistics reading sources... [ 97%] pcep/pcep-user-guide-supported-capabilities reading sources... [ 98%] pcep/pcep-user-guide-test-tools reading sources... [100%] pcep/pcep-user-guide-troubleshooting looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying assets: done writing output... [ 2%] algo/algo-user-guide-algo-model writing output... [ 3%] algo/algo-user-guide-running-algo writing output... [ 5%] algo/index writing output... [ 7%] bgp-developer-guide writing output... [ 9%] bgp-monitoring-protocol-developer-guide writing output... [ 10%] bgp/bgp-user-guide-additional-path-capability writing output... [ 12%] bgp/bgp-user-guide-bgp-application-peer writing output... [ 14%] bgp/bgp-user-guide-bgp-peering writing output... [ 16%] bgp/bgp-user-guide-bgp-server writing output... [ 17%] bgp/bgp-user-guide-config-concepts writing output... [ 19%] bgp/bgp-user-guide-evpn-family writing output... [ 16%] bgp/bgp-user-guide-bgp-server writing output... [ 21%] bgp/bgp-user-guide-flowspec-family writing output... [ 22%] bgp/bgp-user-guide-graceful-restart-capability writing output... [ 24%] bgp/bgp-user-guide-high-availability writing output... [ 26%] bgp/bgp-user-guide-ip-unicast-family writing output... [ 17%] bgp/bgp-user-guide-config-concepts writing output... [ 28%] bgp/bgp-user-guide-l3vpn-family writing output... [ 29%] bgp/bgp-user-guide-labeled-family writing output... [ 31%] bgp/bgp-user-guide-linkstate-family writing output... [ 33%] bgp/bgp-user-guide-long-lived-graceful-restart-capability writing output... [ 34%] bgp/bgp-user-guide-mvpn-family writing output... [ 19%] bgp/bgp-user-guide-evpn-family writing output... [ 36%] bgp/bgp-user-guide-operational-state writing output... [ 38%] bgp/bgp-user-guide-overview writing output... [ 40%] bgp/bgp-user-guide-pmsi-attribute writing output... [ 41%] bgp/bgp-user-guide-protocol-configuration writing output... [ 43%] bgp/bgp-user-guide-protocol-configuration-loader writing output... [ 45%] bgp/bgp-user-guide-revised-error-handling writing output... [ 47%] bgp/bgp-user-guide-rib-config-policies writing output... [ 48%] bgp/bgp-user-guide-route-refresh-capability writing output... [ 50%] bgp/bgp-user-guide-route-target-family writing output... [ 52%] bgp/bgp-user-guide-running-bgp writing output... [ 53%] bgp/bgp-user-guide-supported-capabilities writing output... [ 55%] bgp/bgp-user-guide-test-tools writing output... [ 57%] bgp/bgp-user-guide-topology-provider writing output... [ 59%] bgp/bgp-user-guide-troubleshooting writing output... [ 60%] bgp/index writing output... [ 62%] bmp/bgp-monitoring-protocol-user-guide-config-concepts writing output... [ 64%] bmp/bgp-monitoring-protocol-user-guide-overview writing output... [ 66%] bmp/bgp-monitoring-protocol-user-guide-running-bmp writing output... [ 67%] bmp/bgp-monitoring-protocol-user-guide-supported-capabilities writing output... [ 69%] bmp/bgp-monitoring-protocol-user-guide-test-tools writing output... [ 71%] bmp/bgp-monitoring-protocol-user-guide-troubleshooting writing output... [ 72%] bmp/index writing output... [ 74%] graph/graph-user-guide-graph-model writing output... [ 76%] graph/graph-user-guide-manage-graph writing output... [ 78%] graph/graph-user-guide-running-graph writing output... [ 79%] graph/index writing output... [ 81%] index writing output... [ 21%] bgp/bgp-user-guide-flowspec-family writing output... [ 83%] pcep-developer-guide writing output... [ 84%] pcep/index writing output... [ 22%] bgp/bgp-user-guide-graceful-restart-capability writing output... [ 24%] bgp/bgp-user-guide-high-availability writing output... [ 26%] bgp/bgp-user-guide-ip-unicast-family writing output... [ 86%] pcep/pcep-user-guide-active-stateful-pce writing output... [ 28%] bgp/bgp-user-guide-l3vpn-family writing output... [ 88%] pcep/pcep-user-guide-cli writing output... [ 90%] pcep/pcep-user-guide-overview writing output... [ 91%] pcep/pcep-user-guide-pce-server writing output... [ 93%] pcep/pcep-user-guide-running-pcep writing output... [ 95%] pcep/pcep-user-guide-session-statistics writing output... [ 97%] pcep/pcep-user-guide-supported-capabilities writing output... [ 98%] pcep/pcep-user-guide-test-tools writing output... [100%] pcep/pcep-user-guide-troubleshooting (bgp-developer-guide: line 32) -ignored- https://tools.ietf.org/html/rfc4271 (bgp-developer-guide: line 32) -ignored- https://tools.ietf.org/html/rfc4760 (bgp-developer-guide: line 32) -ignored- https://tools.ietf.org/html/rfc4456 (bgp-developer-guide: line 32) -ignored- https://tools.ietf.org/html/rfc1997 (bgp-developer-guide: line 32) -ignored- https://tools.ietf.org/html/rfc4360 (bgp-developer-guide: line 39) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/concepts/src/main/yang/bgp-types.yang;hb=refs/heads/stable/boron (bgp-developer-guide: line 42) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/NextHopUtil.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 57) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/parser-impl/src/main/java/org/opendaylight/protocol/bgp/parser/impl/BGPActivator.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 95) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi/pojo/SimpleBGPExtensionProviderContext.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 95) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=tree;f=bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi;hb=refs/heads/stable/boron (bgp-developer-guide: line 194) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPSynchronization.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 203) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 203) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/StrictBGPPeerRegistry.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 214) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/ApplicationPeer.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 223) -ignored- https://tools.ietf.org/html/rfc4271#section-3.2 (bgp-developer-guide: line 229) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupport.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 242) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibInWriter.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 248) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/EffectiveRibInWriter.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 253) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/LocRibWriter.java;hb=refs/heads/stable/boron (bgp-developer-guide: line 259) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibOutListener.java;h=a14fd54a29ea613b381a36248f67491d968963b8;hb=refs/heads/stable/boron (bgp-developer-guide: line 266) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/inet/src/main/yang/bgp-inet.yang;hb=refs/heads/stable/boron (bgp-developer-guide: line 274) -ignored- https://tools.ietf.org/html/rfc5575 (bgp-developer-guide: line 274) -ignored- https://tools.ietf.org/html/draft-ietf-idr-flow-spec-v6-06 (bgp-developer-guide: line 274) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/flowspec/src/main/yang/bgp-flowspec.yang;hb=refs/heads/stable/boron (bgp-developer-guide: line 289) -ignored- https://tools.ietf.org/html/draft-ietf-idr-ls-distribution-04 (bgp-developer-guide: line 289) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/linkstate/src/main/yang/bgp-linkstate.yang;hb=refs/heads/stable/boron (bgp-developer-guide: line 289) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/LinkstateAttributeParser.java;hb=HEAD (bgp-developer-guide: line 289) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/nlri/LinkstateNlriParser.java;hb=HEAD (bgp-developer-guide: line 289) -ignored- https://tools.ietf.org/html/draft-ietf-idr-te-lsp-distribution-03 (bgp-developer-guide: line 289) -ignored- https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-00 (bgp-developer-guide: line 289) -ignored- https://tools.ietf.org/html/draft-ietf-idr-bgpls-segment-routing-epe-02 (bgp-developer-guide: line 312) -ignored- https://tools.ietf.org/html/rfc3107 (bgp-developer-guide: line 312) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob_plain;f=bgp/labeled-unicast/src/main/yang/bgp-labeled-unicast.yang;hb=refs/heads/stable/boron (bgp-developer-guide: line 326) -ignored- https://tools.ietf.org/html/draft-clemm-netmod-yang-network-topo-01 (bgp-monitoring-protocol-developer-guide: line 50) -ignored- https://tools.ietf.org/html/draft-ietf-grow-bmp-15 (bgp/bgp-user-guide-additional-path-capability: line 344) -ignored- https://tools.ietf.org/html/rfc7911 (bgp/bgp-user-guide-additional-path-capability: line 345) -ignored- https://tools.ietf.org/html/draft-ietf-idr-add-paths-guidelines-08 (bgp/bgp-user-guide-config-concepts: line 88) -ignored- https://tools.ietf.org/html/rfc6793 (bgp/bgp-user-guide-config-concepts: line 89) -ignored- https://tools.ietf.org/html/rfc7311 (bgp/bgp-user-guide-config-concepts: line 90) -ignored- https://tools.ietf.org/html/rfc5668 (bgp/bgp-user-guide-config-concepts: line 91) -ignored- https://tools.ietf.org/html/draft-ietf-idr-link-bandwidth-06 (bgp/bgp-user-guide-config-concepts: line 92) -ignored- https://tools.ietf.org/html/rfc7938 (bgp/bgp-user-guide-evpn-family: line 1021) -ignored- https://tools.ietf.org/html/rfc7432 (bgp/bgp-user-guide-evpn-family: line 1022) -ignored- https://tools.ietf.org/html/rfc7623 (bgp/bgp-user-guide-evpn-family: line 1023) -ignored- https://tools.ietf.org/html/draft-ietf-bess-evpn-vpws-07 (bgp/bgp-user-guide-evpn-family: line 1024) -ignored- https://tools.ietf.org/html/draft-ietf-bess-evpn-overlay-04 (bgp/bgp-user-guide-evpn-family: line 1025) -ignored- https://tools.ietf.org/html/draft-ietf-bess-dci-evpn-overlay-04 (bgp/bgp-user-guide-evpn-family: line 1026) -ignored- https://tools.ietf.org/html/draft-ietf-bess-evpn-usage-03 (bgp/bgp-user-guide-flowspec-family: line 1390) -ignored- https://tools.ietf.org/html/draft-ietf-idr-flow-spec-v6-07 (bgp/bgp-user-guide-flowspec-family: line 1391) -ignored- https://tools.ietf.org/html/draft-ietf-idr-flowspec-redirect-ip-00 (bgp/bgp-user-guide-flowspec-family: line 1392) -ignored- https://tools.ietf.org/html/rfc7674 (bgp/bgp-user-guide-flowspec-family: line 1393) -ignored- https://tools.ietf.org/html/draft-ietf-idr-bgp-flowspec-oid-03 (bgp/bgp-user-guide-graceful-restart-capability: line 174) -ignored- https://tools.ietf.org/html/rfc4724 (bgp/bgp-user-guide-l3vpn-family: line 651) -ignored- https://tools.ietf.org/html/rfc4364 (bgp/bgp-user-guide-l3vpn-family: line 652) -ignored- https://tools.ietf.org/html/rfc4659 (bgp/bgp-user-guide-l3vpn-family: line 653) -ignored- https://tools.ietf.org/html/draft-ietf-bess-virtual-pe-00 (bgp/bgp-user-guide-labeled-family: line 460) -ignored- https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-03 (bgp/bgp-user-guide-labeled-family: line 461) -ignored- https://tools.ietf.org/html/rfc4798 (bgp/bgp-user-guide-labeled-family: line 462) -ignored- https://tools.ietf.org/html/draft-ietf-spring-segment-routing-msdc-01 (bgp/bgp-user-guide-labeled-family: line 463) -ignored- https://tools.ietf.org/html/draft-gredler-idr-bgplu-epe-06 (bgp/bgp-user-guide-linkstate-family: line 659) -ignored- https://tools.ietf.org/html/rfc9552 (bgp/bgp-user-guide-linkstate-family: line 660) -ignored- https://tools.ietf.org/html/rfc9085 (bgp/bgp-user-guide-linkstate-family: line 661) -ignored- https://tools.ietf.org/html/rfc9086 (bgp/bgp-user-guide-linkstate-family: line 662) -ignored- https://tools.ietf.org/html/rfc9351 (bgp/bgp-user-guide-linkstate-family: line 663) -ignored- https://tools.ietf.org/html/rfc9514 (bgp/bgp-user-guide-linkstate-family: line 664) -ignored- https://tools.ietf.org/html/rfc8814 (bgp/bgp-user-guide-linkstate-family: line 665) -ignored- https://tools.ietf.org/html/rfc8571 (bgp/bgp-user-guide-linkstate-family: line 666) -ignored- https://tools.ietf.org/html/rfc9294 (bgp/bgp-user-guide-linkstate-family: line 667) -ignored- https://tools.ietf.org/html/draft-ietf-idr-ls-distribution-impl-04 (bgp/bgp-user-guide-long-lived-graceful-restart-capability: line 75) -ignored- https://tools.ietf.org/html/draft-uttaro-idr-bgp-persistence-04 (bgp/bgp-user-guide-mvpn-family: line 994) -ignored- https://tools.ietf.org/html/rfc6513 (bgp/bgp-user-guide-mvpn-family: line 995) -ignored- https://tools.ietf.org/html/rfc6514 (bgp/bgp-user-guide-mvpn-family: line 996) -ignored- https://tools.ietf.org/html/rfc6515 (bgp/bgp-user-guide-revised-error-handling: line 6) -ignored- https://tools.ietf.org/html/rfc7606 (bgp/bgp-user-guide-rib-config-policies: line 8) -ignored- https://tools.ietf.org/html/rfc8212 (bgp/bgp-user-guide-route-refresh-capability: line 58) -ignored- https://tools.ietf.org/html/rfc2918 (bgp/bgp-user-guide-route-target-family: line 433) -ignored- https://tools.ietf.org/html/rfc4684 (bgp/bgp-user-guide-supported-capabilities: line 11) -ignored- https://tools.ietf.org/html/rfc4486 (bgp/bgp-user-guide-supported-capabilities: line 12) -ignored- https://tools.ietf.org/html/rfc5492 (bgp/bgp-user-guide-supported-capabilities: line 13) -ignored- https://tools.ietf.org/html/rfc5004 (bgp/bgp-user-guide-supported-capabilities: line 14) -ignored- https://tools.ietf.org/html/rfc6286 (bgp/bgp-user-guide-supported-capabilities: line 19) -ignored- https://tools.ietf.org/html/draft-ietf-idr-bgp-extended-messages-13 (bgp/bgp-user-guide-supported-capabilities: line 21) -ignored- https://tools.ietf.org/html/rfc7752 (bgp/bgp-user-guide-supported-capabilities: line 22) -ignored- https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-03 (bgp/bgp-user-guide-supported-capabilities: line 23) -ignored- https://tools.ietf.org/html/draft-ietf-idr-bgpls-segment-routing-epe-05 (bgp/bgp-user-guide-supported-capabilities: line 25) -ignored- http://tools.ietf.org/html/rfc7674 (bgp/bgp-user-guide-supported-capabilities: line 39) -ignored- https://tools.ietf.org/html/draft-sajassi-bess-evpn-vpws-fxc-01 (bmp/bgp-monitoring-protocol-user-guide-supported-capabilities: line 7) -ignored- https://tools.ietf.org/html/rfc7854 (pcep-developer-guide: line 68) -ignored- https://tools.ietf.org/html/rfc5441 (pcep-developer-guide: line 68) -ignored- https://tools.ietf.org/html/rfc5541 (pcep-developer-guide: line 68) -ignored- https://tools.ietf.org/html/rfc5455 (pcep-developer-guide: line 68) -ignored- https://tools.ietf.org/html/rfc5557 (pcep-developer-guide: line 68) -ignored- https://tools.ietf.org/html/rfc5521 (pcep-developer-guide: line 120) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo/SimplePCEPExtensionProviderContext.java;hb=HEAD (pcep-developer-guide: line 120) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=tree;f=pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/pojo;hb=HEAD (pcep-developer-guide: line 162) -ignored- https://tools.ietf.org/html/draft-ietf-pce-stateful-pce (pcep-developer-guide: line 162) -ignored- https://tools.ietf.org/html/draft-ietf-pce-pce-initiated-lsp (pcep-developer-guide: line 173) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=pcep/api/src/main/yang/pcep-types.yang;hb=HEAD (pcep-developer-guide: line 198) -ignored- https://tools.ietf.org/html/draft-ietf-pce-segment-routing-01 (pcep-developer-guide: line 213) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=pcep/segment-routing/src/main/yang/odl-pcep-segment-routing.yang;hb=HEAD (pcep-developer-guide: line 218) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=pcep/segment-routing/src/main/java/org/opendaylight/protocol/pcep/segment/routing/SrEroSubobjectParser.java;hb=HEAD (pcep-developer-guide: line 218) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=pcep/segment-routing/src/main/java/org/opendaylight/protocol/pcep/segment/routing/SrPceCapabilityTlvParser.java;hb=HEAD (pcep-developer-guide: line 220) -ignored- https://tools.ietf.org/html/draft-ietf-pce-lsp-setup-type-01 (pcep-developer-guide: line 228) -ignored- https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob;f=pcep/base-parser/src/main/java/org/opendaylight/protocol/pcep/parser/tlv/PathSetupTypeTlvParser.java;hb=HEAD (pcep/pcep-user-guide-supported-capabilities: line 6) -ignored- https://tools.ietf.org/html/rfc5440 (pcep/pcep-user-guide-supported-capabilities: line 8) -ignored- https://tools.ietf.org/html/rfc5520 (pcep/pcep-user-guide-supported-capabilities: line 12) -ignored- https://tools.ietf.org/html/rfc5886 (pcep/pcep-user-guide-supported-capabilities: line 13) -ignored- https://tools.ietf.org/html/rfc7470 (pcep/pcep-user-guide-supported-capabilities: line 14) -ignored- https://tools.ietf.org/html/rfc7896 (pcep/pcep-user-guide-supported-capabilities: line 15) -ignored- https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-16 (pcep/pcep-user-guide-supported-capabilities: line 16) -ignored- https://tools.ietf.org/html/draft-ietf-pce-pce-initiated-lsp-07 (pcep/pcep-user-guide-supported-capabilities: line 17) -ignored- https://tools.ietf.org/html/draft-ietf-pce-segment-routing-07 (pcep/pcep-user-guide-supported-capabilities: line 18) -ignored- https://tools.ietf.org/html/draft-ietf-pce-lsp-setup-type-03 (pcep/pcep-user-guide-supported-capabilities: line 19) -ignored- https://tools.ietf.org/html/draft-ietf-pce-stateful-sync-optimizations-05 (pcep/pcep-user-guide-supported-capabilities: line 20) -ignored- https://tools.ietf.org/html/draft-sivabalan-pce-binding-label-sid-01 (pcep/pcep-user-guide-supported-capabilities: line 21) -ignored- https://tools.ietf.org/html/draft-ietf-pce-pceps-10 (pcep/pcep-user-guide-supported-capabilities: line 22) -ignored- https://tools.ietf.org/html/rfc8306 (pcep/pcep-user-guide-troubleshooting: line 67) -ignored- https://tools.ietf.org/html/rfc4655 (pcep/pcep-user-guide-troubleshooting: line 68) -ignored- https://tools.ietf.org/html/rfc4657 (pcep/pcep-user-guide-troubleshooting: line 69) -ignored- https://tools.ietf.org/html/rfc7399 (pcep/pcep-user-guide-troubleshooting: line 70) -ignored- https://tools.ietf.org/html/rfc7491 (pcep/pcep-user-guide-troubleshooting: line 71) -ignored- https://tools.ietf.org/html/rfc5623 (pcep/pcep-user-guide-troubleshooting: line 72) -ignored- https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-app-07 writing output... [ 29%] bgp/bgp-user-guide-labeled-family writing output... [ 31%] bgp/bgp-user-guide-linkstate-family writing output... [ 33%] bgp/bgp-user-guide-long-lived-graceful-restart-capability writing output... [ 34%] bgp/bgp-user-guide-mvpn-family (graph/graph-user-guide-graph-model: line 50) ok https://en.wikipedia.org/wiki/Graph_theory (algo/algo-user-guide-algo-model: line 30) ok https://en.wikipedia.org/wiki/Shortest_path_problem writing output... [ 36%] bgp/bgp-user-guide-operational-state (algo/algo-user-guide-algo-model: line 30) ok https://en.wikipedia.org/wiki/Constrained_Shortest_Path_First writing output... [ 38%] bgp/bgp-user-guide-overview writing output... [ 40%] bgp/bgp-user-guide-pmsi-attribute writing output... [ 41%] bgp/bgp-user-guide-protocol-configuration writing output... [ 43%] bgp/bgp-user-guide-protocol-configuration-loader writing output... [ 45%] bgp/bgp-user-guide-revised-error-handling writing output... [ 47%] bgp/bgp-user-guide-rib-config-policies writing output... [ 48%] bgp/bgp-user-guide-route-refresh-capability writing output... [ 50%] bgp/bgp-user-guide-route-target-family writing output... [ 52%] bgp/bgp-user-guide-running-bgp writing output... [ 53%] bgp/bgp-user-guide-supported-capabilities writing output... [ 55%] bgp/bgp-user-guide-test-tools writing output... [ 57%] bgp/bgp-user-guide-topology-provider writing output... [ 59%] bgp/bgp-user-guide-troubleshooting writing output... [ 60%] bgp/index writing output... [ 62%] bmp/bgp-monitoring-protocol-user-guide-config-concepts writing output... [ 64%] bmp/bgp-monitoring-protocol-user-guide-overview writing output... [ 66%] bmp/bgp-monitoring-protocol-user-guide-running-bmp writing output... [ 67%] bmp/bgp-monitoring-protocol-user-guide-supported-capabilities writing output... [ 69%] bmp/bgp-monitoring-protocol-user-guide-test-tools writing output... [ 71%] bmp/bgp-monitoring-protocol-user-guide-troubleshooting writing output... [ 72%] bmp/index writing output... [ 74%] graph/graph-user-guide-graph-model (bgp/bgp-user-guide-troubleshooting: line 41) redirect https://jira.opendaylight.org/browse/BGPCEP-756?jql=project%20%3D%20BGPCEP%20AND%20component%20%3D%20BGP - with Found to https://lf-opendaylight.atlassian.net/issues/?jql=project+%3D+BGPCEP+AND+component+%3D+BGP&selectedIssue=BGPCEP-756 writing output... [ 76%] graph/graph-user-guide-manage-graph writing output... [ 78%] graph/graph-user-guide-running-graph writing output... [ 79%] graph/index writing output... [ 81%] index writing output... [ 83%] pcep-developer-guide writing output... [ 84%] pcep/index writing output... [ 86%] pcep/pcep-user-guide-active-stateful-pce writing output... [ 88%] pcep/pcep-user-guide-cli writing output... [ 90%] pcep/pcep-user-guide-overview writing output... [ 91%] pcep/pcep-user-guide-pce-server writing output... [ 93%] pcep/pcep-user-guide-running-pcep writing output... [ 95%] pcep/pcep-user-guide-session-statistics writing output... [ 97%] pcep/pcep-user-guide-supported-capabilities writing output... [ 98%] pcep/pcep-user-guide-test-tools writing output... [100%] pcep/pcep-user-guide-troubleshooting generating indices... genindex done highlighting module code... writing additional pages... search done copying images... [ 4%] images/bgpcep/bgp-dependency-tree.png copying images... [ 7%] images/bgpcep/PathAttributesSerialization.png copying images... [ 11%] images/bgpcep/RIB.png copying images... [ 15%] bgp/images/local-as.png copying images... [ 19%] bgp/images/MultipleClustersIds.png copying images... [ 22%] bgp/images/bgp-pipeline.png copying images... [ 26%] bgp/images/bgp-app-pipeline.png copying images... [ 30%] bgp/images/BGP_HA.png copying images... [ 33%] bgp/images/BGP_HA_failure.png copying images... [ 37%] bgp/images/BGP_HA_recovery.png copying images... [ 41%] bmp/images/bmp.png copying images... [ 44%] bmp/images/bmp-plugin.png copying images... [ 48%] images/bgpcep/pcep-dependency-tree.png copying images... [ 52%] images/bgpcep/pcep-parsing.png copying images... [ 56%] images/bgpcep/validation.png copying images... [ 59%] pcep/images/pcep-sync.png copying images... [ 63%] pcep/images/pcep-delegation-return.png copying images... [ 67%] pcep/images/pcep-update.png copying images... [ 70%] pcep/images/pcep-initiate.png copying images... [ 74%] pcep/images/pcep-deletion.png copying images... [ 78%] pcep/images/pcep-revoke-delegation.png copying images... [ 81%] pcep/images/pcep-sync-skipped.png copying images... [ 85%] pcep/images/pcep-sync-incremental.png copying images... [ 89%] pcep/images/pcep-sync-initial.png copying images... [ 93%] pcep/images/pcep-re-sync.png copying images... [ 96%] pcep/images/pcep.png copying images... [100%] pcep/images/pcep-plugin.png (bmp/bgp-monitoring-protocol-user-guide-troubleshooting: line 43) redirect https://jira.opendaylight.org/projects/BGPCEP/issues/BGPCEP-589?filter=allopenissues - with Found to https://lf-opendaylight.atlassian.net/jira/software/c/projects/BGPCEP/issues/?filter=allopenissues&selectedIssue=BGPCEP-589 dumping search index in English (code: en)... done dumping object inventory... done build succeeded. The HTML pages are in docs/_build/html. (bgp/bgp-user-guide-evpn-family: line 976) ok http://www.iana.org/assignments/bgp-parameters/bgp-parameters.xhtml#tunnel-types build succeeded. Look for any errors in the above output or in docs/_build/linkcheck/output.txt docs: OK ✔ in 30.29 seconds docs: OK (30.29=setup[23.66]+cmd[6.63] seconds) docs-linkcheck: OK (30.63=setup[23.63]+cmd[7.00] seconds) pre-commit: FAIL code 1 (17.35=setup[3.78]+cmd[13.57] seconds) evaluation failed :( (30.66 seconds) + tox_status=255 + echo '---> Completed tox runs' ---> Completed tox runs + 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/bgpcep-tox-verify-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/bgpcep-tox-verify-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/bgpcep-tox-verify-master/archives/tox/pre-commit + DOC_DIR=docs/_build/html + [[ -d docs/_build/html ]] + echo '---> Archiving generated docs' ---> Archiving generated docs + mv docs/_build/html /w/workspace/bgpcep-tox-verify-master/archives/docs + echo '---> tox-run.sh ends' ---> tox-run.sh ends + test 255 -eq 0 + exit 255 ++ '[' 1 = 1 ']' ++ '[' -x /usr/bin/clear_console ']' ++ /usr/bin/clear_console -q Build step 'Execute shell' marked build as failure $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 1649 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins14645832569246716808.sh ---> sysstat.sh [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins5238104170771493396.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=debian + workspace=/w/workspace/bgpcep-tox-verify-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/bgpcep-tox-verify-master ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + dpkg -l + grep '^ii' + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + '[' /w/workspace/bgpcep-tox-verify-master ']' + mkdir -p /w/workspace/bgpcep-tox-verify-master/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/bgpcep-tox-verify-master/archives/ [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins17260908251701075373.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/bgpcep-tox-verify-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-WC0A from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-WC0A/bin to PATH INFO: Running in OpenStack, capturing instance metadata [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins2854136935233972515.sh provisioning config files... Could not find credentials [logs] for bgpcep-tox-verify-master #1460 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/bgpcep-tox-verify-master@tmp/config14273259514042711059tmp 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. [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins18177512808008591882.sh ---> create-netrc.sh WARN: Log server credential not found. [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins17618953408480779407.sh ---> python-tools-install.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/bgpcep-tox-verify-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-WC0A from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-WC0A/bin to PATH [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins10516273462299817519.sh ---> sudo-logs.sh Archiving 'sudo' log.. [bgpcep-tox-verify-master] $ /bin/bash /tmp/jenkins10124633703129097491.sh ---> job-cost.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/bgpcep-tox-verify-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-WC0A from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-WC0A/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v3-standard-8 INFO: Archiving Costs [bgpcep-tox-verify-master] $ /bin/bash -l /tmp/jenkins9180187667532946690.sh ---> logs-deploy.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/bgpcep-tox-verify-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-WC0A from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Attempting to install with network-safe options... lf-activate-venv(): INFO: Base packages installed successfully lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-WC0A/bin to PATH WARNING: Nexus logging server not set INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/bgpcep-tox-verify-master/1460/ INFO: archiving logs to S3 ---> uname -a: Linux prd-ubuntu2204-docker-8c-8g-4014 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 40 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Vendor ID: AuthenticAMD Model name: AMD EPYC-Rome Processor CPU family: 23 Model: 49 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 8 Stepping: 0 BogoMIPS: 5600.00 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt nrip_save umip rdpid arch_capabilities Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 256 KiB (8 instances) L1i cache: 256 KiB (8 instances) L2 cache: 4 MiB (8 instances) L3 cache: 128 MiB (8 instances) NUMA node(s): 1 NUMA node0 CPU(s): 0-7 Vulnerability Gather data sampling: Not affected Vulnerability Indirect target selection: Not affected Vulnerability Itlb multihit: Not affected Vulnerability L1tf: Not affected Vulnerability Mds: Not affected Vulnerability Meltdown: Not affected Vulnerability Mmio stale data: Not affected Vulnerability Reg file data sampling: Not affected Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled Vulnerability Spec rstack overflow: Mitigation; SMT disabled Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines; IBPB disabled; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Not affected ---> nproc: 8 ---> df -h: Filesystem Size Used Avail Use% Mounted on tmpfs 3.2G 1.1M 3.2G 1% /run /dev/vda1 155G 9.2G 146G 6% / tmpfs 16G 0 16G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda15 105M 6.1M 99M 6% /boot/efi tmpfs 3.2G 4.0K 3.2G 1% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 32092 867 27722 4 3502 30757 Swap: 1023 0 1023 ---> ip addr: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 link/ether fa:16:3e:85:48:f0 brd ff:ff:ff:ff:ff:ff altname enp0s3 inet 10.30.171.242/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 valid_lft 86195sec preferred_lft 86195sec inet6 fe80::f816:3eff:fe85:48f0/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1458 qdisc noqueue state DOWN group default link/ether c6:88:7f:db:e1:d6 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 5.15.0-153-generic (prd-ubuntu2204-docker-8c-8g-4014) 10/31/25 _x86_64_ (8 CPU) 06:48:00 LINUX RESTART (8 CPU) ---> sar -P ALL: Linux 5.15.0-153-generic (prd-ubuntu2204-docker-8c-8g-4014) 10/31/25 _x86_64_ (8 CPU) 06:48:00 LINUX RESTART (8 CPU)