Started by timer Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu1804-builder-2c-2g-8325 (ubuntu1804-builder-2c-2g) in workspace /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube [ssh-agent] Looking for ssh-agent implementation... $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-8wMSOENltsAg/agent.1664 SSH_AGENT_PID=1666 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube@tmp/private_key_9318608473638502625.key (jenkins-ssh) [ssh-agent] Using credentials jenkins (jenkins) The recommended git tool is: NONE using credential jenkins Wiping out workspace first. Cloning the remote Git repository Cloning repository ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/aiml-fw/athp/tps/kubeflow-adapter > git init /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube # timeout=10 Fetching upstream changes from ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/aiml-fw/athp/tps/kubeflow-adapter > git --version # timeout=10 > git --version # 'git version 2.17.1' using GIT_SSH to set credentials jenkins > git fetch --tags --progress -- ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/aiml-fw/athp/tps/kubeflow-adapter +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/aiml-fw/athp/tps/kubeflow-adapter # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch > git rev-parse refs/remotes/origin/master^{commit} # timeout=10 Checking out Revision 1be43b28aa8126e42918db92dcfe8b8988b74f8c (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 1be43b28aa8126e42918db92dcfe8b8988b74f8c # timeout=10 Commit message: "Merge "CI: Add .github/dependabot.yml configuration"" > git rev-list --no-walk 1be43b28aa8126e42918db92dcfe8b8988b74f8c # 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 [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins4303467938879468605.sh ---> python-tools-install.sh Setup pyenv: * system (set by /opt/pyenv/version) * 3.8.13 (set by /opt/pyenv/version) * 3.9.13 (set by /opt/pyenv/version) * 3.10.6 (set by /opt/pyenv/version) lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-NUjg 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-NUjg/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.10.6 pip 25.3 from /tmp/venv-NUjg/lib/python3.10/site-packages/pip (python 3.10) 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.67 botocore==1.40.67 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.43.0 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.3 platformdirs==4.5.0 prettytable==3.16.0 psutil==7.1.3 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.2 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 SET_JDK_VERSION=openjdk17 GIT_URL="ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418" [EnvInject] - Variables injected successfully. [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/sh /tmp/jenkins971875732477514555.sh ---> update-java-alternatives.sh ---> Updating Java version ---> Ubuntu/Debian system detected update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64 to provide /usr/lib/jvm/java-openjdk (java_sdk_openjdk) in manual mode openjdk version "17.0.7" 2023-04-18 OpenJDK Runtime Environment (build 17.0.7+7-Ubuntu-0ubuntu118.04) OpenJDK 64-Bit Server VM (build 17.0.7+7-Ubuntu-0ubuntu118.04, mixed mode, sharing) JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties file path '/tmp/java.env' [EnvInject] - Variables injected successfully. [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PYTHON=python3 [EnvInject] - Variables injected successfully. [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash -l /tmp/jenkins8839266088220005378.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-ijq0 + 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.13 3.9.13 * 3.10.6 (set by /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.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= ++ sed 's/^[ *]* //' ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ pyenv versions ++ awk '{ print $1 }' ++ grep -E '^[0-9.]*[0-9]$' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ tail -n 1 +++ sort -V +++ grep '^3' /tmp/.pyenv_versions ++ py_version_xyz=3.10.6 ++ [[ -z 3.10.6 ]] ++ echo 3.10.6 ++ return 0 + pyenv local 3.10.6 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.10.6 + pyenv local 3.10.6 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] + [[ ! -f /tmp/.toxenv ]] + [[ -n '' ]] + python3 -m venv /tmp/venv-ijq0 + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-ijq0' lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-ijq0 + echo /tmp/venv-ijq0 + 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-ijq0/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-ijq0/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-ijq0/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-ijq0/bin to PATH + PATH=/tmp/venv-ijq0/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + return 0 + python3 --version Python 3.10.6 + python3 -m pip --version pip 25.3 from /tmp/venv-ijq0/lib/python3.10/site-packages/pip (python 3.10) + 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 tomli==2.3.0 tox==4.32.0 typing_extensions==4.15.0 urllib3==1.26.20 virtualenv==20.35.4 [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/sh -xe /tmp/jenkins5894166002682985497.sh [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PARALLEL=False [EnvInject] - Variables injected successfully. [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash -l /tmp/jenkins11481518067736902065.sh ---> tox-run.sh + PATH=/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + ARCHIVE_TOX_DIR=/w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/tox + ARCHIVE_DOC_DIR=/w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/docs + mkdir -p /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/tox + cd /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/. + 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-b7ak + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + pyenv versions system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\''/opt/pyenv/shims'\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ sed 's/^[ *]* //' ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ pyenv versions ++ grep -E '^[0-9.]*[0-9]$' ++ awk '{ print $1 }' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ tail -n 1 +++ sort -V +++ grep '^3' /tmp/.pyenv_versions ++ py_version_xyz=3.10.6 ++ [[ -z 3.10.6 ]] ++ echo 3.10.6 ++ return 0 + pyenv local 3.10.6 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.10.6 + pyenv local 3.10.6 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] ++ cat /tmp/.toxenv + lf_venv=/tmp/venv-ijq0 + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ijq0 from' file:/tmp/.toxenv lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ijq0 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-ijq0/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-ijq0/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-ijq0/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-ijq0/bin to PATH + PATH=/tmp/venv-ijq0/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + return 0 + [[ -d /opt/pyenv ]] + echo '---> Setting up pyenv' ---> Setting up pyenv + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/tmp/venv-ijq0/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin + PATH=/opt/pyenv/bin:/tmp/venv-ijq0/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ pwd + PYTHONPATH=/w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube + export PYTHONPATH + export TOX_TESTENV_PASSENV=PYTHONPATH + TOX_TESTENV_PASSENV=PYTHONPATH + tox --version 4.32.0 from /tmp/venv-ijq0/lib/python3.10/site-packages/tox/__init__.py + PARALLEL=False + TOX_OPTIONS_LIST= + [[ -n '' ]] + case ${PARALLEL,,} in + tox + tee -a /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/tox/tox.log code: install_deps> python -I -m pip install coverage Flask Flask-API Flask-Cors kfp kfp-pipeline-spec kfp-server-api mock pytest pytest-cov requests Werkzeug==2.2.2 code: freeze> python -m pip freeze --all code: cachetools==6.2.1,certifi==2025.10.5,charset-normalizer==3.4.4,click==8.1.8,click-option-group==0.5.7,coverage==7.11.0,docstring_parser==0.17.0,exceptiongroup==1.3.0,Flask==2.2.5,Flask-API==3.1,flask-cors==6.0.1,google-api-core==2.28.1,google-auth==2.43.0,google-cloud-core==2.5.0,google-cloud-storage==3.5.0,google-crc32c==1.7.1,google-resumable-media==2.7.2,googleapis-common-protos==1.71.0,idna==3.11,iniconfig==2.3.0,itsdangerous==2.2.0,Jinja2==3.1.6,kfp==2.14.6,kfp-pipeline-spec==2.14.6,kfp-server-api==2.14.6,kubernetes==30.1.0,MarkupSafe==3.0.3,mock==5.2.0,oauthlib==3.3.1,packaging==25.0,pip==25.3,pluggy==1.6.0,proto-plus==1.26.1,protobuf==6.33.0,pyasn1==0.6.1,pyasn1_modules==0.4.2,Pygments==2.19.2,pytest==8.4.2,pytest-cov==7.0.0,python-dateutil==2.9.0.post0,PyYAML==6.0.3,requests==2.32.5,requests-oauthlib==2.0.0,requests-toolbelt==1.0.0,rsa==4.9.1,setuptools==80.9.0,six==1.17.0,tabulate==0.9.0,tomli==2.3.0,typing_extensions==4.15.0,urllib3==2.5.0,websocket-client==1.9.0,Werkzeug==2.2.2 code: commands[0]> pip3 install /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube Looking in indexes: https://nexus3.o-ran-sc.org/repository/PyPi/simple Processing /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: kfadapter Building wheel for kfadapter (pyproject.toml): started Building wheel for kfadapter (pyproject.toml): finished with status 'done' Created wheel for kfadapter: filename=kfadapter-0.1-py3-none-any.whl size=24853 sha256=1e476e0341e29dc6644ac00d138c6010d2f3c2b5e677b972ca50505e5b6bcfad Stored in directory: /home/jenkins/.cache/pip/wheels/e4/a1/f2/e3c7a4c5a4901491eea701dc46ce3a58657913c134baa5ad1b Successfully built kfadapter Installing collected packages: kfadapter Successfully installed kfadapter-0.1 code: commands[1]> pytest --cov /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/kfadapter --cov-report xml --cov-report term-missing --cov-report html --cov-fail-under=10 --junitxml=/tmp/tests.xml ============================= test session starts ============================== platform linux -- Python 3.10.6, pytest-8.4.2, pluggy-1.6.0 cachedir: .tox/code/.pytest_cache rootdir: /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube plugins: cov-7.0.0 collected 63 items test/test_kfadapter_conf.py ........ [ 12%] test/test_kfadapter_kfconnect.py ............... [ 36%] test/test_kfadapter_main.py ............................ [ 80%] test/test_kfadapter_util.py .......... [ 96%] test/test_tmgr_logger.py .. [100%] =============================== warnings summary =============================== .tox/code/lib/python3.10/site-packages/flask_api/renderers.py:5 /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.tox/code/lib/python3.10/site-packages/flask_api/renderers.py:5: DeprecationWarning: '_request_ctx_stack' is deprecated and will be removed in Flask 2.3. from flask.globals import _request_ctx_stack -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ---------------------- generated xml file: /tmp/tests.xml ---------------------- ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.10.6-final-0 ________________ Name Stmts Miss Cover Missing ---------------------------------------------------------------- kfadapter/__init__.py 0 0 100% kfadapter/kfadapter_conf.py 47 2 96% 63, 91 kfadapter/kfadapter_kfconnect.py 93 24 74% 58, 117-118, 157-164, 196, 215-225, 282-283, 293, 296 kfadapter/kfadapter_main.py 269 32 88% 390-401, 414-415, 421, 495-498, 514-530 kfadapter/kfadapter_util.py 84 39 54% 65, 106-143, 171-173 kfadapter/tmgr_logger.py 21 3 86% 46-48 ---------------------------------------------------------------- TOTAL 514 100 81% Coverage HTML written to dir htmlcov Coverage XML written to file coverage.xml Required test coverage of 10% reached. Total coverage: 80.54% ======================== 63 passed, 1 warning in 3.05s ========================= code: commands[2]> coverage xml -i Wrote XML report to coverage.xml code: OK ✔ in 37.93 seconds docs: install_deps> python -I -m pip install lfdocs-conf recommonmark sphinx sphinx-rtd-theme sphinxcontrib-httpdomain 'urllib3~=1.26.15' docs: freeze> python -m pip freeze --all 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,commonmark==0.9.1,contourpy==1.3.2,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.2.6,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,recommonmark==0.7.1,requests==2.32.5,requests-file==1.5.1,seqdiag==3.0.0,setuptools==80.9.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.1.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-httpdomain==1.8.1,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,tomli==2.3.0,urllib3==1.26.20,webcolors==25.10.0 docs: commands[0]> sphinx-build -W -b html -n -d /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.tox/docs/tmp/doctrees ./docs/ /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/html Running Sphinx v8.1.3 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. loading intersphinx inventory 'aimlfw-dep' from https://docs.o-ran-sc.org/projects/o-ran-sc-aiml-fw-aimlfw-dep/en/latest/objects.inv ... building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 4 source files that are out of date updating environment: [new config] 4 added, 0 changed, 0 removed reading sources... [ 25%] index reading sources... [ 50%] installation-guide reading sources... [ 75%] overview reading sources... [100%] release-notes looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/html/_static/documentation_options.js Writing evaluated template result to /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/html/_static/basic.css Writing evaluated template result to /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/html/_static/language_data.js Writing evaluated template result to /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/html/_static/js/versions.js copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 25%] index writing output... [ 50%] installation-guide writing output... [ 75%] overview writing output... [100%] release-notes generating indices... genindex done highlighting module code... writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded. The HTML pages are in docs/_build/html. docs: commands[1]> echo 'Generated docs available in /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/html' Generated docs available in /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/html docs: OK ✔ in 39.78 seconds docs-linkcheck: install_deps> python -I -m pip install lfdocs-conf recommonmark sphinx sphinx-rtd-theme sphinxcontrib-httpdomain 'urllib3~=1.26.15' docs-linkcheck: 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,commonmark==0.9.1,contourpy==1.3.2,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.2.6,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,recommonmark==0.7.1,requests==2.32.5,requests-file==1.5.1,seqdiag==3.0.0,setuptools==80.9.0,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.1.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-httpdomain==1.8.1,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,tomli==2.3.0,urllib3==1.26.20,webcolors==25.10.0 docs-linkcheck: commands[0]> sphinx-build -W -b linkcheck -d /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.tox/docs-linkcheck/tmp/doctrees ./docs/ /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/docs/_build/linkcheck Running Sphinx v8.1.3 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. loading intersphinx inventory 'aimlfw-dep' from https://docs.o-ran-sc.org/projects/o-ran-sc-aiml-fw-aimlfw-dep/en/latest/objects.inv ... building [mo]: targets for 0 po files that are out of date writing output... building [linkcheck]: targets for 4 source files that are out of date updating environment: [new config] 4 added, 0 changed, 0 removed reading sources... [ 25%] index reading sources... [ 50%] installation-guide reading sources... [ 75%] overview reading sources... [100%] release-notes looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying assets: done writing output... [ 25%] index writing output... [ 50%] installation-guide writing output... [ 75%] overview writing output... [100%] release-notes (installation-guide: line 39) ok https://docs.o-ran-sc.org/projects/o-ran-sc-aiml-fw-aimlfw-dep/en/latest/index.html build succeeded. Look for any errors in the above output or in docs/_build/linkcheck/output.txt code: OK (37.93=setup[28.17]+cmd[4.33,5.00,0.42] seconds) docs: OK (39.78=setup[37.64]+cmd[2.12,0.01] seconds) docs-linkcheck: OK (32.57=setup[31.13]+cmd[1.44] seconds) congratulations :) (110.31 seconds) + tox_status=0 + echo '---> Completed tox runs' ---> Completed tox runs + for i in .tox/*/log ++ echo .tox/code/log ++ awk -F/ '{print $2}' + tox_env=code + cp -r .tox/code/log /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/tox/code + 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/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/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/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/tox/docs + DOC_DIR=docs/_build/html + [[ -d docs/_build/html ]] + echo '---> Archiving generated docs' ---> Archiving generated docs + mv docs/_build/html /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/docs + echo '---> tox-run.sh ends' ---> tox-run.sh ends + test 0 -eq 0 Unpacking https://repo1.maven.org/maven2/org/sonarsource/scanner/cli/sonar-scanner-cli/4.6.2.2472/sonar-scanner-cli-4.6.2.2472.zip to /w/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner on prd-ubuntu1804-builder-2c-2g-8325 [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /w/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner/bin/sonar-scanner -Dsonar.host.url=https://sonarcloud.io/ ******** -Dsonar.projectKey=o-ran-sc_aiml-fw-athp-tps-kubeflow-adapter -Dsonar.projectName=aiml-fw-athp-tps-kubeflow-adapter -Dsonar.login=d9e23c28dc39b6d7531d2ecabf122ce84e6253ef -Dsonar.organization=o-ran-sc -Dsonar.sources=kfadapter -Dsonar.python.coverage.reportPaths=coverage.xml -Dsonar.build.sourceEncoding=UTF-8 -Dsonar.projectBaseDir=/w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube INFO: Scanner configuration file: /w/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner/conf/sonar-scanner.properties INFO: Project root configuration file: NONE INFO: SonarScanner 4.6.2.2472 INFO: Java 17.0.7 Private Build (64-bit) INFO: Linux 4.15.0-213-generic amd64 INFO: User cache: /home/jenkins/.sonar/cache INFO: Scanner configuration file: /w/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner/conf/sonar-scanner.properties INFO: Project root configuration file: NONE INFO: Analyzing on SonarCloud INFO: Default locale: "en", source code encoding: "UTF-8" (analysis is platform dependent) INFO: Load global settings INFO: Load global settings (done) | time=682ms INFO: Server id: 1BD809FA-AWHW8ct9-T_TB3XqouNu INFO: Loading required plugins INFO: Load plugins index INFO: Load plugins index (done) | time=717ms INFO: Load/download plugins INFO: Load/download plugins (done) | time=866ms INFO: Loaded core extensions: sca, architecture INFO: Process project properties INFO: Project key: o-ran-sc_aiml-fw-athp-tps-kubeflow-adapter INFO: Base dir: /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube INFO: Working dir: /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.scannerwork INFO: Found an active CI vendor: 'Jenkins' INFO: Load project branches INFO: Load project branches (done) | time=330ms INFO: Load project settings for component key: 'o-ran-sc_aiml-fw-athp-tps-kubeflow-adapter' INFO: Load project settings for component key: 'o-ran-sc_aiml-fw-athp-tps-kubeflow-adapter' (done) | time=795ms INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: Check ALM binding of project 'o-ran-sc_aiml-fw-athp-tps-kubeflow-adapter' INFO: Detected project binding: NOT_BOUND INFO: Check ALM binding of project 'o-ran-sc_aiml-fw-athp-tps-kubeflow-adapter' (done) | time=177ms INFO: Load project pull requests INFO: Load project pull requests (done) | time=235ms INFO: Load branch configuration INFO: Load branch configuration (done) | time=3ms INFO: Load quality profiles INFO: Load quality profiles (done) | time=631ms INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: Create analysis INFO: Create analysis (done) | time=332ms INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: Load active rules INFO: Load active rules (done) | time=1375ms INFO: Organization key: o-ran-sc WARN: The property 'sonar.login' is deprecated and will be removed in the future. Please use the 'sonar.token' property instead when passing a token. INFO: Preprocessing files... INFO: 1 language detected in 12 preprocessed files (done) | time=289ms INFO: 0 files ignored because of inclusion/exclusion patterns INFO: 0 files ignored because of scm ignore settings INFO: Loading plugins for detected languages INFO: Load/download plugins INFO: Load/download plugins (done) | time=1615ms INFO: Load project repositories INFO: Load project repositories (done) | time=352ms INFO: Indexing files... INFO: Project configuration: INFO: Excluded sources: **/build-wrapper-dump.json INFO: 12 files indexed (done) | time=23ms INFO: Quality profile for py: Sonar way INFO: ------------- Run sensors on module aiml-fw-athp-tps-kubeflow-adapter INFO: Load metrics repository INFO: Load metrics repository (done) | time=173ms INFO: Sensor cache enabled INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: Load sensor cache INFO: Load sensor cache (290 KB) | time=1806ms INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: Sensor Python Sensor [python] WARN: Your code is analyzed as compatible with all Python 3 versions by default. You can get a more precise analysis by setting the exact Python version in your configuration via the parameter "sonar.python.version" INFO: Starting global symbols computation INFO: 6 source files to be analyzed INFO: 6/6 source files have been analyzed INFO: Finished step global symbols computation in 1029ms INFO: Starting rules execution INFO: 6 source files to be analyzed INFO: 6/6 source files have been analyzed INFO: Finished step rules execution in 6607ms INFO: The Python analyzer was able to leverage cached data from previous analyses for 0 out of 6 files. These files were not parsed. INFO: Sensor Python Sensor [python] (done) | time=7984ms INFO: Sensor Cobertura Sensor for Python coverage [python] INFO: Python test coverage INFO: Parsing report '/w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/coverage.xml' INFO: Sensor Cobertura Sensor for Python coverage [python] (done) | time=695ms INFO: Sensor PythonXUnitSensor [python] INFO: Sensor PythonXUnitSensor [python] (done) | time=480ms INFO: Sensor Python Dependency Sensor [python] INFO: Sensor Python Dependency Sensor [python] (done) | time=7ms INFO: Sensor Python HTML templates processing [securitypythonfrontend] INFO: HTML files are not indexed : you may want to add them in the scanned files of this project to detect Python XSS vulnerabilities INFO: Sensor Python HTML templates processing [securitypythonfrontend] (done) | time=3ms INFO: Sensor JaCoCo XML Report Importer [jacoco] INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=5ms INFO: Sensor IaC GitHub Actions Sensor [iacenterprise] INFO: There are no files to be analyzed for the GitHub Actions language INFO: Sensor IaC GitHub Actions Sensor [iacenterprise] (done) | time=5ms INFO: Sensor IaC Shell Sensor [iacenterprise] INFO: There are no files to be analyzed for the Shell language INFO: Sensor IaC Shell Sensor [iacenterprise] (done) | time=7ms INFO: Sensor IaC Docker Sensor [iac] INFO: There are no files to be analyzed for the Docker language INFO: Sensor IaC Docker Sensor [iac] (done) | time=2ms INFO: Sensor IaC hadolint report Sensor [iac] INFO: Sensor IaC hadolint report Sensor [iac] (done) | time=3ms INFO: Sensor Java Config Sensor [iac] INFO: There are no files to be analyzed for the Java language INFO: Sensor Java Config Sensor [iac] (done) | time=42ms INFO: Sensor EnterpriseTextAndSecretsSensor [textenterprise] INFO: Available processors: 2 INFO: Using 2 threads for analysis. INFO: The property "sonar.tests" is not set. To improve the analysis accuracy, we categorize a file as a test file if any of the following is true: * The filename starts with "test" * The filename contains "test." or "tests." * Any directory in the file path is named: "doc", "docs", "test" or "tests" * Any directory in the file path has a name ending in "test" or "tests" INFO: Start fetching files for the text and secrets analysis INFO: Using Git CLI to retrieve untracked files INFO: Retrieving language associated files and files included via "sonar.text.inclusions" that are tracked by git INFO: Starting the text and secrets analysis INFO: 6 source files to be analyzed for the text and secrets analysis INFO: 6/6 source files have been analyzed for the text and secrets analysis INFO: Start fetching files for the binary file analysis INFO: There are no files to be analyzed for the binary file analysis INFO: Sensor EnterpriseTextAndSecretsSensor [textenterprise] (done) | time=1426ms INFO: Sensor javabugs [dbd] INFO: No IR files have been included for analysis. INFO: Sensor javabugs [dbd] (done) | time=17ms INFO: Sensor pythonbugs [dbd] INFO: Analyzing 47/75 functions to detect bugs. INFO: Sensor pythonbugs [dbd] (done) | time=1217ms INFO: Sensor PythonSecuritySensor [security] INFO: 22 taint analysis rules enabled. INFO: Analyzing 6024 UCFGs to detect vulnerabilities. INFO: All rules entry points : 9 INFO: Retained UCFGs : 44 INFO: 0 / 44 UCFGs simulated, memory usage: 376 MB INFO: 33 / 44 UCFGs simulated, memory usage: 387 MB INFO: python security sensor: Begin: 2025-11-06T11:29:45.198458589Z, End: 2025-11-06T11:29:49.243364816Z, Duration: 00:00:04.044 Load type hierarchy and UCFGs: Begin: 2025-11-06T11:29:45.223314717Z, End: 2025-11-06T11:29:47.442879814Z, Duration: 00:00:02.219 Load type hierarchy: Begin: 2025-11-06T11:29:45.223357178Z, End: 2025-11-06T11:29:45.596358268Z, Duration: 00:00:00.373 Load UCFGs: Begin: 2025-11-06T11:29:45.596743482Z, End: 2025-11-06T11:29:47.442731732Z, Duration: 00:00:01.845 Check cache: Begin: 2025-11-06T11:29:47.443070386Z, End: 2025-11-06T11:29:47.443608222Z, Duration: 00:00:00.000 Load cache: Begin: 2025-11-06T11:29:47.443082156Z, End: 2025-11-06T11:29:47.443111696Z, Duration: 00:00:00.000 Create runtime call graph: Begin: 2025-11-06T11:29:47.443643253Z, End: 2025-11-06T11:29:48.054630852Z, Duration: 00:00:00.610 Variable Type Analysis #1: Begin: 2025-11-06T11:29:47.444733726Z, End: 2025-11-06T11:29:47.767729931Z, Duration: 00:00:00.322 Create runtime type propagation graph: Begin: 2025-11-06T11:29:47.445719486Z, End: 2025-11-06T11:29:47.558945042Z, Duration: 00:00:00.113 Run SCC (Tarjan) on 13746 nodes: Begin: 2025-11-06T11:29:47.559569660Z, End: 2025-11-06T11:29:47.598544526Z, Duration: 00:00:00.038 Propagate runtime types to strongly connected components: Begin: 2025-11-06T11:29:47.598743038Z, End: 2025-11-06T11:29:47.766385927Z, Duration: 00:00:00.167 Variable Type Analysis #2: Begin: 2025-11-06T11:29:47.793929792Z, End: 2025-11-06T11:29:48.043106908Z, Duration: 00:00:00.249 Create runtime type propagation graph: Begin: 2025-11-06T11:29:47.793963952Z, End: 2025-11-06T11:29:47.858478660Z, Duration: 00:00:00.064 Run SCC (Tarjan) on 13154 nodes: Begin: 2025-11-06T11:29:47.858694533Z, End: 2025-11-06T11:29:47.954246847Z, Duration: 00:00:00.095 Propagate runtime types to strongly connected components: Begin: 2025-11-06T11:29:47.954466119Z, End: 2025-11-06T11:29:48.042823445Z, Duration: 00:00:00.088 Load config: Begin: 2025-11-06T11:29:48.054772013Z, End: 2025-11-06T11:29:48.604547210Z, Duration: 00:00:00.549 Compute entry points: Begin: 2025-11-06T11:29:48.604698512Z, End: 2025-11-06T11:29:48.734958899Z, Duration: 00:00:00.130 Slice call graph: Begin: 2025-11-06T11:29:48.735800948Z, End: 2025-11-06T11:29:48.742437655Z, Duration: 00:00:00.006 Live variable analysis: Begin: 2025-11-06T11:29:48.742631527Z, End: 2025-11-06T11:29:48.777562302Z, Duration: 00:00:00.034 Taint analysis for python: Begin: 2025-11-06T11:29:48.779073139Z, End: 2025-11-06T11:29:49.171212363Z, Duration: 00:00:00.392 Report issues: Begin: 2025-11-06T11:29:49.172326777Z, End: 2025-11-06T11:29:49.190823583Z, Duration: 00:00:00.018 Store cache: Begin: 2025-11-06T11:29:49.193020808Z, End: 2025-11-06T11:29:49.239965426Z, Duration: 00:00:00.046 INFO: python security sensor peak memory: 464 MB INFO: Sensor PythonSecuritySensor [security] (done) | time=4061ms INFO: ------------- Run sensors on project INFO: Sensor PythonArchitectureSensor [architecture] INFO: Architecture analysis is enabled with the following features: legacy INFO: Sensor PythonArchitectureSensor [architecture] (done) | time=47ms INFO: Sensor Zero Coverage Sensor INFO: Sensor Zero Coverage Sensor (done) | time=2ms INFO: Inferred api base url 'https://api.sonarcloud.io/' from host url 'https://sonarcloud.io/'. INFO: ------------- Gather SCA dependencies on project INFO: Checking if SCA is enabled for organization o-ran-sc INFO: Dependency analysis skipped INFO: CPD Executor 1 file had no CPD blocks INFO: CPD Executor Calculating CPD for 5 files INFO: CPD Executor CPD calculation finished (done) | time=21ms INFO: Analysis report generated in 525ms, dir size=389 KB INFO: Analysis report compressed in 44ms, zip size=88 KB INFO: Analysis report uploaded in 344ms INFO: ANALYSIS SUCCESSFUL, you can find the results at: https://sonarcloud.io/dashboard?id=o-ran-sc_aiml-fw-athp-tps-kubeflow-adapter INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report INFO: More about the report processing at https://sonarcloud.io/api/ce/task?id=AZpY7h51yBBylAHqClX- INFO: ------------- Upload SCA dependency files INFO: Sensor cache published successfully INFO: Analysis total time: 33.069 s INFO: ------------------------------------------------------------------------ INFO: EXECUTION SUCCESS INFO: ------------------------------------------------------------------------ INFO: Total time: 41.078s INFO: Final Memory: 259M/711M INFO: ------------------------------------------------------------------------ $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 1666 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins9378053237643000665.sh ---> sysstat.sh [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins16268215007289493848.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=debian + workspace=/w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube + 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/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + grep '^ii' + dpkg -l + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + '[' /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube ']' + mkdir -p /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/archives/ [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins9139293838926068604.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-NUjg 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-NUjg/bin to PATH INFO: Running in OpenStack, capturing instance metadata [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins18346948500949104548.sh provisioning config files... copy managed file [jenkins-log-archives-settings] to file:/w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube@tmp/config7183854222898568631tmp Regular expression run condition: Expression=[^.*logs-s3.*], Label=[] Run condition [Regular expression match] preventing perform for step [Provide Configuration files] [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SERVER_ID=logs [EnvInject] - Variables injected successfully. [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins575100475388963448.sh ---> create-netrc.sh [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins10320894356070396473.sh ---> python-tools-install.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-NUjg 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-NUjg/bin to PATH [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins11217981957469752821.sh ---> sudo-logs.sh Archiving 'sudo' log.. [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash /tmp/jenkins15750846027205214865.sh ---> job-cost.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-NUjg 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-NUjg/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v3-starter-2 INFO: Archiving Costs [aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube] $ /bin/bash -l /tmp/jenkins16813453904586123297.sh ---> logs-deploy.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-NUjg 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-NUjg/bin to PATH INFO: Nexus URL https://nexus.o-ran-sc.org path production/vex-sjc-oran-jenkins-prod-1/aiml-fw-athp-tps-kubeflow-adapter-tox-sonarqube/165 INFO: archiving workspace using pattern(s): -p **/*.log Archives upload complete. INFO: archiving logs to Nexus ---> uname -a: Linux prd-ubuntu1804-builder-2c-2g-8325 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 2 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 23 Model: 49 Model name: AMD EPYC-Rome Processor Stepping: 0 CPU MHz: 2800.000 BogoMIPS: 5600.00 Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 512K L3 cache: 16384K NUMA node0 CPU(s): 0,1 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 xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr arat npt nrip_save umip rdpid arch_capabilities ---> nproc: 2 ---> df -h: Filesystem Size Used Avail Use% Mounted on udev 2.0G 0 2.0G 0% /dev tmpfs 395M 668K 394M 1% /run /dev/vda1 20G 8.2G 12G 43% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/vda15 105M 5.3M 100M 5% /boot/efi tmpfs 395M 0 395M 0% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 3944 384 873 0 2686 3277 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 1450 qdisc fq_codel state UP group default qlen 1000 link/ether fa:16:3e:47:f4:46 brd ff:ff:ff:ff:ff:ff inet 10.32.7.204/23 brd 10.32.7.255 scope global dynamic ens3 valid_lft 85997sec preferred_lft 85997sec inet6 fe80::f816:3eff:fe47:f446/64 scope link valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 4.15.0-213-generic (prd-ubuntu1804-builder-2c-2g-8325) 11/06/25 _x86_64_ (2 CPU) 11:24:53 LINUX RESTART (2 CPU) 11:25:01 tps rtps wtps bread/s bwrtn/s 11:26:01 128.11 49.16 78.95 3953.87 40244.91 11:27:01 61.56 11.56 49.99 1045.96 8213.16 11:28:01 65.71 5.62 60.09 155.71 8951.17 11:29:01 71.36 0.32 71.04 13.56 20074.43 11:30:01 82.71 49.85 32.86 2202.06 20212.58 11:31:01 33.98 5.57 28.41 423.26 2704.48 Average: 73.91 20.41 53.50 1302.88 16725.03 11:25:01 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 11:26:01 1916788 3377600 2122264 52.54 37956 1588492 634760 12.48 534924 1445084 87108 11:27:01 1680468 3412088 2358584 58.39 58428 1822280 581516 11.43 511500 1670328 144808 11:28:01 1457396 3384364 2581656 63.92 72556 1990688 664756 13.07 565300 1813444 111396 11:29:01 731228 3311764 3307824 81.90 92844 2591984 725520 14.26 684636 2371628 280672 11:30:01 964444 3372576 3074608 76.12 97540 2410348 588200 11.56 629892 2190952 41880 11:31:01 901108 3340580 3137944 77.69 99172 2440772 625224 12.29 680572 2204240 12148 Average: 1275239 3366495 2763813 68.43 76416 2140761 636663 12.51 601137 1949279 113002 11:25:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 11:26:01 lo 0.73 0.73 0.07 0.07 0.00 0.00 0.00 0.00 11:26:01 ens3 327.88 203.05 1380.13 64.38 0.00 0.00 0.00 0.00 11:27:01 lo 1.27 1.27 0.12 0.12 0.00 0.00 0.00 0.00 11:27:01 ens3 28.35 23.31 292.24 4.68 0.00 0.00 0.00 0.00 11:28:01 lo 0.60 0.60 0.05 0.05 0.00 0.00 0.00 0.00 11:28:01 ens3 32.99 28.76 308.03 5.48 0.00 0.00 0.00 0.00 11:29:01 lo 0.41 0.41 0.03 0.03 0.00 0.00 0.00 0.00 11:29:01 ens3 57.21 41.18 1162.19 5.72 0.00 0.00 0.00 0.00 11:30:01 lo 0.53 0.53 0.07 0.07 0.00 0.00 0.00 0.00 11:30:01 ens3 260.18 123.53 2397.93 25.89 0.00 0.00 0.00 0.00 11:31:01 lo 0.80 0.80 0.07 0.07 0.00 0.00 0.00 0.00 11:31:01 ens3 10.45 11.70 8.32 5.66 0.00 0.00 0.00 0.00 Average: lo 0.72 0.72 0.07 0.07 0.00 0.00 0.00 0.00 Average: ens3 119.72 72.02 924.51 18.67 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 4.15.0-213-generic (prd-ubuntu1804-builder-2c-2g-8325) 11/06/25 _x86_64_ (2 CPU) 11:24:53 LINUX RESTART (2 CPU) 11:25:01 CPU %user %nice %system %iowait %steal %idle 11:26:01 all 42.46 0.00 4.19 8.15 2.33 42.86 11:26:01 0 44.70 0.00 4.38 8.75 2.38 39.78 11:26:01 1 40.23 0.00 4.00 7.55 2.27 45.96 11:27:01 all 41.63 0.00 2.74 3.34 1.95 50.34 11:27:01 0 54.69 0.00 3.66 3.91 2.16 35.57 11:27:01 1 28.62 0.00 1.81 2.76 1.74 65.07 11:28:01 all 41.01 0.00 2.98 3.28 2.54 50.18 11:28:01 0 60.18 0.00 3.69 3.79 2.50 29.83 11:28:01 1 22.10 0.00 2.28 2.78 2.56 70.28 11:29:01 all 40.24 0.00 3.11 3.30 2.69 50.66 11:29:01 0 62.33 0.00 4.90 3.99 2.99 25.78 11:29:01 1 18.33 0.00 1.34 2.63 2.40 75.30 11:30:01 all 57.85 0.00 4.71 3.01 3.00 31.43 11:30:01 0 60.29 0.00 4.72 2.55 3.17 29.28 11:30:01 1 55.41 0.00 4.69 3.48 2.84 33.58 11:31:01 all 41.13 0.00 1.98 2.79 1.72 52.38 11:31:01 0 52.92 0.00 2.03 3.71 1.86 39.48 11:31:01 1 29.40 0.00 1.95 1.85 1.59 65.21 Average: all 44.06 0.00 3.28 3.98 2.37 46.31 Average: 0 55.84 0.00 3.89 4.45 2.51 33.31 Average: 1 32.34 0.00 2.68 3.50 2.23 59.25