Triggered by Gerrit: https://gerrit.onap.org/r/c/dcaegen2/services/+/148724 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu1804-docker-8c-8g-4997 (ubuntu1804-docker-8c-8g) in workspace /w/workspace/dcaegen2-services-pmsh-tox-verify-all [ssh-agent] Looking for ssh-agent implementation... $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-olQbMELUZM4k/agent.2049 SSH_AGENT_PID=2051 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/dcaegen2-services-pmsh-tox-verify-all@tmp/private_key_671129966856309100.key (/w/workspace/dcaegen2-services-pmsh-tox-verify-all@tmp/private_key_671129966856309100.key) [ssh-agent] Using credentials onap-jobbuiler (Gerrit user) The recommended git tool is: NONE using credential onap-jenkins-ssh Wiping out workspace first. Cloning the remote Git repository Cloning repository git://cloud.onap.org/mirror/dcaegen2/services > git init /w/workspace/dcaegen2-services-pmsh-tox-verify-all # timeout=10 Fetching upstream changes from git://cloud.onap.org/mirror/dcaegen2/services > git --version # timeout=10 > git --version # 'git version 2.17.1' using GIT_SSH to set credentials Gerrit user Verifying host key using manually-configured host key entries > git fetch --tags --progress -- git://cloud.onap.org/mirror/dcaegen2/services +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://cloud.onap.org/mirror/dcaegen2/services # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://cloud.onap.org/mirror/dcaegen2/services # timeout=10 Fetching upstream changes from git://cloud.onap.org/mirror/dcaegen2/services using GIT_SSH to set credentials Gerrit user Verifying host key using manually-configured host key entries > git fetch --tags --progress -- git://cloud.onap.org/mirror/dcaegen2/services refs/changes/24/148724/2 # timeout=10 > git rev-parse e6dcaa4cc00a696dd484dabeabb44e9c715683d7^{commit} # timeout=10 Checking out Revision e6dcaa4cc00a696dd484dabeabb44e9c715683d7 (refs/changes/24/148724/2) > git config core.sparsecheckout # timeout=10 > git checkout -f e6dcaa4cc00a696dd484dabeabb44e9c715683d7 # timeout=10 Commit message: "[PMSH] Fix image build and startup" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk d798cdb1253fa7bbe01dff5f26f7b09488ffe754 # 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 [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins11807320909777910022.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-mZKM 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: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-mZKM/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. botocore 1.43.118 requires python-dateutil<3.0.0,>=2.1, but you have python-dateutil 3.0.0 which is incompatible. httplib2 0.30.2 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. Python 3.10.6 pip 26.2.2 from /tmp/venv-mZKM/lib/python3.10/site-packages/pip (python 3.10) aiohappyeyeballs==2.7.1 aiohttp==3.14.5 aiosignal==1.4.0 appdirs==1.4.4 argcomplete==3.7.2 aspy.yaml==1.3.0 async-timeout==5.0.1 attrs==26.1.0 autopage==0.6.0 backports.strenum==1.3.1 beautifulsoup4==4.15.0 boto3==1.43.118 botocore==1.43.118 bs4==0.0.2 certifi==2026.10.23 cffi==2.1.1 cfgv==3.5.0 chardet==7.7.0 charset-normalizer==3.5.2 click==8.5.0 cliff==4.14.0 cmd2==3.5.1 cryptography==3.3.2 debtcollector==3.1.0 decorator==5.3.1 defusedxml==0.7.1 Deprecated==1.3.1 distlib==0.4.4 dnspython==2.8.0 docker==7.2.0 dogpile.cache==1.5.0 durationpy==0.11 email-validator==2.3.0 filelock==4.1.0 frozenlist==1.8.0 future==1.0.0 gitdb==4.0.12 GitPython==3.2.1 httplib2==0.30.2 identify==2.6.20 idna==3.20 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.6 jmespath==1.1.0 jsonpatch==1.37 jsonpointer==3.5 jsonschema==4.26.0 jsonschema-specifications==2025.9.1 keystoneauth1==5.14.0 kubernetes==36.0.3 lftools==0.37.26 lxml==6.1.3 markdown-it-py==4.2.0 MarkupSafe==3.0.4 mdurl==0.1.2 msgpack==1.2.3 multi_key_dict==2.0.3 multidict==7.1.0 munch==4.0.0 netaddr==1.3.0 niet==1.4.2 nodeenv==1.11.0 oauth2client==4.1.3 oauthlib==4.0.0 openstacksdk==4.13.0 os-service-types==1.8.2 osc-lib==4.6.0 oslo.config==10.4.0 oslo.context==6.4.0 oslo.i18n==6.8.0 oslo.log==8.2.0 oslo.serialization==5.10.0 oslo.utils==10.1.1 packaging==26.3 pbr==7.1.3 platformdirs==4.12.4 prettytable==3.18.0 propcache==0.5.4 psutil==7.2.2 pyasn1==0.6.4 pyasn1_modules==0.4.2 pycparser==3.11 pygerrit2==2.0.15 PyGithub==2.10.0 Pygments==2.21.0 PyJWT==2.15.1 PyNaCl==1.6.2 pyparsing==2.4.7 pyperclip==1.11.0 pyrsistent==0.20.0 python-cinderclient==9.9.0 python-dateutil==3.0.0 python-discovery==1.6.4 python-heatclient==5.2.0 python-jenkins==1.8.3 python-keystoneclient==6.0.0 python-magnumclient==4.11.0 python-openstackclient==10.0.0 python-swiftclient==4.11.0 PyYAML==6.0.3 referencing==0.37.0 requests==2.34.2 requests-oauthlib==2.0.0 rfc3986==2.0.0 rich==15.0.0 rich-argparse==1.8.0 rpds-py==0.30.0 rsa==4.9.1 ruamel.yaml==0.19.1 ruamel.yaml.clib==0.2.15 s3transfer==0.19.3 simplejson==4.2.0 six==1.17.0 smmap==5.0.3 soupsieve==2.10 stevedore==5.8.0 tabulate==0.10.0 toml==0.10.2 tomlkit==0.15.2 tqdm==4.70.1 typing_extensions==4.16.0 tzdata==2026.5 urllib3==1.26.20 virtualenv==21.14.13 wcwidth==0.9.4 websocket-client==1.9.2 wrapt==2.5.1 xdg==6.0.0 xmltodict==1.0.4 yarl==1.25.1 yq==4.4.5 [dcaegen2-services-pmsh-tox-verify-all] $ /bin/sh /tmp/jenkins5436986169840905215.sh ---> uv-install.sh Installing uv/uvx (latest) using shell installer 2026-10-25 16:39:26 URL:https://releases.astral.sh/installers/uv/latest/uv-installer.sh [71300/71300] -> "/tmp/uv-install-iEKrmU.sh" [1] downloading uv 0.13.5 x86_64-unknown-linux-gnu installing to /home/jenkins/.local/bin uv uvx everything's installed! To add $HOME/.local/bin to your PATH, either restart your shell or run: source $HOME/.local/bin/env (sh, bash, zsh) source $HOME/.local/bin/env.fish (fish) Adding install location to PATH ---> Validating uv/uvx install uvx 0.13.5 (x86_64-unknown-linux-gnu) [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PYTHON=python3 [EnvInject] - Variables injected successfully. [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash -l /tmp/jenkins17068446705633842577.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-gNOK + 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/dcaegen2-services-pmsh-tox-verify-all/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\''/opt/pyenv/shims'\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ pyenv versions ++ sed 's/^[ *]* //' ++ grep -E '^[0-9.]*[0-9]$' ++ awk '{ print $1 }' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ sort -V +++ grep '^3' /tmp/.pyenv_versions +++ tail -n 1 ++ py_version_xyz=3.10.6 ++ [[ -z 3.10.6 ]] ++ echo 3.10.6 ++ return 0 + pyenv local 3.10.6 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.10.6 + pyenv local 3.10.6 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] + [[ ! -f /tmp/.toxenv ]] + [[ -n '' ]] + python3 -m venv /tmp/venv-gNOK + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-gNOK' lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-gNOK + echo /tmp/venv-gNOK + 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 '' ]] + lf-venv-pip-install /tmp/venv-gNOK/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + local venv_python=/tmp/venv-gNOK/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-gNOK/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 + return 0 + [[ -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 + lf-venv-pip-install /tmp/venv-gNOK/bin/python3 --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 + local venv_python=/tmp/venv-gNOK/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-gNOK/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 + return 0 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-gNOK/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-gNOK/bin to PATH + PATH=/tmp/venv-gNOK/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 + python3 --version Python 3.10.6 + python3 -m pip --version pip 26.2.2 from /tmp/venv-gNOK/lib/python3.10/site-packages/pip (python 3.10) + python3 -m pip freeze cachetools==7.2.5 colorama==0.4.6 distlib==0.4.4 filelock==4.1.0 packaging==26.3 platformdirs==4.12.4 pluggy==1.7.0 pyproject-api==1.11.4 python-discovery==1.6.4 tomli==2.5.0 tomli_w==1.2.0 tox==4.65.0 typing_extensions==4.16.0 urllib3==1.26.20 virtualenv==21.14.13 [dcaegen2-services-pmsh-tox-verify-all] $ /bin/sh /tmp/jenkins815405757451119427.sh --> onap-gerrit-review-wrapper.sh Cloning into 'onap-gerrit-review'... URL='https://gerrit.onap.org/r/dcaegen2/services' REFSPEC='refs/changes/24/148724/2' BRANCH='master' Cloning into 'services'... From https://gerrit.onap.org/r/dcaegen2/services * branch refs/changes/24/148724/2 -> FETCH_HEAD Updating d798cdb..e6dcaa4 Fast-forward components/pm-subscription-handler/Changelog.md | 6 ++++++ components/pm-subscription-handler/Dockerfile | 5 +++-- components/pm-subscription-handler/build-constraints.txt | 6 ++++++ components/pm-subscription-handler/pom.xml | 3 ++- components/pm-subscription-handler/setup.py | 9 ++++++++- components/pm-subscription-handler/tox.ini | 5 ++++- components/pm-subscription-handler/version.properties | 2 +- 7 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 components/pm-subscription-handler/build-constraints.txt Running: onap-gerrit-review-step2 -l /tmp/ogr.QMJTA0kRCf/services Using /tmp/ogr.QMJTA0kRCf/services New files: Files with mods: components/pm-subscription-handler/Changelog.md components/pm-subscription-handler/Dockerfile components/pm-subscription-handler/build-constraints.txt components/pm-subscription-handler/pom.xml components/pm-subscription-handler/setup.py components/pm-subscription-handler/tox.ini components/pm-subscription-handler/version.properties Directories with mods: components/pm-subscription-handler SUCCESS: Found a top-level LICENSE.txt file SUCCESS: License file ./LICENSE.txt is named LICENSE.txt SUCCESS: Found 'Apache License, Version 2.0' reference in ./LICENSE.txt SUCCESS: License file ./components/ml-prediction-ms/LICENSE.txt is named LICENSE.txt SUCCESS: Found 'Apache License, Version 2.0' reference in ./components/ml-prediction-ms/LICENSE.txt SUCCESS: License file ./components/datalake-handler/LICENSE.txt is named LICENSE.txt SUCCESS: Found 'Apache License, Version 2.0' reference in ./components/datalake-handler/LICENSE.txt SUCCESS: License file ./components/bbs-event-processor/LICENSE.txt is named LICENSE.txt SUCCESS: Found 'Apache License, Version 2.0' reference in ./components/bbs-event-processor/LICENSE.txt SUCCESS: License file ./components/slice-analysis-ms/LICENSE.txt is named LICENSE.txt SUCCESS: Found 'Apache License, Version 2.0' reference in ./components/slice-analysis-ms/LICENSE.txt SUCCESS: License file ./components/pm-subscription-handler/LICENSE.txt is named LICENSE.txt SUCCESS: Found 'Apache License, Version 2.0' reference in ./components/pm-subscription-handler/LICENSE.txt SUCCESS: License file ./components/kpi-computation-ms/LICENSE.txt is named LICENSE.txt SUCCESS: Found 'Apache License, Version 2.0' reference in ./components/kpi-computation-ms/LICENSE.txt Directories with pom.xml: . components/bbs-event-processor components/datalake-handler components/datalake-handler/admin components/datalake-handler/des components/datalake-handler/feeder components/kpi-computation-ms components/ml-prediction-ms components/pm-subscription-handler components/slice-analysis-ms Directories with any of changelog.md or version.properties: . components/bbs-event-processor components/datalake-handler components/kpi-computation-ms components/ml-prediction-ms components/pm-subscription-handler components/slice-analysis-ms Skipping top level directory Working on components/bbs-event-processor Working on components/datalake-handler Working on components/datalake-handler/admin Working on components/datalake-handler/des Working on components/datalake-handler/feeder Working on components/kpi-computation-ms Working on components/ml-prediction-ms Working on components/pm-subscription-handler Found components/pm-subscription-handler in directories with mods ================ components/pm-subscription-handler ==== pmsh ==== 2.2.4-SNAPSHOT -- 2.2.4 ================ SUCCESS: components/pm-subscription-handler/pom.xml version 2.2.4 has not been released Looking at components/pm-subscription-handler/Changelog.md SUCCESS: Found 2.2.4 in components/pm-subscription-handler/Changelog.md SUCCESS: Did not find ambiguous dates in components/pm-subscription-handler/Changelog.md SUCCESS: The version numbers in components/pm-subscription-handler/Changelog.md are in the correct order SUCCESS: The top-most version in components/pm-subscription-handler/Changelog.md matches version 2.2.4 Looking at components/pm-subscription-handler/version.properties version=2.2.4 SUCCESS: components/pm-subscription-handler/pom.xml versions match in components/pm-subscription-handler/version.properties: 2.2.4 Found python code in components/pm-subscription-handler Looking at components/pm-subscription-handler/setup.py version=2.2.4 SUCCESS: components/pm-subscription-handler/pom.xml versions match in components/pm-subscription-handler/setup.py: version 2.2.4 SUCCESS: Has JSON code SUCCESS: ... but not in the new/modified files SUCCESS: Has YAML code SUCCESS: ... but not in the new/modified files SUCCESS: Was able to determine the type of code in components/pm-subscription-handler Working on components/slice-analysis-ms ChangeLog.md files: components/pm-subscription-handler/Changelog.md SUCCESS: Found a ChangeLog.md file in the updated files SUCCESS: Found Issue-ID: in the git log commit: DCAEGEN2-3463 SUCCESS: Found Issue-ID: DCAEGEN2-3463 in the changed ChangeLog.md files SUCCESS: ALL XML files verified Checking for Copyright in yaml files SUCCESS: No yaml files to look in for copyrights Checking for Copyright in cpp files SUCCESS: No cpp files to look in for copyrights Checking for Copyright in c files SUCCESS: No c files to look in for copyrights Checking for Copyright in cc files SUCCESS: No cc files to look in for copyrights Checking for Copyright in h files SUCCESS: No h files to look in for copyrights Checking for Copyright in java files SUCCESS: No java files to look in for copyrights Checking for Copyright in js files SUCCESS: No js files to look in for copyrights Checking for Copyright in py files SUCCESS: Copyright 2026 found in components/pm-subscription-handler/setup.py SUCCESS: LICENSE_START found in components/pm-subscription-handler/setup.py SUCCESS: LICENSE_END found in components/pm-subscription-handler/setup.py SUCCESS: No text found before 'Copyright' Checking for Copyright in xml files SUCCESS: Copyright 2026 found in components/pm-subscription-handler/pom.xml SUCCESS: LICENSE_START found in components/pm-subscription-handler/pom.xml SUCCESS: LICENSE_END found in components/pm-subscription-handler/pom.xml SUCCESS: No text found before 'Copyright' Checking for Copyright in clj files SUCCESS: No clj files to look in for copyrights Checking for Copyright in css files SUCCESS: No css files to look in for copyrights Checking for Copyright in erl files SUCCESS: No erl files to look in for copyrights Checking for Copyright in ftl files SUCCESS: No ftl files to look in for copyrights Checking for Copyright in html files SUCCESS: No html files to look in for copyrights Checking for Copyright in jsp files SUCCESS: No jsp files to look in for copyrights Checking for Copyright in kt files SUCCESS: No kt files to look in for copyrights Checking for Copyright in scala files SUCCESS: No scala files to look in for copyrights Checking for Copyright in sh files SUCCESS: No sh files to look in for copyrights Checking for Copyright in sql files SUCCESS: No sql files to look in for copyrights Checking for Copyright in tpl files SUCCESS: No tpl files to look in for copyrights Checking for Copyright in ts files SUCCESS: No ts files to look in for copyrights Checking for Copyright in Dockerfile files SUCCESS: Copyright 2026 found in components/pm-subscription-handler/Dockerfile SUCCESS: LICENSE_START found in components/pm-subscription-handler/Dockerfile SUCCESS: LICENSE_END found in components/pm-subscription-handler/Dockerfile SUCCESS: No text found before 'Copyright' Checking for Copyright in Dockerfile-template files SUCCESS: No Dockerfile-template files to look in for copyrights Checking for Copyright in LICENSE.txt files SUCCESS: No LICENSE.txt files to look in for copyrights Checking for Copyright in other files SUCCESS: Copyright 2026 found in components/pm-subscription-handler/tox.ini SUCCESS: LICENSE_START found in components/pm-subscription-handler/tox.ini SUCCESS: LICENSE_END found in components/pm-subscription-handler/tox.ini SUCCESS: No text found before 'Copyright' SUCCESS: All changed files with copyright were found to have 'Deutsche Telekom AG. All rights reserved.' SUCCESS: ALL files have a NL ending SUCCESS: No files have TODO in them Checking for Creative Commons License in rst files SUCCESS: No rst files to look in for copyrights SUCCESS: No cpp files to look in for tab indentations SUCCESS: No c files to look in for tab indentations SUCCESS: No cc files to look in for tab indentations SUCCESS: No h files to look in for tab indentations SUCCESS: No clj files to look in for tab indentations SUCCESS: No css files to look in for tab indentations SUCCESS: No erl files to look in for tab indentations SUCCESS: No ftl files to look in for tab indentations SUCCESS: No java files to look in for tab indentations SUCCESS: No jsp files to look in for tab indentations SUCCESS: No kt files to look in for tab indentations SUCCESS: No proto files to look in for tab indentations SUCCESS: No scala files to look in for tab indentations SUCCESS: No sh files to look in for tab indentations SUCCESS: No sql files to look in for tab indentations SUCCESS: No tpl files to look in for tab indentations SUCCESS: No ts files to look in for tab indentations SUCCESS: No yaml files to look in for tab indentations SUCCESS: No files have tab indentations in them SUCCESS: The last USER statement in components/pm-subscription-handler/Dockerfile is not for root SUCCESS: No files found with capitalized characters in the extension Using /tmp/ogr.QMJTA0kRCf/services Total: 0 Errors, 0 Warnings, 0 Ignored, 93 Successful tests run on /tmp/ogr.QMJTA0kRCf/services [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PARALLEL=False [EnvInject] - Variables injected successfully. [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash -l /tmp/jenkins1868311962219667370.sh ---> tox-run.sh + PATH=/home/jenkins/.local/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 + ARCHIVE_TOX_DIR=/w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/tox + ARCHIVE_DOC_DIR=/w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/docs + mkdir -p /w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/tox + cd /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler + 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-K5GH + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/.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:/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/dcaegen2-services-pmsh-tox-verify-all/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\''/opt/pyenv/shims'\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/home/jenkins/.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:/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:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ sed 's/^[ *]* //' ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ pyenv versions ++ 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.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-gNOK + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-gNOK from' file:/tmp/.toxenv lf-activate-venv(): INFO: Reuse venv:/tmp/venv-gNOK 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 '' ]] + lf-venv-pip-install /tmp/venv-gNOK/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + local venv_python=/tmp/venv-gNOK/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-gNOK/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 + return 0 + [[ -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 + lf-venv-pip-install /tmp/venv-gNOK/bin/python3 --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 + local venv_python=/tmp/venv-gNOK/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-gNOK/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 + return 0 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-gNOK/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-gNOK/bin to PATH + PATH=/tmp/venv-gNOK/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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-gNOK/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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-gNOK/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/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/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler + export PYTHONPATH + export TOX_TESTENV_PASSENV=PYTHONPATH + TOX_TESTENV_PASSENV=PYTHONPATH + tox --version 4.65.0 from /tmp/venv-gNOK/lib/python3.10/site-packages/tox/__init__.py + PARALLEL=False + TOX_OPTIONS_LIST= + [[ -n py3 ]] + TOX_OPTIONS_LIST=' -e py3' + case ${PARALLEL,,} in + tox -e py3 + tee -a /w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/tox/tox.log py3: install_deps> python -I -m pip install coverage parameterized==0.7.4 pytest pytest-cov responses==0.10.7 -r requirements.txt .pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' .pkg: _optional_hooks> python /tmp/venv-gNOK/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ .pkg: get_requires_for_build_sdist> python /tmp/venv-gNOK/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ .pkg: get_requires_for_build_wheel> python /tmp/venv-gNOK/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ .pkg: freeze> python -m pip freeze --all .pkg: pip==26.2.2,setuptools==84.2.1 .pkg: prepare_metadata_for_build_wheel> python /tmp/venv-gNOK/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ .pkg: build_sdist> python /tmp/venv-gNOK/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ py3: install_package_deps> python -I -m pip install Flask==2.2 Werkzeug==2.2.3 connexion==2.5.0 flask_sqlalchemy==3.0.1 greenlet==3.1.1 jsonschema==3.2.0 onap_dcae_cbs_docker_client==2.2.1 onappylog==1.0.9 psycopg2-binary==2.9.5 pyyaml==5.4.1 requests==2.22.0 ruamel.yaml==0.16.10 'setuptools<82' swagger-ui-bundle==0.0.6 tenacity==6.0.0 tornado==6.1 py3: install_package> python -I -m pip install --force-reinstall --no-deps /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/.tmp/package/1/pm_subscription_handler-2.2.4.tar.gz py3: freeze> python -m pip freeze --all py3: attrs==26.1.0,certifi==2026.10.23,chardet==3.0.4,click==8.5.0,clickclick==20.10.2,connexion==2.5.0,coverage==7.16.2,exceptiongroup==1.3.1,Flask==2.2.0,Flask-SQLAlchemy==3.0.1,greenlet==3.1.1,idna==2.8,inflection==0.5.1,iniconfig==2.3.1,itsdangerous==2.2.0,Jinja2==3.1.6,jsonschema==3.2.0,MarkupSafe==3.0.4,onap_dcae_cbs_docker_client==2.2.1,onappylog==1.0.9,openapi-schema-validator==0.2.3,openapi-spec-validator==0.4.0,packaging==26.3,parameterized==0.7.4,pip==26.2.2,pluggy==1.7.0,pm_subscription_handler==2.2.4,psycopg2-binary==2.9.5,Pygments==2.21.0,pyrsistent==0.20.0,pytest==9.1.1,pytest-cov==7.1.0,PyYAML==5.4.1,requests==2.22.0,responses==0.10.7,ruamel.yaml==0.16.10,setuptools==81.0.0,six==1.17.0,SQLAlchemy==2.0.55,swagger-ui-bundle==0.0.6,tenacity==6.0.0,tomli==2.5.0,tornado==6.1,typing_extensions==4.16.0,urllib3==1.25.11,watchdog==6.0.0,Werkzeug==2.2.3 py3: commands[0]> pytest --junitxml xunit-results.xml --cov pmsh_service --cov-report xml --cov-report term-missing tests --verbose --cov-fail-under=70 ============================= test session starts ============================== platform linux -- Python 3.10.6, pytest-9.1.1, pluggy-1.7.0 -- /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/py3/bin/python cachedir: .tox/py3/.pytest_cache rootdir: /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler plugins: cov-7.1.0 collecting ... collected 141 items tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_apply_nf_to_measurement_group_status PASSED [ 0%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_check_duplication_exception PASSED [ 1%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_check_measurement_group_names_comply PASSED [ 2%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_delete_nf_to_measurement_group_failure PASSED [ 2%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_delete_nf_to_measurement_group_with_nf_delete PASSED [ 3%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_delete_nf_to_measurement_group_without_nf_delete PASSED [ 4%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_filter_nf_to_meas_grp_for_create PASSED [ 4%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_filter_nf_to_meas_grp_for_delete PASSED [ 5%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_lock_nf_to_meas_grp_for_locking_with_LOCKED_update PASSED [ 6%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_lock_nf_to_meas_grp_with_no_LOCKED_update PASSED [ 7%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_publish_measurement_group PASSED [ 7%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_save_measurement_group PASSED [ 8%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_admin_status_for_data_conflict PASSED [ 9%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_admin_status_for_missing_measurement_group PASSED [ 9%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_admin_status_for_same_state PASSED [ 10%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_admin_status_to_locked PASSED [ 11%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_admin_status_to_locking PASSED [ 12%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_admin_status_to_unlocked_with_no_nfs PASSED [ 12%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_admin_status_to_unlocking PASSED [ 13%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_measurement_group_nf_status PASSED [ 14%] tests/services/test_measurement_group_service.py::MeasurementGroupServiceTestCase::test_update_nf_to_measurement_group_failure PASSED [ 14%] tests/services/test_nf_service.py::NetworkFunctionServiceTestCase::test_capture_filtered_nfs PASSED [ 15%] tests/services/test_nf_service.py::NetworkFunctionServiceTestCase::test_create_nf_event_body PASSED [ 16%] tests/services/test_nf_service.py::NetworkFunctionServiceTestCase::test_save_nf_new_nf PASSED [ 17%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_apply_measurement_grp_to_nfs PASSED [ 17%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_apply_subscription_to_nfs PASSED [ 18%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_check_missing_data_admin_status_missing PASSED [ 19%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_check_missing_data_msr_grp_name PASSED [ 19%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_check_missing_data_sub_name_missing PASSED [ 20%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_create_subscription PASSED [ 21%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_create_subscription_all_locked_msg_grp PASSED [ 21%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_create_subscription_service_failed_rollback PASSED [ 22%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_create_subscription_service_on_aai_failed PASSED [ 23%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_db_string_to_list PASSED [ 24%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_db_string_to_list_empty PASSED [ 24%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_get_subscriptions_list PASSED [ 25%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_get_subscriptions_list_empty PASSED [ 26%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_is_duplicate_filter_false PASSED [ 26%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_is_duplicate_filter_true PASSED [ 27%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_missing_administrative_state PASSED [ 28%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_missing_measurement_grp_name PASSED [ 29%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_perform_validation_existing_sub PASSED [ 29%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_publish_measurement_grp_to_nfs PASSED [ 30%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_publish_measurement_grp_to_nfs_failed PASSED [ 31%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_save_filtered_nfs PASSED [ 31%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_save_subscription_request PASSED [ 32%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_update_filter PASSED [ 33%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_update_filter_filtering PASSED [ 34%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_update_filter_invalid_duplicate_request PASSED [ 34%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_update_filter_invalid_request PASSED [ 35%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_update_filter_locking PASSED [ 36%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_update_filter_with_new_del_nfs PASSED [ 36%] tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_validate_nf_filter_with_no_filter_values PASSED [ 37%] tests/test_aai_event_handler.py::AAIEventHandlerTest::test_process_aai__failure PASSED [ 38%] tests/test_aai_event_handler.py::AAIEventHandlerTest::test_process_aai_apply_msg_failure PASSED [ 39%] tests/test_aai_event_handler.py::AAIEventHandlerTest::test_process_aai_apply_nfs_to_subscriptions PASSED [ 39%] tests/test_aai_event_handler.py::AAIEventHandlerTest::test_process_aai_delete_events PASSED [ 40%] tests/test_aai_event_handler.py::AAIEventHandlerTest::test_process_aai_update_events PASSED [ 41%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_aai_service_url_fail PASSED [ 41%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_aai_service_url_success PASSED [ 42%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_all_aai_xnf_data_not_found PASSED [ 43%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_all_aai_xnf_data_success PASSED [ 43%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_pm_sub_data_fail PASSED [ 44%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_pm_sub_data_success PASSED [ 45%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_sdnc_params_fail PASSED [ 46%] tests/test_aai_service.py::AaiClientTestCase::test_aai_client_get_sdnc_params_success PASSED [ 46%] tests/test_controller.py::ControllerTestCase::test_delete_mg_exception PASSED [ 47%] tests/test_controller.py::ControllerTestCase::test_delete_mg_when_state_locked PASSED [ 48%] tests/test_controller.py::ControllerTestCase::test_delete_mg_when_state_locking PASSED [ 48%] tests/test_controller.py::ControllerTestCase::test_delete_mg_when_state_unlocked PASSED [ 49%] tests/test_controller.py::ControllerTestCase::test_delete_sub_exception PASSED [ 50%] tests/test_controller.py::ControllerTestCase::test_delete_sub_none PASSED [ 51%] tests/test_controller.py::ControllerTestCase::test_delete_sub_when_state_locked PASSED [ 51%] tests/test_controller.py::ControllerTestCase::test_delete_sub_when_state_locking PASSED [ 52%] tests/test_controller.py::ControllerTestCase::test_delete_sub_when_state_unlocked PASSED [ 53%] tests/test_controller.py::ControllerTestCase::test_get_meas_group_with_nfs_api PASSED [ 53%] tests/test_controller.py::ControllerTestCase::test_get_meas_group_with_nfs_api_exception PASSED [ 54%] tests/test_controller.py::ControllerTestCase::test_get_meas_group_with_nfs_api_none PASSED [ 55%] tests/test_controller.py::ControllerTestCase::test_get_subscription_by_name_api PASSED [ 56%] tests/test_controller.py::ControllerTestCase::test_get_subscription_by_name_api_exception PASSED [ 56%] tests/test_controller.py::ControllerTestCase::test_get_subscription_by_name_api_none PASSED [ 57%] tests/test_controller.py::ControllerTestCase::test_get_subscriptions_api PASSED [ 58%] tests/test_controller.py::ControllerTestCase::test_get_subscriptions_api_exception PASSED [ 58%] tests/test_controller.py::ControllerTestCase::test_get_subscriptions_api_none PASSED [ 59%] tests/test_controller.py::ControllerTestCase::test_post_meas_group PASSED [ 60%] tests/test_controller.py::ControllerTestCase::test_post_meas_group_with_duplicate PASSED [ 60%] tests/test_controller.py::ControllerTestCase::test_post_subscription PASSED [ 61%] tests/test_controller.py::ControllerTestCase::test_post_subscription_duplicate_sub PASSED [ 62%] tests/test_controller.py::ControllerTestCase::test_post_subscription_invalid_filter PASSED [ 63%] tests/test_controller.py::ControllerTestCase::test_post_subscription_missing PASSED [ 63%] tests/test_controller.py::ControllerTestCase::test_put_nf_filter PASSED [ 64%] tests/test_controller.py::ControllerTestCase::test_put_nf_filter_api_data_conflict_exception PASSED [ 65%] tests/test_controller.py::ControllerTestCase::test_put_nf_filter_api_exception PASSED [ 65%] tests/test_controller.py::ControllerTestCase::test_put_nf_filter_api_invalid_data_exception PASSED [ 66%] tests/test_controller.py::ControllerTestCase::test_status_response_healthy PASSED [ 67%] tests/test_controller.py::ControllerTestCase::test_update_admin_state_api_data_conflict_exception PASSED [ 68%] tests/test_controller.py::ControllerTestCase::test_update_admin_state_api_exception PASSED [ 68%] tests/test_controller.py::ControllerTestCase::test_update_admin_state_api_for_locked_update PASSED [ 69%] tests/test_controller.py::ControllerTestCase::test_update_admin_state_api_for_unlocked_update PASSED [ 70%] tests/test_controller.py::ControllerTestCase::test_update_admin_state_api_invalid_data_exception PASSED [ 70%] tests/test_exit_handler.py::ExitHandlerTests::test_terminate_signal_successful PASSED [ 71%] tests/test_network_function.py::NetworkFunctionTests::test_create_existing_network_function PASSED [ 72%] tests/test_network_function.py::NetworkFunctionTests::test_delete_network_function PASSED [ 73%] tests/test_network_function.py::NetworkFunctionTests::test_get_network_function PASSED [ 73%] tests/test_network_function.py::NetworkFunctionTests::test_get_network_function_no_match PASSED [ 74%] tests/test_network_function.py::NetworkFunctionTests::test_get_network_functions PASSED [ 75%] tests/test_network_function.py::NetworkFunctionTests::test_set_sdnc_params_false PASSED [ 75%] tests/test_network_function.py::NetworkFunctionTests::test_set_sdnc_params_true PASSED [ 76%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_filter_false_on_modelInvariantIDs_being_false_and_pnfname_being_true PASSED [ 77%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_filter_true_on_multiple_modelInvariantIDs PASSED [ 78%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_false_on_modelInvariantIDs PASSED [ 78%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_false_on_modelInvariantIDs_being_false_and_pnfname_being_true PASSED [ 79%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_false_on_modelVersionIDs PASSED [ 80%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_false_on_modelVersionIDs_being_false_and_pnfname_being_true PASSED [ 80%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_false_on_xnf PASSED [ 81%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_model_name_false PASSED [ 82%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_model_name_true PASSED [ 82%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_true_on_modelInvariantIDs PASSED [ 83%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_true_on_modelVersionIDs PASSED [ 84%] tests/test_network_function_filter.py::NetworkFunctionFilterTest::test_test_filter_true_on_xnf PASSED [ 85%] tests/test_pmsh_config.py::PmshConfigTestCase::test_config_get_aaf_creds PASSED [ 85%] tests/test_pmsh_config.py::PmshConfigTestCase::test_config_get_cert_data PASSED [ 86%] tests/test_pmsh_config.py::PmshConfigTestCase::test_mr_pub_publish_to_topic_fail PASSED [ 87%] tests/test_pmsh_config.py::PmshConfigTestCase::test_mr_pub_publish_to_topic_success PASSED [ 87%] tests/test_pmsh_config.py::PmshConfigTestCase::test_mr_sub_get_from_topic_fail PASSED [ 88%] tests/test_pmsh_config.py::PmshConfigTestCase::test_mr_sub_get_from_topic_success PASSED [ 89%] tests/test_pmsh_config.py::PmshConfigTestCase::test_singleton_instance_is_accessible_using_class_method PASSED [ 90%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_create_failed_filtering PASSED [ 90%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_delete_failed_filtering PASSED [ 91%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_exception PASSED [ 92%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_locked_failed PASSED [ 92%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_locked_success PASSED [ 93%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_locking_failed PASSED [ 94%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_locking_success PASSED [ 95%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_locking_success_filtering PASSED [ 95%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_unlocked_failed PASSED [ 96%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_unlocked_success PASSED [ 97%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_handle_response_unlocked_success_filtering PASSED [ 97%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_poll_policy_topic_calls_methods_correct_mg PASSED [ 98%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_poll_policy_topic_exception PASSED [ 99%] tests/test_policy_response_handler.py::PolicyResponseHandlerTest::test_poll_policy_topic_no_method_calls_unavailable_mg PASSED [100%] =============================== warnings summary =============================== .tox/py3/lib/python3.10/site-packages/coverage/inorout.py:513 /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/py3/lib/python3.10/site-packages/coverage/inorout.py:513: CoverageWarning: --include is ignored because --source is set (include-ignored); see https://coverage.readthedocs.io/en/7.16.2/messages.html#warning-include-ignored self.warn("--include is ignored because --source is set", slug="include-ignored") .tox/py3/lib/python3.10/site-packages/connexion/decorators/validation.py:6 /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/py3/lib/python3.10/site-packages/connexion/decorators/validation.py:6: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources .tox/py3/lib/python3.10/site-packages/pkg_resources/__init__.py:3148 /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/py3/lib/python3.10/site-packages/pkg_resources/__init__.py:3148: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('ruamel')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg) .tox/py3/lib/python3.10/site-packages/tenacity/_asyncio.py:48 /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/py3/lib/python3.10/site-packages/tenacity/_asyncio.py:48: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead def call(self, fn, *args, **kwargs): tests/services/test_measurement_group_service.py: 1 warning tests/services/test_nf_service.py: 1 warning tests/services/test_subscription_service.py: 1 warning tests/test_aai_event_handler.py: 1 warning tests/test_aai_service.py: 1 warning tests/test_controller.py: 1 warning tests/test_exit_handler.py: 1 warning tests/test_network_function.py: 1 warning tests/test_pmsh_config.py: 1 warning tests/test_policy_response_handler.py: 1 warning /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/py3/lib/python3.10/site-packages/onaplogging/logWatchDog.py:29: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. return yaml.load(f.read()) tests/services/test_measurement_group_service.py: 1 warning tests/services/test_nf_service.py: 1 warning tests/services/test_subscription_service.py: 1 warning tests/test_aai_event_handler.py: 1 warning tests/test_aai_service.py: 1 warning tests/test_controller.py: 1 warning tests/test_exit_handler.py: 1 warning tests/test_network_function.py: 1 warning tests/test_pmsh_config.py: 1 warning tests/test_policy_response_handler.py: 1 warning /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/.tox/py3/lib/python3.10/site-packages/onaplogging/logWatchDog.py:80: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead observer.setDaemon(True) tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_create_subscription_service_on_aai_failed /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/pmsh_service/mod/api/services/subscription_service.py:45: SAWarning: Identity map already had an identity for (, (1,), None), replacing it with newly flushed object. Are there load operations occurring inside of an event handler within the flush? db.session.commit() tests/services/test_subscription_service.py::SubscriptionServiceTestCase::test_perform_validation_existing_sub /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/tests/services/test_subscription_service.py:127: SAWarning: Identity map already had an identity for (, (1,), None), replacing it with newly flushed object. Are there load operations occurring inside of an event handler within the flush? db.session.commit() tests/test_aai_event_handler.py::AAIEventHandlerTest::test_process_aai_delete_events /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/tests/test_aai_event_handler.py:39: SAWarning: Identity map already had an identity for (, (1,), None), replacing it with newly flushed object. Are there load operations occurring inside of an event handler within the flush? db.session.commit() tests/test_aai_event_handler.py::AAIEventHandlerTest::test_process_aai_delete_events /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/tests/test_aai_event_handler.py:39: SAWarning: Identity map already had an identity for (, (2,), None), replacing it with newly flushed object. Are there load operations occurring inside of an event handler within the flush? db.session.commit() -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html - generated xml file: /w/workspace/dcaegen2-services-pmsh-tox-verify-all/components/pm-subscription-handler/xunit-results.xml - ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.10.6-final-0 ________________ Name Stmts Miss Branch BrPart Cover Missing -------------------------------------------------------------------------------------------------------- pmsh_service/__init__.py 0 0 0 0 100% pmsh_service/mod/__init__.py 79 23 6 0 68% 63-73, 104-109, 113-122 pmsh_service/mod/aai_client.py 67 4 14 3 91% 77->83, 141, 144-146, 177->exit pmsh_service/mod/aai_event_handler.py 71 2 24 6 92% 63->exit, 76-78, 92->exit, 105->exit, 111->110, 113->106 pmsh_service/mod/api/__init__.py 0 0 0 0 100% pmsh_service/mod/api/controller.py 130 13 14 2 90% 101-118, 229-230 pmsh_service/mod/api/custom_exception.py 9 0 0 0 100% pmsh_service/mod/api/db_models.py 125 8 2 0 92% 61-63, 110-111, 146, 150-152 pmsh_service/mod/api/services/measurement_group_service.py 147 7 36 6 93% 81, 95->exit, 297-298, 339->338, 341->347, 357-359, 420->423, 428->exit, 434-435 pmsh_service/mod/api/services/nf_service.py 17 3 0 0 82% 87-95 pmsh_service/mod/api/services/subscription_service.py 177 6 60 4 96% 52-53, 173, 257->259, 292-298, 349->348, 432->435 pmsh_service/mod/exit_handler.py 27 3 10 1 89% 46-47, 53 pmsh_service/mod/network_function.py 94 12 12 1 88% 39, 44, 54, 65, 107-108, 113-123, 156->159 pmsh_service/mod/pmsh_config.py 68 9 6 2 85% 87-94, 142, 144->exit pmsh_service/mod/policy_response_handler.py 42 0 10 1 98% 103->106 -------------------------------------------------------------------------------------------------------- TOTAL 1053 90 194 26 90% Coverage XML written to file coverage.xml Required test coverage of 70% reached. Total coverage: 90.22% ======================= 141 passed, 28 warnings in 4.49s ======================= py3: OK (33.66=setup[28.55]+cmd[5.11] seconds) congratulations :) (33.69 seconds) + tox_status=0 + echo '---> Completed tox runs' ---> Completed tox runs + for i in .tox/*/log ++ echo .tox/py3/log ++ awk -F/ '{print $2}' + tox_env=py3 + cp -r .tox/py3/log /w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/tox/py3 + DOC_DIR=docs/_build/html + [[ -d docs/_build/html ]] + echo '---> tox-run.sh ends' ---> tox-run.sh ends + test 0 -eq 0 $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 2051 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins14717594140065229684.sh ---> sysstat.sh [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins8603719465961722385.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=debian + workspace=/w/workspace/dcaegen2-services-pmsh-tox-verify-all + 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/dcaegen2-services-pmsh-tox-verify-all ']' + 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/dcaegen2-services-pmsh-tox-verify-all ']' + mkdir -p /w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/ [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins14478433281629691875.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/dcaegen2-services-pmsh-tox-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mZKM from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-mZKM/bin to PATH INFO: Running in OpenStack, capturing instance metadata [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins9960836091318764492.sh provisioning config files... copy managed file [jenkins-log-archives-settings] to file:/w/workspace/dcaegen2-services-pmsh-tox-verify-all@tmp/config15765013900198499717tmp 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. [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins13819297454224659571.sh ---> create-netrc.sh [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins10166451832226890935.sh ---> python-tools-install.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/dcaegen2-services-pmsh-tox-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mZKM from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-mZKM/bin to PATH [dcaegen2-services-pmsh-tox-verify-all] $ /bin/sh /tmp/jenkins9035063572884287282.sh ---> uv-install.sh uv 0.13.5 is already installed uvx 0.13.5 (x86_64-unknown-linux-gnu) [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins13735059352962608441.sh ---> sudo-logs.sh Archiving 'sudo' log.. [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash /tmp/jenkins2583474827819878250.sh ---> job-cost.sh INFO: Activating Python virtual environment... Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/dcaegen2-services-pmsh-tox-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mZKM from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-mZKM/bin to PATH INFO: No stack-cost file found INFO: Instance uptime: 181s INFO: Fetching instance metadata (attempt 1 of 3)... DEBUG: URL: http://169.254.169.254/latest/meta-data/instance-type INFO: Successfully fetched instance metadata INFO: Instance type: v3-standard-8 INFO: Retrieving pricing info for: v3-standard-8 INFO: Fetching Vexxhost pricing API (attempt 1 of 3)... DEBUG: URL: https://pricing.vexxhost.net/v1/pricing/v3-standard-8/cost?seconds=181 INFO: Successfully fetched Vexxhost pricing API INFO: Retrieved cost: 0.22 INFO: Retrieved resource: v3-standard-8 INFO: Creating archive directory: /w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/cost INFO: Archiving costs to: /w/workspace/dcaegen2-services-pmsh-tox-verify-all/archives/cost.csv INFO: Successfully archived job cost data DEBUG: Cost data: dcaegen2-services-pmsh-tox-verify-all,7,2026-10-25 16:40:42,v3-standard-8,181,0.22,0.00,SUCCESS [dcaegen2-services-pmsh-tox-verify-all] $ /bin/bash -l /tmp/jenkins14227680902317488550.sh ---> logs-deploy.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/dcaegen2-services-pmsh-tox-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mZKM from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-mZKM/bin to PATH INFO: Nexus URL https://nexus.onap.org path production/vex-yul-ecomp-jenkins-1/dcaegen2-services-pmsh-tox-verify-all/7 INFO: archiving workspace using pattern(s): Archives upload complete. INFO: archiving logs to Nexus ---> uname -a: Linux prd-ubuntu1804-docker-8c-8g-4997 4.15.0-192-generic #203-Ubuntu SMP Wed Aug 10 17:40:03 UTC 2022 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): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 8 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-7 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 lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip rdpid arch_capabilities ---> nproc: 8 ---> df -h: Filesystem Size Used Avail Use% Mounted on udev 16G 0 16G 0% /dev tmpfs 3.2G 708K 3.2G 1% /run /dev/vda1 155G 11G 145G 7% / tmpfs 16G 0 16G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/vda15 105M 4.4M 100M 5% /boot/efi tmpfs 3.2G 0 3.2G 0% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 32167 798 28917 0 2451 30931 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:d2:1e:3c brd ff:ff:ff:ff:ff:ff inet 10.30.107.217/23 brd 10.30.107.255 scope global dynamic ens3 valid_lft 86217sec preferred_lft 86217sec inet6 fe80::f816:3eff:fed2:1e3c/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:3c:90:b8:66 brd ff:ff:ff:ff:ff:ff inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-4997) 10/25/26 _x86_64_ (8 CPU) 16:37:51 LINUX RESTART (8 CPU) 16:38:01 tps rtps wtps bread/s bwrtn/s 16:39:02 322.78 73.61 249.17 5267.71 117507.63 16:40:01 183.36 16.59 166.77 1054.33 84824.94 Average: 253.66 45.34 208.32 3178.90 101304.95 16:38:01 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 16:39:02 30191084 31743264 2748136 8.34 67656 1795000 1359320 4.00 806092 1653668 170412 16:40:01 29626420 31626868 3312800 10.06 92336 2196016 1519660 4.47 965624 2009312 144772 Average: 29908752 31685066 3030468 9.20 79996 1995508 1439490 4.24 885858 1831490 157592 16:38:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 16:39:02 lo 1.73 1.73 0.18 0.18 0.00 0.00 0.00 0.00 16:39:02 ens3 365.41 250.52 1802.73 75.04 0.00 0.00 0.00 0.00 16:39:02 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16:40:01 lo 1.49 1.49 0.16 0.16 0.00 0.00 0.00 0.00 16:40:01 ens3 99.37 68.06 1157.90 11.39 0.00 0.00 0.00 0.00 16:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 1.61 1.61 0.17 0.17 0.00 0.00 0.00 0.00 Average: ens3 233.52 160.06 1483.05 43.48 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-4997) 10/25/26 _x86_64_ (8 CPU) 16:37:51 LINUX RESTART (8 CPU) 16:38:01 CPU %user %nice %system %iowait %steal %idle 16:39:02 all 9.12 0.00 1.26 2.49 0.01 87.12 16:39:02 0 14.01 0.00 1.42 0.35 0.02 84.21 16:39:02 1 10.31 0.00 3.36 4.16 0.00 82.17 16:39:02 2 10.74 0.00 1.27 0.30 0.00 87.69 16:39:02 3 2.86 0.00 0.56 6.24 0.00 90.34 16:39:02 4 10.90 0.00 1.09 0.23 0.00 87.78 16:39:02 5 5.69 0.00 0.84 2.32 0.00 91.15 16:39:02 6 5.49 0.00 0.45 0.47 0.00 93.59 16:39:02 7 12.91 0.00 1.07 5.85 0.00 80.17 16:40:01 all 9.54 0.00 0.91 1.46 0.00 88.09 16:40:01 0 29.27 0.00 1.63 0.51 0.00 68.60 16:40:01 1 13.98 0.00 1.10 0.37 0.00 84.55 16:40:01 2 0.49 0.00 0.19 0.00 0.00 99.32 16:40:01 3 5.36 0.00 0.64 0.73 0.00 93.26 16:40:01 4 16.32 0.00 1.44 0.17 0.00 82.07 16:40:01 5 4.36 0.00 1.14 2.36 0.00 92.14 16:40:01 6 3.28 0.00 0.56 0.54 0.00 95.61 16:40:01 7 3.23 0.00 0.60 6.98 0.00 89.19 Average: all 9.33 0.00 1.09 1.98 0.00 87.60 Average: 0 21.57 0.00 1.52 0.43 0.01 76.47 Average: 1 12.13 0.00 2.24 2.28 0.00 83.35 Average: 2 5.66 0.00 0.73 0.15 0.00 93.46 Average: 3 4.11 0.00 0.60 3.50 0.00 91.80 Average: 4 13.59 0.00 1.26 0.20 0.00 84.95 Average: 5 5.03 0.00 0.98 2.34 0.00 91.64 Average: 6 4.40 0.00 0.51 0.51 0.00 94.59 Average: 7 8.11 0.00 0.83 6.41 0.00 84.64