0s autopkgtest [20:35:02]: starting date and time: 2025-02-19 20:35:02+0000 0s autopkgtest [20:35:02]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [20:35:02]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.m_rwhj41/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:cdebconf --apt-upgrade cloudkitty --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=cdebconf/0.277ubuntu1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-29.secgroup --name adt-plucky-arm64-cloudkitty-20250219-203501-juju-7f2275-prod-proposed-migration-environment-2-67d87467-b9cb-4d7c-9824-074d2c9ec6b7 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 171s autopkgtest [20:37:53]: testbed dpkg architecture: arm64 172s autopkgtest [20:37:54]: testbed apt version: 2.9.29 172s autopkgtest [20:37:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 172s autopkgtest [20:37:54]: testbed release detected to be: None 173s autopkgtest [20:37:55]: updating testbed package index (apt update) 173s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 174s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 174s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 174s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 174s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 174s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [731 kB] 174s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.5 kB] 174s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [78.4 kB] 174s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [102 kB] 174s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [7960 B] 174s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [686 kB] 174s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [11.5 kB] 174s Fetched 1745 kB in 1s (1930 kB/s) 175s Reading package lists... 176s Reading package lists... 176s Building dependency tree... 176s Reading state information... 177s Calculating upgrade... 177s The following NEW packages will be installed: 177s libapt-pkg7.0 177s The following packages will be upgraded: 177s apparmor apt apt-utils iproute2 libapparmor1 libgpgme11t64 libiniparser4 177s liblsof0 libp11-kit0 liburcu8t64 lsof python-apt-common python3-apt rsyslog 177s sysvinit-utils 177s 15 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 177s Need to get 6021 kB of archives. 177s After this operation, 3530 kB of additional disk space will be used. 177s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 sysvinit-utils arm64 3.14-1ubuntu1 [35.2 kB] 177s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libapt-pkg7.0 arm64 2.9.30 [1023 kB] 178s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 apt arm64 2.9.30 [1364 kB] 178s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 apt-utils arm64 2.9.30 [207 kB] 178s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 iproute2 arm64 6.13.0-1ubuntu1 [1158 kB] 178s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libapparmor1 arm64 4.1.0~beta5-0ubuntu2 [53.5 kB] 178s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libp11-kit0 arm64 0.25.5-2ubuntu3 [280 kB] 178s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 python-apt-common all 2.9.9 [21.2 kB] 178s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-apt arm64 2.9.9 [191 kB] 178s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 rsyslog arm64 8.2412.0-2ubuntu1 [521 kB] 178s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 apparmor arm64 4.1.0~beta5-0ubuntu2 [660 kB] 178s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 liburcu8t64 arm64 0.15.1-1 [64.0 kB] 178s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 lsof arm64 4.99.4+dfsg-1 [236 kB] 178s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsof0 arm64 4.99.4+dfsg-1 [53.9 kB] 178s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.2-1ubuntu1 [142 kB] 178s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libiniparser4 arm64 4.2.6-1 [12.1 kB] 178s Preconfiguring packages ... 178s Fetched 6021 kB in 1s (7803 kB/s) 179s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 116620 files and directories currently installed.) 179s Preparing to unpack .../sysvinit-utils_3.14-1ubuntu1_arm64.deb ... 179s Unpacking sysvinit-utils (3.14-1ubuntu1) over (3.08-6ubuntu3) ... 179s Setting up sysvinit-utils (3.14-1ubuntu1) ... 179s Selecting previously unselected package libapt-pkg7.0:arm64. 179s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 116620 files and directories currently installed.) 179s Preparing to unpack .../libapt-pkg7.0_2.9.30_arm64.deb ... 179s Unpacking libapt-pkg7.0:arm64 (2.9.30) ... 179s Setting up libapt-pkg7.0:arm64 (2.9.30) ... 179s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 116669 files and directories currently installed.) 179s Preparing to unpack .../archives/apt_2.9.30_arm64.deb ... 179s Unpacking apt (2.9.30) over (2.9.29) ... 179s Setting up apt (2.9.30) ... 180s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 116669 files and directories currently installed.) 180s Preparing to unpack .../00-apt-utils_2.9.30_arm64.deb ... 180s Unpacking apt-utils (2.9.30) over (2.9.29) ... 180s Preparing to unpack .../01-iproute2_6.13.0-1ubuntu1_arm64.deb ... 180s Unpacking iproute2 (6.13.0-1ubuntu1) over (6.10.0-2ubuntu1) ... 180s Preparing to unpack .../02-libapparmor1_4.1.0~beta5-0ubuntu2_arm64.deb ... 180s Unpacking libapparmor1:arm64 (4.1.0~beta5-0ubuntu2) over (4.1.0~beta1-0ubuntu5) ... 180s Preparing to unpack .../03-libp11-kit0_0.25.5-2ubuntu3_arm64.deb ... 180s Unpacking libp11-kit0:arm64 (0.25.5-2ubuntu3) over (0.25.5-2ubuntu2) ... 180s Preparing to unpack .../04-python-apt-common_2.9.9_all.deb ... 180s Unpacking python-apt-common (2.9.9) over (2.9.8) ... 181s Preparing to unpack .../05-python3-apt_2.9.9_arm64.deb ... 181s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 181s for fn in glob1(directory, "%s.*" % fname): 181s Unpacking python3-apt (2.9.9) over (2.9.8) ... 181s Preparing to unpack .../06-rsyslog_8.2412.0-2ubuntu1_arm64.deb ... 181s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ... 181s Preparing to unpack .../07-apparmor_4.1.0~beta5-0ubuntu2_arm64.deb ... 182s Unpacking apparmor (4.1.0~beta5-0ubuntu2) over (4.1.0~beta1-0ubuntu5) ... 182s dpkg: warning: unable to delete old directory '/lib/apparmor': Directory not empty 182s Preparing to unpack .../08-liburcu8t64_0.15.1-1_arm64.deb ... 182s Unpacking liburcu8t64:arm64 (0.15.1-1) over (0.15.0-1) ... 182s Preparing to unpack .../09-lsof_4.99.4+dfsg-1_arm64.deb ... 182s Unpacking lsof (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 182s Preparing to unpack .../10-liblsof0_4.99.4+dfsg-1_arm64.deb ... 182s Unpacking liblsof0 (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 182s Preparing to unpack .../11-libgpgme11t64_1.24.2-1ubuntu1_arm64.deb ... 182s Unpacking libgpgme11t64:arm64 (1.24.2-1ubuntu1) over (1.24.1-4ubuntu1) ... 182s Preparing to unpack .../12-libiniparser4_4.2.6-1_arm64.deb ... 182s Unpacking libiniparser4:arm64 (4.2.6-1) over (4.2.5-1) ... 182s Setting up liburcu8t64:arm64 (0.15.1-1) ... 182s Setting up libapparmor1:arm64 (4.1.0~beta5-0ubuntu2) ... 182s Setting up apt-utils (2.9.30) ... 182s Setting up liblsof0 (4.99.4+dfsg-1) ... 182s Setting up iproute2 (6.13.0-1ubuntu1) ... 183s Setting up rsyslog (8.2412.0-2ubuntu1) ... 183s info: The user `syslog' is already a member of `adm'. 184s Setting up libiniparser4:arm64 (4.2.6-1) ... 184s Setting up apparmor (4.1.0~beta5-0ubuntu2) ... 184s Installing new version of config file /etc/apparmor.d/abstractions/dconf ... 184s Installing new version of config file /etc/apparmor.d/abstractions/mesa ... 184s Installing new version of config file /etc/apparmor.d/abstractions/nameservice ... 184s Installing new version of config file /etc/apparmor.d/abstractions/php ... 184s Installing new version of config file /etc/apparmor.d/abstractions/python ... 184s Installing new version of config file /etc/apparmor.d/slirp4netns ... 184s Installing new version of config file /etc/apparmor.d/toybox ... 184s Installing new version of config file /etc/apparmor.d/transmission ... 184s Installing new version of config file /etc/apparmor.d/tunables/global ... 185s Reloading AppArmor profiles 187s Setting up libp11-kit0:arm64 (0.25.5-2ubuntu3) ... 187s Setting up lsof (4.99.4+dfsg-1) ... 187s Setting up python-apt-common (2.9.9) ... 187s Setting up libgpgme11t64:arm64 (1.24.2-1ubuntu1) ... 187s Setting up python3-apt (2.9.9) ... 187s Processing triggers for systemd (257.2-3ubuntu1) ... 187s Processing triggers for man-db (2.13.0-1) ... 189s Processing triggers for libc-bin (2.40-4ubuntu1) ... 190s Reading package lists... 191s Building dependency tree... 191s Reading state information... 191s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 192s autopkgtest [20:38:14]: upgrading testbed (apt dist-upgrade and autopurge) 192s Reading package lists... 192s Building dependency tree... 192s Reading state information... 193s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 193s Starting 2 pkgProblemResolver with broken count: 0 193s Done 193s Entering ResolveByKeep 194s 194s The following packages will be upgraded: 194s libdebconfclient0 194s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 194s Need to get 11.9 kB of archives. 194s After this operation, 1024 B of additional disk space will be used. 194s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libdebconfclient0 arm64 0.277ubuntu1 [11.9 kB] 195s Fetched 11.9 kB in 0s (78.4 kB/s) 195s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 116718 files and directories currently installed.) 195s Preparing to unpack .../libdebconfclient0_0.277ubuntu1_arm64.deb ... 195s Unpacking libdebconfclient0:arm64 (0.277ubuntu1) over (0.274ubuntu1) ... 195s Setting up libdebconfclient0:arm64 (0.277ubuntu1) ... 195s Processing triggers for libc-bin (2.40-4ubuntu1) ... 195s Reading package lists... 196s Building dependency tree... 196s Reading state information... 196s Starting pkgProblemResolver with broken count: 0 196s Starting 2 pkgProblemResolver with broken count: 0 196s Done 197s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 197s autopkgtest [20:38:19]: rebooting testbed after setup commands that affected boot 232s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 240s autopkgtest [20:39:02]: testbed running kernel: Linux 6.12.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 4 15:49:33 UTC 2025 244s autopkgtest [20:39:06]: @@@@@@@@@@@@@@@@@@@@ apt-source cloudkitty 249s Get:1 http://ftpmaster.internal/ubuntu plucky/universe cloudkitty 21.0.0-0ubuntu1 (dsc) [3548 B] 249s Get:2 http://ftpmaster.internal/ubuntu plucky/universe cloudkitty 21.0.0-0ubuntu1 (tar) [555 kB] 249s Get:3 http://ftpmaster.internal/ubuntu plucky/universe cloudkitty 21.0.0-0ubuntu1 (diff) [22.5 kB] 249s gpgv: Signature made Thu Oct 3 09:21:24 2024 UTC 249s gpgv: using RSA key AB23E9A98422889E08C3838CBFECAECBA0E7D8C3 249s gpgv: Can't check signature: No public key 249s dpkg-source: warning: cannot verify inline signature for ./cloudkitty_21.0.0-0ubuntu1.dsc: no acceptable signature found 249s autopkgtest [20:39:11]: testing package cloudkitty version 21.0.0-0ubuntu1 250s autopkgtest [20:39:12]: build not needed 251s autopkgtest [20:39:13]: test unittests: preparing testbed 251s Reading package lists... 252s Building dependency tree... 252s Reading state information... 252s Starting pkgProblemResolver with broken count: 0 252s Starting 2 pkgProblemResolver with broken count: 0 252s Done 253s The following NEW packages will be installed: 253s alembic autoconf automake autopoint autotools-dev build-essential 253s cloudkitty-api cloudkitty-common cloudkitty-doc cloudkitty-processor cpp 253s cpp-14 cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu dbconfig-common 253s debhelper debugedit dh-autoreconf dh-python dh-strip-nondeterminism 253s docutils-common dwz flake8 fonts-font-awesome fonts-glyphicons-halflings g++ 253s g++-14 g++-14-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-14 253s gcc-14-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext git git-man 253s intltool-debian libarchive-zip-perl libasan8 libblas3 libcc1-0 253s libdebhelper-perl liberror-perl libfile-stripnondeterminism-perl 253s libgcc-14-dev libgfortran5 libgomp1 libhwasan0 libisl23 libitm1 253s libjs-bootstrap libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 253s liblapack3 liblsan0 libmpc3 libnorm1t64 libpgm-5.3-0t64 libsodium23 253s libstdc++-14-dev libsubunit-perl libtool libtsan2 libubsan1 libxslt1.1 253s libyajl2 libzmq5 m4 openstack-pkg-tools po-debconf pycadf-common pyflakes3 253s python-os-api-ref-common python3-alabaster python3-alembic python3-all 253s python3-amqp python3-aniso8601 python3-autopage python3-cachetools 253s python3-cinderclient python3-click python3-cliff python3-cloudkitty 253s python3-cmd2 python3-colorama python3-cotyledon python3-coverage 253s python3-datetimerange python3-dateutil python3-ddt python3-debtcollector 253s python3-decorator python3-defusedxml python3-deprecation python3-dnspython 253s python3-doc8 python3-docutils python3-dogpile.cache python3-dulwich 253s python3-eventlet python3-extras python3-fasteners python3-fixtures 253s python3-flake8 python3-flask python3-flask-restful python3-futurist 253s python3-gabbi python3-gnocchiclient python3-greenlet python3-hacking 253s python3-imagesize python3-importlib-metadata python3-influxdb 253s python3-influxdb-client python3-iniconfig python3-iso8601 253s python3-itsdangerous python3-jmespath python3-jsonpath-rw 253s python3-jsonpath-rw-ext python3-keystoneauth1 python3-keystoneclient 253s python3-keystonemiddleware python3-kombu python3-legacy-cgi python3-logutils 253s python3-lxml python3-mako python3-mbstrdecoder python3-mccabe 253s python3-memcache python3-monotonic python3-msgpack python3-munch 253s python3-numpy python3-openstackclient python3-openstackdocstheme 253s python3-openstacksdk python3-os-api-ref python3-os-client-config 253s python3-os-service-types python3-osc-lib python3-osc-placement 253s python3-oslo.cache python3-oslo.concurrency python3-oslo.config 253s python3-oslo.context python3-oslo.db python3-oslo.i18n python3-oslo.log 253s python3-oslo.messaging python3-oslo.metrics python3-oslo.middleware 253s python3-oslo.policy python3-oslo.serialization python3-oslo.service 253s python3-oslo.upgradecheck python3-oslo.utils python3-oslotest 253s python3-packaging python3-pandas python3-pandas-lib python3-paste 253s python3-pastedeploy python3-pastedeploy-tpl python3-pastescript python3-pbr 253s python3-pecan python3-pep8 python3-pip python3-platformdirs python3-pluggy 253s python3-ply python3-prettytable python3-prometheus-client python3-psutil 253s python3-pycadf python3-pycodestyle python3-pyflakes python3-pymemcache 253s python3-pymysql python3-pyperclip python3-pytest python3-pytz 253s python3-q-text-as-data python3-reno python3-repoze.lru 253s python3-requestsexceptions python3-restructuredtext-lint python3-rfc3986 253s python3-roman python3-routes python3-rx python3-setproctitle 253s python3-simplegeneric python3-six python3-snowballstemmer python3-sphinx 253s python3-sphinxcontrib-pecanwsme python3-sphinxcontrib.httpdomain 253s python3-sqlalchemy python3-statsd python3-stestr python3-stevedore 253s python3-subunit python3-tempita python3-tenacity python3-testresources 253s python3-testscenarios python3-testtools python3-tomlkit python3-tooz 253s python3-typepy python3-tz python3-vine python3-voluptuous python3-wcwidth 253s python3-webob python3-werkzeug python3-wheel python3-wrapt 253s python3-wsgi-intercept python3-wsme python3.12 python3.12-minimal sgml-base 253s sphinx-common sqlite3 subunit tzdata-legacy uwsgi-core uwsgi-plugin-python3 253s xml-core 253s 0 upgraded, 237 newly installed, 0 to remove and 0 not upgraded. 253s Need to get 111 MB of archives. 253s After this operation, 480 MB of additional disk space will be used. 253s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.9-1 [2236 kB] 254s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 sgml-base all 1.31 [11.4 kB] 254s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.9-1 [671 kB] 254s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-importlib-metadata all 8.6.1-1 [20.7 kB] 254s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-mako all 1.3.8-2 [63.5 kB] 254s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.1.0-1 [173 kB] 254s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-sqlalchemy all 2.0.38+ds1-0ubuntu1 [1215 kB] 254s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-alembic all 1.13.2-4 [149 kB] 254s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 254s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 254s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 254s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 alembic all 1.13.2-4 [294 kB] 254s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 m4 arm64 1.4.19-5 [244 kB] 254s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 autoconf all 2.72-3 [382 kB] 254s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 autotools-dev all 20220109.1 [44.9 kB] 254s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 automake all 1:1.17-3 [572 kB] 254s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 autopoint all 0.23.1-1 [619 kB] 254s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libisl23 arm64 0.27-1 [676 kB] 254s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libmpc3 arm64 1.3.1-1build2 [56.8 kB] 254s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu1 [10.6 MB] 255s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14 arm64 14.2.0-17ubuntu1 [1032 B] 255s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [5558 B] 255s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp arm64 4:14.2.0-1ubuntu1 [22.4 kB] 255s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 libcc1-0 arm64 15-20250213-1ubuntu1 [44.2 kB] 255s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250213-1ubuntu1 [146 kB] 255s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 libitm1 arm64 15-20250213-1ubuntu1 [28.0 kB] 255s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 libasan8 arm64 15-20250213-1ubuntu1 [2928 kB] 255s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsan0 arm64 15-20250213-1ubuntu1 [1319 kB] 255s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 libtsan2 arm64 15-20250213-1ubuntu1 [2695 kB] 255s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libubsan1 arm64 15-20250213-1ubuntu1 [1178 kB] 255s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libhwasan0 arm64 15-20250213-1ubuntu1 [1642 kB] 255s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libgcc-14-dev arm64 14.2.0-17ubuntu1 [2593 kB] 255s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu1 [20.9 MB] 256s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14 arm64 14.2.0-17ubuntu1 [526 kB] 256s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1200 B] 256s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc arm64 4:14.2.0-1ubuntu1 [4998 B] 256s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libstdc++-14-dev arm64 14.2.0-17ubuntu1 [2499 kB] 256s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu1 [12.1 MB] 256s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14 arm64 14.2.0-17ubuntu1 [21.8 kB] 256s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [956 B] 256s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 g++ arm64 4:14.2.0-1ubuntu1 [1080 B] 256s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 256s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 dbconfig-common all 2.0.24 [596 kB] 256s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-setproctitle arm64 1.3.4-1 [19.5 kB] 256s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cotyledon all 1.7.3-3 [12.1 kB] 256s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 256s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mbstrdecoder all 1.1.0-4 [7452 B] 256s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pytz all 2025.1-3 [162 kB] 256s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-tz all 2025.1-3 [1866 B] 256s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-typepy all 1.3.2-1 [14.0 kB] 256s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 tzdata-legacy all 2025a-2ubuntu1 [99.2 kB] 256s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-datetimerange all 2.3.0-1 [10.3 kB] 256s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.8-1 [79.8 kB] 256s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-itsdangerous all 2.2.0-2 [15.3 kB] 256s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-werkzeug all 3.1.3-2 [169 kB] 256s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-flask all 3.1.0-2ubuntu1 [84.4 kB] 256s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-aniso8601 all 10.0.0-2 [40.5 kB] 256s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-flask-restful all 0.3.10-5 [24.3 kB] 256s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pbr all 6.1.1-0ubuntu1 [58.2 kB] 256s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-futurist all 3.0.0-3 [24.2 kB] 256s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-autopage all 0.4.0-4 [13.1 kB] 256s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 256s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyperclip all 1.8.2-2 [11.5 kB] 256s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cmd2 all 2.5.7+ds-1 [123 kB] 256s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 xml-core all 0.19 [20.3 kB] 256s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 docutils-common all 0.21.2+dfsg-2 [131 kB] 256s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-roman all 5.0-1 [10.3 kB] 257s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-docutils all 0.21.2+dfsg-2 [409 kB] 257s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 257s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-stevedore all 1:5.4.0-0ubuntu1 [21.1 kB] 257s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cliff all 4.8.0-0ubuntu1 [43.3 kB] 257s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wrapt arm64 1.15.0-4 [34.3 kB] 257s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-debtcollector all 3.0.0-3 [13.3 kB] 257s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-iso8601 all 2.1.0-2 [9136 B] 257s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 257s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lxml arm64 5.3.1-1 [1600 kB] 257s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 257s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-os-service-types all 1.7.0-5 [12.8 kB] 257s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-keystoneauth1 all 5.9.1-0ubuntu1 [171 kB] 257s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-decorator all 5.1.1-5 [10.1 kB] 257s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 257s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-deprecation all 2.1.0-3 [8806 B] 257s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dogpile.cache all 1.3.3-1 [46.8 kB] 257s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 257s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-munch all 4.0.0-2 [10.9 kB] 257s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-platformdirs all 4.3.6-1 [16.8 kB] 257s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 257s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-requestsexceptions all 1.4.0-5 [3824 B] 257s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-openstacksdk all 4.3.0-0ubuntu1 [676 kB] 257s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-os-client-config all 2.1.0-0ubuntu5 [17.6 kB] 257s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.i18n all 6.5.0-0ubuntu1 [22.3 kB] 257s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.utils all 8.1.0-0ubuntu1 [88.4 kB] 257s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-osc-lib all 3.2.0-0ubuntu1 [53.9 kB] 257s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-gnocchiclient all 7.0.8-0ubuntu1 [31.9 kB] 257s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-msgpack arm64 1.0.3-3build3 [106 kB] 257s Get:96 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-influxdb all 5.3.2-5 [54.2 kB] 257s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 libblas3 arm64 3.12.1-2 [161 kB] 257s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 libgfortran5 arm64 15-20250213-1ubuntu1 [443 kB] 257s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 liblapack3 arm64 3.12.1-2 [2307 kB] 257s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-numpy arm64 1:1.26.4+ds-13 [4148 kB] 257s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pandas-lib arm64 2.2.3+dfsg-8 [6925 kB] 258s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pandas all 2.2.3+dfsg-8 [3112 kB] 258s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rx all 4.0.4-3 [109 kB] 258s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-influxdb-client all 1.40.0-3 [205 kB] 258s Get:105 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 258s Get:106 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.39.0-0ubuntu1 [277 kB] 258s Get:107 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-monotonic all 1.6-3 [5344 B] 258s Get:108 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.context all 1:5.7.0-0ubuntu1 [13.8 kB] 258s Get:109 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.serialization all 5.6.0-0ubuntu1 [15.8 kB] 258s Get:110 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.log all 7.0.0-0ubuntu1 [45.6 kB] 258s Get:111 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-rfc3986 all 2.0.0-3 [22.0 kB] 258s Get:112 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.config all 1:9.7.0-0ubuntu1 [90.4 kB] 258s Get:113 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-keystoneclient all 1:5.5.0-0ubuntu1 [180 kB] 258s Get:114 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-memcache all 1.62-3 [17.6 kB] 258s Get:115 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.cache all 3.10.0-0ubuntu1 [41.1 kB] 258s Get:116 http://ftpmaster.internal/ubuntu plucky/main arm64 pycadf-common all 3.1.1-5 [4556 B] 258s Get:117 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pycadf all 3.1.1-5 [17.5 kB] 258s Get:118 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-legacy-cgi all 2.6.1-2 [16.3 kB] 258s Get:119 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-webob all 1:1.8.9-1 [86.8 kB] 258s Get:120 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-keystonemiddleware all 10.8.0-0ubuntu1 [80.5 kB] 258s Get:121 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-fasteners all 0.18-2 [12.5 kB] 258s Get:122 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-testtools all 2.7.2-4 [124 kB] 258s Get:123 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-fixtures all 4.1.0-3 [34.8 kB] 259s Get:124 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.concurrency all 6.2.0-0ubuntu1 [31.0 kB] 259s Get:125 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-testresources all 2.0.1-5 [26.8 kB] 259s Get:126 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-testscenarios all 0.5.0-4 [13.0 kB] 259s Get:127 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.db all 17.1.0-0ubuntu2 [101 kB] 259s Get:128 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-vine all 5.1.0+dfsg-1 [14.2 kB] 259s Get:129 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-amqp all 5.3.1-2 [43.5 kB] 259s Get:130 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 259s Get:131 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-kombu all 5.4.2-3 [145 kB] 259s Get:132 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prometheus-client all 0.21.1+ds1-1 [45.8 kB] 259s Get:133 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.metrics all 0.10.1-0ubuntu1 [7594 B] 259s Get:134 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-statsd all 4.0.1-2 [12.2 kB] 259s Get:135 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.middleware all 6.3.0-0ubuntu1 [34.5 kB] 259s Get:136 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-tempita all 0.6.0-1 [14.8 kB] 259s Get:137 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-paste all 3.10.1-1 [210 kB] 259s Get:138 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pastedeploy-tpl all 3.1-1 [5652 B] 259s Get:139 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pastedeploy all 3.1-1 [13.5 kB] 259s Get:140 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-repoze.lru all 0.7-3 [12.3 kB] 259s Get:141 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-routes all 2.5.1-7 [90.8 kB] 259s Get:142 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.service all 4.0.0-0ubuntu1 [49.4 kB] 259s Get:143 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-tenacity all 9.0.0-0ubuntu1 [17.0 kB] 259s Get:144 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.messaging all 16.0.0-0ubuntu1 [119 kB] 259s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.policy all 4.5.0-0ubuntu1 [58.3 kB] 259s Get:146 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oslo.upgradecheck all 2.4.0-0ubuntu1 [9386 B] 259s Get:147 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-logutils all 0.3.5-5 [17.8 kB] 259s Get:148 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-simplegeneric all 0.8.1-5 [10.7 kB] 259s Get:149 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pecan all 1.5.1-6 [86.8 kB] 259s Get:150 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pymemcache all 4.0.0-8 [42.6 kB] 259s Get:151 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pymysql all 1.1.1-2ubuntu1 [39.5 kB] 259s Get:152 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-voluptuous all 0.14.2-1 [42.7 kB] 259s Get:153 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-tooz all 6.3.0-0ubuntu1 [53.9 kB] 259s Get:154 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wsme all 0.12.1-5ubuntu1 [44.9 kB] 259s Get:155 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cloudkitty all 21.0.0-0ubuntu1 [161 kB] 259s Get:156 http://ftpmaster.internal/ubuntu plucky/universe arm64 cloudkitty-common all 21.0.0-0ubuntu1 [38.0 kB] 259s Get:157 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cinderclient all 1:9.6.0-0ubuntu1 [133 kB] 259s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-osc-placement all 4.5.0-0ubuntu1 [35.3 kB] 259s Get:159 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-openstackclient all 7.2.1-0ubuntu1 [439 kB] 259s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pastescript all 3.7.0-1 [56.1 kB] 259s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 sqlite3 arm64 3.46.1-1 [147 kB] 259s Get:162 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-q-text-as-data all 3.1.6-4 [40.1 kB] 259s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libyajl2 arm64 2.1.0-5build1 [19.7 kB] 259s Get:164 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnorm1t64 arm64 1.5.9+dfsg-3.1build1 [150 kB] 259s Get:165 http://ftpmaster.internal/ubuntu plucky/universe arm64 libpgm-5.3-0t64 arm64 5.3.128~dfsg-2.1build1 [162 kB] 259s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 libsodium23 arm64 1.0.18-1build3 [119 kB] 259s Get:167 http://ftpmaster.internal/ubuntu plucky/universe arm64 libzmq5 arm64 4.3.5-1build2 [247 kB] 259s Get:168 http://ftpmaster.internal/ubuntu plucky/universe arm64 uwsgi-core arm64 2.0.28-8 [588 kB] 259s Get:169 http://ftpmaster.internal/ubuntu plucky/universe arm64 uwsgi-plugin-python3 arm64 2.0.28+1ubuntu1+0.0.2 [98.8 kB] 259s Get:170 http://ftpmaster.internal/ubuntu plucky/universe arm64 cloudkitty-api all 21.0.0-0ubuntu1 [22.6 kB] 259s Get:171 http://ftpmaster.internal/ubuntu plucky/universe arm64 fonts-glyphicons-halflings all 1.009~3.4.1+dfsg-3 [118 kB] 259s Get:172 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-bootstrap all 3.4.1+dfsg-3 [129 kB] 259s Get:173 http://ftpmaster.internal/ubuntu plucky/universe arm64 python-os-api-ref-common all 2.3.0-0ubuntu1 [9660 B] 259s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 259s Get:175 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-dulwich arm64 0.22.7-1 [183 kB] 259s Get:176 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-openstackdocstheme all 3.2.0-0ubuntu2 [863 kB] 259s Get:177 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-defusedxml all 0.7.1-3 [42.2 kB] 259s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 259s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-common all 8.1.3-4 [663 kB] 259s Get:180 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-alabaster all 0.7.16-0.1 [18.5 kB] 259s Get:181 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-imagesize all 1.4.1-1 [6844 B] 259s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-snowballstemmer all 2.2.0-4build1 [59.8 kB] 260s Get:183 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-sphinx all 8.1.3-4 [474 kB] 260s Get:184 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-os-api-ref all 2.3.0-0ubuntu1 [23.6 kB] 260s Get:185 http://ftpmaster.internal/ubuntu plucky/universe arm64 cloudkitty-doc all 21.0.0-0ubuntu1 [1130 kB] 260s Get:186 http://ftpmaster.internal/ubuntu plucky/universe arm64 cloudkitty-processor all 21.0.0-0ubuntu1 [5378 B] 260s Get:187 http://ftpmaster.internal/ubuntu plucky/main arm64 libdebhelper-perl all 13.24.1ubuntu2 [95.4 kB] 260s Get:188 http://ftpmaster.internal/ubuntu plucky/main arm64 libtool all 2.5.4-3build1 [168 kB] 260s Get:189 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-autoreconf all 20 [16.1 kB] 260s Get:190 http://ftpmaster.internal/ubuntu plucky/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 260s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [20.3 kB] 260s Get:192 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-strip-nondeterminism all 1.14.1-2 [5064 B] 260s Get:193 http://ftpmaster.internal/ubuntu plucky/main arm64 debugedit arm64 1:5.1-2 [46.1 kB] 260s Get:194 http://ftpmaster.internal/ubuntu plucky/main arm64 dwz arm64 0.15-1build6 [113 kB] 260s Get:195 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.23.1-1 [998 kB] 260s Get:196 http://ftpmaster.internal/ubuntu plucky/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 260s Get:197 http://ftpmaster.internal/ubuntu plucky/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 260s Get:198 http://ftpmaster.internal/ubuntu plucky/main arm64 debhelper all 13.24.1ubuntu2 [895 kB] 260s Get:199 http://ftpmaster.internal/ubuntu plucky/universe arm64 dh-python all 6.20250108 [117 kB] 260s Get:200 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 260s Get:201 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycodestyle all 2.12.1-2 [30.2 kB] 260s Get:202 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-3 [53.0 kB] 260s Get:203 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-flake8 all 7.1.1-3 [44.0 kB] 260s Get:204 http://ftpmaster.internal/ubuntu plucky/universe arm64 flake8 all 7.1.1-3 [6438 B] 260s Get:205 http://ftpmaster.internal/ubuntu plucky/main arm64 liberror-perl all 0.17029-2 [25.6 kB] 260s Get:206 http://ftpmaster.internal/ubuntu plucky/main arm64 git-man all 1:2.47.1-1ubuntu1 [1142 kB] 260s Get:207 http://ftpmaster.internal/ubuntu plucky/main arm64 git arm64 1:2.47.1-1ubuntu1 [4203 kB] 261s Get:208 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsubunit-perl all 1.4.2-3build1 [5936 B] 261s Get:209 http://ftpmaster.internal/ubuntu plucky/universe arm64 pyflakes3 all 3.2.0-3 [3476 B] 261s Get:210 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-all arm64 3.13.1-1~exp2 [894 B] 261s Get:211 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-colorama all 0.4.6-4 [32.1 kB] 261s Get:212 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 261s Get:213 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ddt all 1.7.2-4 [8862 B] 261s Get:214 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-restructuredtext-lint all 1.3.2-3 [12.8 kB] 261s Get:215 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-doc8 all 0.10.1-5 [17.2 kB] 261s Get:216 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-extras all 1.0.0-6 [7040 B] 261s Get:217 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ply all 3.11-7 [45.4 kB] 261s Get:218 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jsonpath-rw all 1.4.0-7 [15.0 kB] 261s Get:219 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-wsgi-intercept all 1.9.3-2ubuntu1 [18.5 kB] 261s Get:220 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jsonpath-rw-ext all 1.2.2-4 [11.8 kB] 261s Get:221 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 261s Get:222 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 261s Get:223 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.4-1 [252 kB] 261s Get:224 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gabbi all 2.4.0-3 [29.0 kB] 261s Get:225 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-hacking all 4.1.0-4 [22.7 kB] 261s Get:226 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-tomlkit all 0.13.2-1 [37.6 kB] 261s Get:227 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-subunit all 1.4.2-3build1 [67.6 kB] 261s Get:228 http://ftpmaster.internal/ubuntu plucky/universe arm64 subunit all 1.4.2-3build1 [4500 B] 261s Get:229 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-stestr all 4.1.0-3 [57.6 kB] 261s Get:230 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-oslotest all 1:5.0.0-4 [17.5 kB] 261s Get:231 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pep8 all 1.7.1-11ubuntu1 [32.0 kB] 261s Get:232 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-wheel all 0.45.1-1 [57.7 kB] 261s Get:233 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pip all 25.0+dfsg-1 [1417 kB] 261s Get:234 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-reno all 4.1.0-2 [44.8 kB] 261s Get:235 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-sphinxcontrib.httpdomain all 1.8.1-2 [18.5 kB] 261s Get:236 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-sphinxcontrib-pecanwsme all 0.11.0-1 [6514 B] 261s Get:237 http://ftpmaster.internal/ubuntu plucky/universe arm64 openstack-pkg-tools all 123ubuntu2 [94.5 kB] 262s Preconfiguring packages ... 262s Fetched 111 MB in 8s (14.1 MB/s) 262s Selecting previously unselected package python3.12-minimal. 263s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 116718 files and directories currently installed.) 263s Preparing to unpack .../000-python3.12-minimal_3.12.9-1_arm64.deb ... 263s Unpacking python3.12-minimal (3.12.9-1) ... 263s Selecting previously unselected package sgml-base. 263s Preparing to unpack .../001-sgml-base_1.31_all.deb ... 263s Unpacking sgml-base (1.31) ... 263s Selecting previously unselected package python3.12. 263s Preparing to unpack .../002-python3.12_3.12.9-1_arm64.deb ... 263s Unpacking python3.12 (3.12.9-1) ... 263s Selecting previously unselected package python3-importlib-metadata. 263s Preparing to unpack .../003-python3-importlib-metadata_8.6.1-1_all.deb ... 263s Unpacking python3-importlib-metadata (8.6.1-1) ... 263s Selecting previously unselected package python3-mako. 263s Preparing to unpack .../004-python3-mako_1.3.8-2_all.deb ... 263s Unpacking python3-mako (1.3.8-2) ... 263s Selecting previously unselected package python3-greenlet. 263s Preparing to unpack .../005-python3-greenlet_3.1.0-1_arm64.deb ... 263s Unpacking python3-greenlet (3.1.0-1) ... 263s Selecting previously unselected package python3-sqlalchemy. 263s Preparing to unpack .../006-python3-sqlalchemy_2.0.38+ds1-0ubuntu1_all.deb ... 263s Unpacking python3-sqlalchemy (2.0.38+ds1-0ubuntu1) ... 263s Selecting previously unselected package python3-alembic. 263s Preparing to unpack .../007-python3-alembic_1.13.2-4_all.deb ... 263s Unpacking python3-alembic (1.13.2-4) ... 263s Selecting previously unselected package libjs-jquery. 263s Preparing to unpack .../008-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 264s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 264s Selecting previously unselected package libjs-underscore. 264s Preparing to unpack .../009-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 264s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 264s Selecting previously unselected package libjs-sphinxdoc. 264s Preparing to unpack .../010-libjs-sphinxdoc_8.1.3-4_all.deb ... 264s Unpacking libjs-sphinxdoc (8.1.3-4) ... 264s Selecting previously unselected package alembic. 264s Preparing to unpack .../011-alembic_1.13.2-4_all.deb ... 264s Unpacking alembic (1.13.2-4) ... 264s Selecting previously unselected package m4. 264s Preparing to unpack .../012-m4_1.4.19-5_arm64.deb ... 264s Unpacking m4 (1.4.19-5) ... 264s Selecting previously unselected package autoconf. 264s Preparing to unpack .../013-autoconf_2.72-3_all.deb ... 264s Unpacking autoconf (2.72-3) ... 264s Selecting previously unselected package autotools-dev. 264s Preparing to unpack .../014-autotools-dev_20220109.1_all.deb ... 264s Unpacking autotools-dev (20220109.1) ... 264s Selecting previously unselected package automake. 264s Preparing to unpack .../015-automake_1%3a1.17-3_all.deb ... 264s Unpacking automake (1:1.17-3) ... 264s Selecting previously unselected package autopoint. 264s Preparing to unpack .../016-autopoint_0.23.1-1_all.deb ... 264s Unpacking autopoint (0.23.1-1) ... 264s Selecting previously unselected package libisl23:arm64. 264s Preparing to unpack .../017-libisl23_0.27-1_arm64.deb ... 264s Unpacking libisl23:arm64 (0.27-1) ... 264s Selecting previously unselected package libmpc3:arm64. 264s Preparing to unpack .../018-libmpc3_1.3.1-1build2_arm64.deb ... 264s Unpacking libmpc3:arm64 (1.3.1-1build2) ... 264s Selecting previously unselected package cpp-14-aarch64-linux-gnu. 264s Preparing to unpack .../019-cpp-14-aarch64-linux-gnu_14.2.0-17ubuntu1_arm64.deb ... 264s Unpacking cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu1) ... 265s Selecting previously unselected package cpp-14. 265s Preparing to unpack .../020-cpp-14_14.2.0-17ubuntu1_arm64.deb ... 265s Unpacking cpp-14 (14.2.0-17ubuntu1) ... 265s Selecting previously unselected package cpp-aarch64-linux-gnu. 265s Preparing to unpack .../021-cpp-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 265s Unpacking cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 265s Selecting previously unselected package cpp. 265s Preparing to unpack .../022-cpp_4%3a14.2.0-1ubuntu1_arm64.deb ... 265s Unpacking cpp (4:14.2.0-1ubuntu1) ... 265s Selecting previously unselected package libcc1-0:arm64. 265s Preparing to unpack .../023-libcc1-0_15-20250213-1ubuntu1_arm64.deb ... 265s Unpacking libcc1-0:arm64 (15-20250213-1ubuntu1) ... 265s Selecting previously unselected package libgomp1:arm64. 265s Preparing to unpack .../024-libgomp1_15-20250213-1ubuntu1_arm64.deb ... 265s Unpacking libgomp1:arm64 (15-20250213-1ubuntu1) ... 265s Selecting previously unselected package libitm1:arm64. 265s Preparing to unpack .../025-libitm1_15-20250213-1ubuntu1_arm64.deb ... 265s Unpacking libitm1:arm64 (15-20250213-1ubuntu1) ... 265s Selecting previously unselected package libasan8:arm64. 265s Preparing to unpack .../026-libasan8_15-20250213-1ubuntu1_arm64.deb ... 265s Unpacking libasan8:arm64 (15-20250213-1ubuntu1) ... 265s Selecting previously unselected package liblsan0:arm64. 266s Preparing to unpack .../027-liblsan0_15-20250213-1ubuntu1_arm64.deb ... 266s Unpacking liblsan0:arm64 (15-20250213-1ubuntu1) ... 266s Selecting previously unselected package libtsan2:arm64. 266s Preparing to unpack .../028-libtsan2_15-20250213-1ubuntu1_arm64.deb ... 266s Unpacking libtsan2:arm64 (15-20250213-1ubuntu1) ... 266s Selecting previously unselected package libubsan1:arm64. 266s Preparing to unpack .../029-libubsan1_15-20250213-1ubuntu1_arm64.deb ... 266s Unpacking libubsan1:arm64 (15-20250213-1ubuntu1) ... 266s Selecting previously unselected package libhwasan0:arm64. 266s Preparing to unpack .../030-libhwasan0_15-20250213-1ubuntu1_arm64.deb ... 266s Unpacking libhwasan0:arm64 (15-20250213-1ubuntu1) ... 266s Selecting previously unselected package libgcc-14-dev:arm64. 266s Preparing to unpack .../031-libgcc-14-dev_14.2.0-17ubuntu1_arm64.deb ... 266s Unpacking libgcc-14-dev:arm64 (14.2.0-17ubuntu1) ... 266s Selecting previously unselected package gcc-14-aarch64-linux-gnu. 266s Preparing to unpack .../032-gcc-14-aarch64-linux-gnu_14.2.0-17ubuntu1_arm64.deb ... 266s Unpacking gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu1) ... 267s Selecting previously unselected package gcc-14. 267s Preparing to unpack .../033-gcc-14_14.2.0-17ubuntu1_arm64.deb ... 267s Unpacking gcc-14 (14.2.0-17ubuntu1) ... 267s Selecting previously unselected package gcc-aarch64-linux-gnu. 267s Preparing to unpack .../034-gcc-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 267s Unpacking gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 267s Selecting previously unselected package gcc. 267s Preparing to unpack .../035-gcc_4%3a14.2.0-1ubuntu1_arm64.deb ... 267s Unpacking gcc (4:14.2.0-1ubuntu1) ... 267s Selecting previously unselected package libstdc++-14-dev:arm64. 267s Preparing to unpack .../036-libstdc++-14-dev_14.2.0-17ubuntu1_arm64.deb ... 267s Unpacking libstdc++-14-dev:arm64 (14.2.0-17ubuntu1) ... 267s Selecting previously unselected package g++-14-aarch64-linux-gnu. 267s Preparing to unpack .../037-g++-14-aarch64-linux-gnu_14.2.0-17ubuntu1_arm64.deb ... 267s Unpacking g++-14-aarch64-linux-gnu (14.2.0-17ubuntu1) ... 267s Selecting previously unselected package g++-14. 267s Preparing to unpack .../038-g++-14_14.2.0-17ubuntu1_arm64.deb ... 267s Unpacking g++-14 (14.2.0-17ubuntu1) ... 267s Selecting previously unselected package g++-aarch64-linux-gnu. 268s Preparing to unpack .../039-g++-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 268s Unpacking g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 268s Selecting previously unselected package g++. 268s Preparing to unpack .../040-g++_4%3a14.2.0-1ubuntu1_arm64.deb ... 268s Unpacking g++ (4:14.2.0-1ubuntu1) ... 268s Selecting previously unselected package build-essential. 268s Preparing to unpack .../041-build-essential_12.10ubuntu1_arm64.deb ... 268s Unpacking build-essential (12.10ubuntu1) ... 268s Selecting previously unselected package dbconfig-common. 268s Preparing to unpack .../042-dbconfig-common_2.0.24_all.deb ... 268s Unpacking dbconfig-common (2.0.24) ... 268s Selecting previously unselected package python3-setproctitle:arm64. 268s Preparing to unpack .../043-python3-setproctitle_1.3.4-1_arm64.deb ... 268s Unpacking python3-setproctitle:arm64 (1.3.4-1) ... 268s Selecting previously unselected package python3-cotyledon. 268s Preparing to unpack .../044-python3-cotyledon_1.7.3-3_all.deb ... 268s Unpacking python3-cotyledon (1.7.3-3) ... 268s Selecting previously unselected package python3-dateutil. 268s Preparing to unpack .../045-python3-dateutil_2.9.0-3_all.deb ... 268s Unpacking python3-dateutil (2.9.0-3) ... 268s Selecting previously unselected package python3-mbstrdecoder. 268s Preparing to unpack .../046-python3-mbstrdecoder_1.1.0-4_all.deb ... 268s Unpacking python3-mbstrdecoder (1.1.0-4) ... 268s Selecting previously unselected package python3-pytz. 268s Preparing to unpack .../047-python3-pytz_2025.1-3_all.deb ... 268s Unpacking python3-pytz (2025.1-3) ... 268s Selecting previously unselected package python3-tz. 268s Preparing to unpack .../048-python3-tz_2025.1-3_all.deb ... 268s Unpacking python3-tz (2025.1-3) ... 268s Selecting previously unselected package python3-typepy. 268s Preparing to unpack .../049-python3-typepy_1.3.2-1_all.deb ... 268s Unpacking python3-typepy (1.3.2-1) ... 268s Selecting previously unselected package tzdata-legacy. 268s Preparing to unpack .../050-tzdata-legacy_2025a-2ubuntu1_all.deb ... 268s Unpacking tzdata-legacy (2025a-2ubuntu1) ... 269s Selecting previously unselected package python3-datetimerange. 269s Preparing to unpack .../051-python3-datetimerange_2.3.0-1_all.deb ... 269s Unpacking python3-datetimerange (2.3.0-1) ... 269s Selecting previously unselected package python3-click. 269s Preparing to unpack .../052-python3-click_8.1.8-1_all.deb ... 269s Unpacking python3-click (8.1.8-1) ... 269s Selecting previously unselected package python3-itsdangerous. 269s Preparing to unpack .../053-python3-itsdangerous_2.2.0-2_all.deb ... 269s Unpacking python3-itsdangerous (2.2.0-2) ... 269s Selecting previously unselected package python3-werkzeug. 269s Preparing to unpack .../054-python3-werkzeug_3.1.3-2_all.deb ... 269s Unpacking python3-werkzeug (3.1.3-2) ... 269s Selecting previously unselected package python3-flask. 269s Preparing to unpack .../055-python3-flask_3.1.0-2ubuntu1_all.deb ... 269s Unpacking python3-flask (3.1.0-2ubuntu1) ... 269s Selecting previously unselected package python3-aniso8601. 269s Preparing to unpack .../056-python3-aniso8601_10.0.0-2_all.deb ... 269s Unpacking python3-aniso8601 (10.0.0-2) ... 269s Selecting previously unselected package python3-flask-restful. 269s Preparing to unpack .../057-python3-flask-restful_0.3.10-5_all.deb ... 269s Unpacking python3-flask-restful (0.3.10-5) ... 269s Selecting previously unselected package python3-pbr. 269s Preparing to unpack .../058-python3-pbr_6.1.1-0ubuntu1_all.deb ... 269s Unpacking python3-pbr (6.1.1-0ubuntu1) ... 269s Selecting previously unselected package python3-futurist. 269s Preparing to unpack .../059-python3-futurist_3.0.0-3_all.deb ... 269s Unpacking python3-futurist (3.0.0-3) ... 269s Selecting previously unselected package python3-autopage. 269s Preparing to unpack .../060-python3-autopage_0.4.0-4_all.deb ... 269s Unpacking python3-autopage (0.4.0-4) ... 269s Selecting previously unselected package python3-wcwidth. 269s Preparing to unpack .../061-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 269s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 269s Selecting previously unselected package python3-pyperclip. 269s Preparing to unpack .../062-python3-pyperclip_1.8.2-2_all.deb ... 269s Unpacking python3-pyperclip (1.8.2-2) ... 269s Selecting previously unselected package python3-cmd2. 269s Preparing to unpack .../063-python3-cmd2_2.5.7+ds-1_all.deb ... 269s Unpacking python3-cmd2 (2.5.7+ds-1) ... 269s Selecting previously unselected package xml-core. 269s Preparing to unpack .../064-xml-core_0.19_all.deb ... 269s Unpacking xml-core (0.19) ... 269s Selecting previously unselected package docutils-common. 269s Preparing to unpack .../065-docutils-common_0.21.2+dfsg-2_all.deb ... 270s Unpacking docutils-common (0.21.2+dfsg-2) ... 270s Selecting previously unselected package python3-roman. 270s Preparing to unpack .../066-python3-roman_5.0-1_all.deb ... 270s Unpacking python3-roman (5.0-1) ... 270s Selecting previously unselected package python3-docutils. 270s Preparing to unpack .../067-python3-docutils_0.21.2+dfsg-2_all.deb ... 270s Unpacking python3-docutils (0.21.2+dfsg-2) ... 270s Selecting previously unselected package python3-prettytable. 270s Preparing to unpack .../068-python3-prettytable_3.12.0-1_all.deb ... 270s Unpacking python3-prettytable (3.12.0-1) ... 270s Selecting previously unselected package python3-stevedore. 270s Preparing to unpack .../069-python3-stevedore_1%3a5.4.0-0ubuntu1_all.deb ... 270s Unpacking python3-stevedore (1:5.4.0-0ubuntu1) ... 270s Selecting previously unselected package python3-cliff. 270s Preparing to unpack .../070-python3-cliff_4.8.0-0ubuntu1_all.deb ... 270s Unpacking python3-cliff (4.8.0-0ubuntu1) ... 270s Selecting previously unselected package python3-wrapt. 270s Preparing to unpack .../071-python3-wrapt_1.15.0-4_arm64.deb ... 270s Unpacking python3-wrapt (1.15.0-4) ... 270s Selecting previously unselected package python3-debtcollector. 270s Preparing to unpack .../072-python3-debtcollector_3.0.0-3_all.deb ... 270s Unpacking python3-debtcollector (3.0.0-3) ... 270s Selecting previously unselected package python3-iso8601. 270s Preparing to unpack .../073-python3-iso8601_2.1.0-2_all.deb ... 270s Unpacking python3-iso8601 (2.1.0-2) ... 270s Selecting previously unselected package libxslt1.1:arm64. 270s Preparing to unpack .../074-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 270s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 270s Selecting previously unselected package python3-lxml:arm64. 270s Preparing to unpack .../075-python3-lxml_5.3.1-1_arm64.deb ... 270s Unpacking python3-lxml:arm64 (5.3.1-1) ... 270s Selecting previously unselected package python3-six. 270s Preparing to unpack .../076-python3-six_1.17.0-1_all.deb ... 270s Unpacking python3-six (1.17.0-1) ... 270s Selecting previously unselected package python3-os-service-types. 270s Preparing to unpack .../077-python3-os-service-types_1.7.0-5_all.deb ... 270s Unpacking python3-os-service-types (1.7.0-5) ... 270s Selecting previously unselected package python3-keystoneauth1. 271s Preparing to unpack .../078-python3-keystoneauth1_5.9.1-0ubuntu1_all.deb ... 271s Unpacking python3-keystoneauth1 (5.9.1-0ubuntu1) ... 271s Selecting previously unselected package python3-decorator. 271s Preparing to unpack .../079-python3-decorator_5.1.1-5_all.deb ... 271s Unpacking python3-decorator (5.1.1-5) ... 271s Selecting previously unselected package python3-packaging. 271s Preparing to unpack .../080-python3-packaging_24.2-1_all.deb ... 271s Unpacking python3-packaging (24.2-1) ... 271s Selecting previously unselected package python3-deprecation. 271s Preparing to unpack .../081-python3-deprecation_2.1.0-3_all.deb ... 271s Unpacking python3-deprecation (2.1.0-3) ... 271s Selecting previously unselected package python3-dogpile.cache. 271s Preparing to unpack .../082-python3-dogpile.cache_1.3.3-1_all.deb ... 271s Unpacking python3-dogpile.cache (1.3.3-1) ... 271s Selecting previously unselected package python3-jmespath. 271s Preparing to unpack .../083-python3-jmespath_1.0.1-1_all.deb ... 271s Unpacking python3-jmespath (1.0.1-1) ... 271s Selecting previously unselected package python3-munch. 271s Preparing to unpack .../084-python3-munch_4.0.0-2_all.deb ... 271s Unpacking python3-munch (4.0.0-2) ... 271s Selecting previously unselected package python3-platformdirs. 271s Preparing to unpack .../085-python3-platformdirs_4.3.6-1_all.deb ... 271s Unpacking python3-platformdirs (4.3.6-1) ... 271s Selecting previously unselected package python3-psutil. 271s Preparing to unpack .../086-python3-psutil_5.9.8-2build3_arm64.deb ... 271s Unpacking python3-psutil (5.9.8-2build3) ... 271s Selecting previously unselected package python3-requestsexceptions. 271s Preparing to unpack .../087-python3-requestsexceptions_1.4.0-5_all.deb ... 271s Unpacking python3-requestsexceptions (1.4.0-5) ... 271s Selecting previously unselected package python3-openstacksdk. 271s Preparing to unpack .../088-python3-openstacksdk_4.3.0-0ubuntu1_all.deb ... 271s Unpacking python3-openstacksdk (4.3.0-0ubuntu1) ... 271s Selecting previously unselected package python3-os-client-config. 271s Preparing to unpack .../089-python3-os-client-config_2.1.0-0ubuntu5_all.deb ... 271s Unpacking python3-os-client-config (2.1.0-0ubuntu5) ... 271s Selecting previously unselected package python3-oslo.i18n. 272s Preparing to unpack .../090-python3-oslo.i18n_6.5.0-0ubuntu1_all.deb ... 272s Unpacking python3-oslo.i18n (6.5.0-0ubuntu1) ... 272s Selecting previously unselected package python3-oslo.utils. 272s Preparing to unpack .../091-python3-oslo.utils_8.1.0-0ubuntu1_all.deb ... 272s Unpacking python3-oslo.utils (8.1.0-0ubuntu1) ... 272s Selecting previously unselected package python3-osc-lib. 272s Preparing to unpack .../092-python3-osc-lib_3.2.0-0ubuntu1_all.deb ... 272s Unpacking python3-osc-lib (3.2.0-0ubuntu1) ... 272s Selecting previously unselected package python3-gnocchiclient. 272s Preparing to unpack .../093-python3-gnocchiclient_7.0.8-0ubuntu1_all.deb ... 272s Unpacking python3-gnocchiclient (7.0.8-0ubuntu1) ... 272s Selecting previously unselected package python3-msgpack. 272s Preparing to unpack .../094-python3-msgpack_1.0.3-3build3_arm64.deb ... 272s Unpacking python3-msgpack (1.0.3-3build3) ... 272s Selecting previously unselected package python3-influxdb. 272s Preparing to unpack .../095-python3-influxdb_5.3.2-5_all.deb ... 272s Unpacking python3-influxdb (5.3.2-5) ... 272s Selecting previously unselected package libblas3:arm64. 272s Preparing to unpack .../096-libblas3_3.12.1-2_arm64.deb ... 272s Unpacking libblas3:arm64 (3.12.1-2) ... 272s Selecting previously unselected package libgfortran5:arm64. 272s Preparing to unpack .../097-libgfortran5_15-20250213-1ubuntu1_arm64.deb ... 272s Unpacking libgfortran5:arm64 (15-20250213-1ubuntu1) ... 272s Selecting previously unselected package liblapack3:arm64. 272s Preparing to unpack .../098-liblapack3_3.12.1-2_arm64.deb ... 272s Unpacking liblapack3:arm64 (3.12.1-2) ... 272s Selecting previously unselected package python3-numpy. 272s Preparing to unpack .../099-python3-numpy_1%3a1.26.4+ds-13_arm64.deb ... 272s Unpacking python3-numpy (1:1.26.4+ds-13) ... 272s Selecting previously unselected package python3-pandas-lib:arm64. 273s Preparing to unpack .../100-python3-pandas-lib_2.2.3+dfsg-8_arm64.deb ... 273s Unpacking python3-pandas-lib:arm64 (2.2.3+dfsg-8) ... 273s Selecting previously unselected package python3-pandas. 273s Preparing to unpack .../101-python3-pandas_2.2.3+dfsg-8_all.deb ... 273s Unpacking python3-pandas (2.2.3+dfsg-8) ... 273s Selecting previously unselected package python3-rx. 273s Preparing to unpack .../102-python3-rx_4.0.4-3_all.deb ... 273s Unpacking python3-rx (4.0.4-3) ... 273s Selecting previously unselected package python3-influxdb-client. 273s Preparing to unpack .../103-python3-influxdb-client_1.40.0-3_all.deb ... 273s Unpacking python3-influxdb-client (1.40.0-3) ... 273s Selecting previously unselected package python3-dnspython. 274s Preparing to unpack .../104-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 274s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 274s Selecting previously unselected package python3-eventlet. 274s Preparing to unpack .../105-python3-eventlet_0.39.0-0ubuntu1_all.deb ... 274s Unpacking python3-eventlet (0.39.0-0ubuntu1) ... 274s Selecting previously unselected package python3-monotonic. 274s Preparing to unpack .../106-python3-monotonic_1.6-3_all.deb ... 274s Unpacking python3-monotonic (1.6-3) ... 274s Selecting previously unselected package python3-oslo.context. 274s Preparing to unpack .../107-python3-oslo.context_1%3a5.7.0-0ubuntu1_all.deb ... 274s Unpacking python3-oslo.context (1:5.7.0-0ubuntu1) ... 274s Selecting previously unselected package python3-oslo.serialization. 274s Preparing to unpack .../108-python3-oslo.serialization_5.6.0-0ubuntu1_all.deb ... 274s Unpacking python3-oslo.serialization (5.6.0-0ubuntu1) ... 274s Selecting previously unselected package python3-oslo.log. 274s Preparing to unpack .../109-python3-oslo.log_7.0.0-0ubuntu1_all.deb ... 274s Unpacking python3-oslo.log (7.0.0-0ubuntu1) ... 274s Selecting previously unselected package python3-rfc3986. 274s Preparing to unpack .../110-python3-rfc3986_2.0.0-3_all.deb ... 274s Unpacking python3-rfc3986 (2.0.0-3) ... 274s Selecting previously unselected package python3-oslo.config. 274s Preparing to unpack .../111-python3-oslo.config_1%3a9.7.0-0ubuntu1_all.deb ... 274s Unpacking python3-oslo.config (1:9.7.0-0ubuntu1) ... 274s Selecting previously unselected package python3-keystoneclient. 274s Preparing to unpack .../112-python3-keystoneclient_1%3a5.5.0-0ubuntu1_all.deb ... 274s Unpacking python3-keystoneclient (1:5.5.0-0ubuntu1) ... 274s Selecting previously unselected package python3-memcache. 274s Preparing to unpack .../113-python3-memcache_1.62-3_all.deb ... 274s Unpacking python3-memcache (1.62-3) ... 274s Selecting previously unselected package python3-oslo.cache. 274s Preparing to unpack .../114-python3-oslo.cache_3.10.0-0ubuntu1_all.deb ... 274s Unpacking python3-oslo.cache (3.10.0-0ubuntu1) ... 274s Selecting previously unselected package pycadf-common. 274s Preparing to unpack .../115-pycadf-common_3.1.1-5_all.deb ... 274s Unpacking pycadf-common (3.1.1-5) ... 275s Selecting previously unselected package python3-pycadf. 275s Preparing to unpack .../116-python3-pycadf_3.1.1-5_all.deb ... 275s Unpacking python3-pycadf (3.1.1-5) ... 275s Selecting previously unselected package python3-legacy-cgi. 275s Preparing to unpack .../117-python3-legacy-cgi_2.6.1-2_all.deb ... 275s Unpacking python3-legacy-cgi (2.6.1-2) ... 275s Selecting previously unselected package python3-webob. 275s Preparing to unpack .../118-python3-webob_1%3a1.8.9-1_all.deb ... 275s Unpacking python3-webob (1:1.8.9-1) ... 275s Selecting previously unselected package python3-keystonemiddleware. 275s Preparing to unpack .../119-python3-keystonemiddleware_10.8.0-0ubuntu1_all.deb ... 275s Unpacking python3-keystonemiddleware (10.8.0-0ubuntu1) ... 275s Selecting previously unselected package python3-fasteners. 275s Preparing to unpack .../120-python3-fasteners_0.18-2_all.deb ... 275s Unpacking python3-fasteners (0.18-2) ... 275s Selecting previously unselected package python3-testtools. 275s Preparing to unpack .../121-python3-testtools_2.7.2-4_all.deb ... 275s Unpacking python3-testtools (2.7.2-4) ... 275s Selecting previously unselected package python3-fixtures. 275s Preparing to unpack .../122-python3-fixtures_4.1.0-3_all.deb ... 275s Unpacking python3-fixtures (4.1.0-3) ... 275s Selecting previously unselected package python3-oslo.concurrency. 275s Preparing to unpack .../123-python3-oslo.concurrency_6.2.0-0ubuntu1_all.deb ... 275s Unpacking python3-oslo.concurrency (6.2.0-0ubuntu1) ... 275s Selecting previously unselected package python3-testresources. 275s Preparing to unpack .../124-python3-testresources_2.0.1-5_all.deb ... 275s Unpacking python3-testresources (2.0.1-5) ... 275s Selecting previously unselected package python3-testscenarios. 275s Preparing to unpack .../125-python3-testscenarios_0.5.0-4_all.deb ... 275s Unpacking python3-testscenarios (0.5.0-4) ... 275s Selecting previously unselected package python3-oslo.db. 275s Preparing to unpack .../126-python3-oslo.db_17.1.0-0ubuntu2_all.deb ... 275s Unpacking python3-oslo.db (17.1.0-0ubuntu2) ... 276s Selecting previously unselected package python3-vine. 276s Preparing to unpack .../127-python3-vine_5.1.0+dfsg-1_all.deb ... 276s Unpacking python3-vine (5.1.0+dfsg-1) ... 276s Selecting previously unselected package python3-amqp. 276s Preparing to unpack .../128-python3-amqp_5.3.1-2_all.deb ... 276s Unpacking python3-amqp (5.3.1-2) ... 276s Selecting previously unselected package python3-cachetools. 276s Preparing to unpack .../129-python3-cachetools_5.3.3-1_all.deb ... 276s Unpacking python3-cachetools (5.3.3-1) ... 276s Selecting previously unselected package python3-kombu. 276s Preparing to unpack .../130-python3-kombu_5.4.2-3_all.deb ... 276s Unpacking python3-kombu (5.4.2-3) ... 276s Selecting previously unselected package python3-prometheus-client. 276s Preparing to unpack .../131-python3-prometheus-client_0.21.1+ds1-1_all.deb ... 276s Unpacking python3-prometheus-client (0.21.1+ds1-1) ... 276s Selecting previously unselected package python3-oslo.metrics. 276s Preparing to unpack .../132-python3-oslo.metrics_0.10.1-0ubuntu1_all.deb ... 276s Unpacking python3-oslo.metrics (0.10.1-0ubuntu1) ... 276s Selecting previously unselected package python3-statsd. 276s Preparing to unpack .../133-python3-statsd_4.0.1-2_all.deb ... 276s Unpacking python3-statsd (4.0.1-2) ... 276s Selecting previously unselected package python3-oslo.middleware. 276s Preparing to unpack .../134-python3-oslo.middleware_6.3.0-0ubuntu1_all.deb ... 276s Unpacking python3-oslo.middleware (6.3.0-0ubuntu1) ... 276s Selecting previously unselected package python3-tempita. 276s Preparing to unpack .../135-python3-tempita_0.6.0-1_all.deb ... 276s Unpacking python3-tempita (0.6.0-1) ... 276s Selecting previously unselected package python3-paste. 276s Preparing to unpack .../136-python3-paste_3.10.1-1_all.deb ... 276s Unpacking python3-paste (3.10.1-1) ... 276s Selecting previously unselected package python3-pastedeploy-tpl. 276s Preparing to unpack .../137-python3-pastedeploy-tpl_3.1-1_all.deb ... 276s Unpacking python3-pastedeploy-tpl (3.1-1) ... 276s Selecting previously unselected package python3-pastedeploy. 276s Preparing to unpack .../138-python3-pastedeploy_3.1-1_all.deb ... 276s Unpacking python3-pastedeploy (3.1-1) ... 276s Selecting previously unselected package python3-repoze.lru. 276s Preparing to unpack .../139-python3-repoze.lru_0.7-3_all.deb ... 276s Unpacking python3-repoze.lru (0.7-3) ... 276s Selecting previously unselected package python3-routes. 276s Preparing to unpack .../140-python3-routes_2.5.1-7_all.deb ... 276s Unpacking python3-routes (2.5.1-7) ... 277s Selecting previously unselected package python3-oslo.service. 277s Preparing to unpack .../141-python3-oslo.service_4.0.0-0ubuntu1_all.deb ... 277s Unpacking python3-oslo.service (4.0.0-0ubuntu1) ... 277s Selecting previously unselected package python3-tenacity. 277s Preparing to unpack .../142-python3-tenacity_9.0.0-0ubuntu1_all.deb ... 277s Unpacking python3-tenacity (9.0.0-0ubuntu1) ... 277s Selecting previously unselected package python3-oslo.messaging. 277s Preparing to unpack .../143-python3-oslo.messaging_16.0.0-0ubuntu1_all.deb ... 277s Unpacking python3-oslo.messaging (16.0.0-0ubuntu1) ... 277s Selecting previously unselected package python3-oslo.policy. 277s Preparing to unpack .../144-python3-oslo.policy_4.5.0-0ubuntu1_all.deb ... 277s Unpacking python3-oslo.policy (4.5.0-0ubuntu1) ... 277s Selecting previously unselected package python3-oslo.upgradecheck. 277s Preparing to unpack .../145-python3-oslo.upgradecheck_2.4.0-0ubuntu1_all.deb ... 277s Unpacking python3-oslo.upgradecheck (2.4.0-0ubuntu1) ... 277s Selecting previously unselected package python3-logutils. 277s Preparing to unpack .../146-python3-logutils_0.3.5-5_all.deb ... 277s Unpacking python3-logutils (0.3.5-5) ... 277s Selecting previously unselected package python3-simplegeneric. 277s Preparing to unpack .../147-python3-simplegeneric_0.8.1-5_all.deb ... 277s Unpacking python3-simplegeneric (0.8.1-5) ... 277s Selecting previously unselected package python3-pecan. 277s Preparing to unpack .../148-python3-pecan_1.5.1-6_all.deb ... 277s Unpacking python3-pecan (1.5.1-6) ... 277s Selecting previously unselected package python3-pymemcache. 277s Preparing to unpack .../149-python3-pymemcache_4.0.0-8_all.deb ... 277s Unpacking python3-pymemcache (4.0.0-8) ... 277s Selecting previously unselected package python3-pymysql. 277s Preparing to unpack .../150-python3-pymysql_1.1.1-2ubuntu1_all.deb ... 277s Unpacking python3-pymysql (1.1.1-2ubuntu1) ... 277s Selecting previously unselected package python3-voluptuous. 277s Preparing to unpack .../151-python3-voluptuous_0.14.2-1_all.deb ... 277s Unpacking python3-voluptuous (0.14.2-1) ... 277s Selecting previously unselected package python3-tooz. 277s Preparing to unpack .../152-python3-tooz_6.3.0-0ubuntu1_all.deb ... 277s Unpacking python3-tooz (6.3.0-0ubuntu1) ... 277s Selecting previously unselected package python3-wsme. 277s Preparing to unpack .../153-python3-wsme_0.12.1-5ubuntu1_all.deb ... 277s Unpacking python3-wsme (0.12.1-5ubuntu1) ... 277s Selecting previously unselected package python3-cloudkitty. 277s Preparing to unpack .../154-python3-cloudkitty_21.0.0-0ubuntu1_all.deb ... 277s Unpacking python3-cloudkitty (21.0.0-0ubuntu1) ... 277s Selecting previously unselected package cloudkitty-common. 278s Preparing to unpack .../155-cloudkitty-common_21.0.0-0ubuntu1_all.deb ... 278s Unpacking cloudkitty-common (21.0.0-0ubuntu1) ... 278s Selecting previously unselected package python3-cinderclient. 278s Preparing to unpack .../156-python3-cinderclient_1%3a9.6.0-0ubuntu1_all.deb ... 278s Unpacking python3-cinderclient (1:9.6.0-0ubuntu1) ... 278s Selecting previously unselected package python3-osc-placement. 278s Preparing to unpack .../157-python3-osc-placement_4.5.0-0ubuntu1_all.deb ... 278s Unpacking python3-osc-placement (4.5.0-0ubuntu1) ... 278s Selecting previously unselected package python3-openstackclient. 278s Preparing to unpack .../158-python3-openstackclient_7.2.1-0ubuntu1_all.deb ... 278s Unpacking python3-openstackclient (7.2.1-0ubuntu1) ... 278s Selecting previously unselected package python3-pastescript. 278s Preparing to unpack .../159-python3-pastescript_3.7.0-1_all.deb ... 278s Unpacking python3-pastescript (3.7.0-1) ... 278s Selecting previously unselected package sqlite3. 278s Preparing to unpack .../160-sqlite3_3.46.1-1_arm64.deb ... 278s Unpacking sqlite3 (3.46.1-1) ... 278s Selecting previously unselected package python3-q-text-as-data. 278s Preparing to unpack .../161-python3-q-text-as-data_3.1.6-4_all.deb ... 278s Unpacking python3-q-text-as-data (3.1.6-4) ... 278s Selecting previously unselected package libyajl2:arm64. 278s Preparing to unpack .../162-libyajl2_2.1.0-5build1_arm64.deb ... 278s Unpacking libyajl2:arm64 (2.1.0-5build1) ... 278s Selecting previously unselected package libnorm1t64:arm64. 278s Preparing to unpack .../163-libnorm1t64_1.5.9+dfsg-3.1build1_arm64.deb ... 278s Unpacking libnorm1t64:arm64 (1.5.9+dfsg-3.1build1) ... 278s Selecting previously unselected package libpgm-5.3-0t64:arm64. 278s Preparing to unpack .../164-libpgm-5.3-0t64_5.3.128~dfsg-2.1build1_arm64.deb ... 278s Unpacking libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1build1) ... 278s Selecting previously unselected package libsodium23:arm64. 278s Preparing to unpack .../165-libsodium23_1.0.18-1build3_arm64.deb ... 278s Unpacking libsodium23:arm64 (1.0.18-1build3) ... 279s Selecting previously unselected package libzmq5:arm64. 279s Preparing to unpack .../166-libzmq5_4.3.5-1build2_arm64.deb ... 279s Unpacking libzmq5:arm64 (4.3.5-1build2) ... 279s Selecting previously unselected package uwsgi-core. 279s Preparing to unpack .../167-uwsgi-core_2.0.28-8_arm64.deb ... 279s Unpacking uwsgi-core (2.0.28-8) ... 279s Selecting previously unselected package uwsgi-plugin-python3. 279s Preparing to unpack .../168-uwsgi-plugin-python3_2.0.28+1ubuntu1+0.0.2_arm64.deb ... 279s Unpacking uwsgi-plugin-python3 (2.0.28+1ubuntu1+0.0.2) ... 279s Selecting previously unselected package cloudkitty-api. 279s Preparing to unpack .../169-cloudkitty-api_21.0.0-0ubuntu1_all.deb ... 279s Unpacking cloudkitty-api (21.0.0-0ubuntu1) ... 279s Selecting previously unselected package fonts-glyphicons-halflings. 279s Preparing to unpack .../170-fonts-glyphicons-halflings_1.009~3.4.1+dfsg-3_all.deb ... 279s Unpacking fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 279s Selecting previously unselected package libjs-bootstrap. 279s Preparing to unpack .../171-libjs-bootstrap_3.4.1+dfsg-3_all.deb ... 279s Unpacking libjs-bootstrap (3.4.1+dfsg-3) ... 279s Selecting previously unselected package python-os-api-ref-common. 279s Preparing to unpack .../172-python-os-api-ref-common_2.3.0-0ubuntu1_all.deb ... 279s Unpacking python-os-api-ref-common (2.3.0-0ubuntu1) ... 279s Selecting previously unselected package fonts-font-awesome. 279s Preparing to unpack .../173-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 279s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 279s Selecting previously unselected package python3-dulwich. 279s Preparing to unpack .../174-python3-dulwich_0.22.7-1_arm64.deb ... 279s Unpacking python3-dulwich (0.22.7-1) ... 279s Selecting previously unselected package python3-openstackdocstheme. 279s Preparing to unpack .../175-python3-openstackdocstheme_3.2.0-0ubuntu2_all.deb ... 279s Unpacking python3-openstackdocstheme (3.2.0-0ubuntu2) ... 279s Selecting previously unselected package python3-defusedxml. 279s Preparing to unpack .../176-python3-defusedxml_0.7.1-3_all.deb ... 279s Unpacking python3-defusedxml (0.7.1-3) ... 279s Selecting previously unselected package libjson-perl. 280s Preparing to unpack .../177-libjson-perl_4.10000-1_all.deb ... 280s Unpacking libjson-perl (4.10000-1) ... 280s Selecting previously unselected package sphinx-common. 280s Preparing to unpack .../178-sphinx-common_8.1.3-4_all.deb ... 280s Unpacking sphinx-common (8.1.3-4) ... 280s Selecting previously unselected package python3-alabaster. 280s Preparing to unpack .../179-python3-alabaster_0.7.16-0.1_all.deb ... 280s Unpacking python3-alabaster (0.7.16-0.1) ... 280s Selecting previously unselected package python3-imagesize. 280s Preparing to unpack .../180-python3-imagesize_1.4.1-1_all.deb ... 280s Unpacking python3-imagesize (1.4.1-1) ... 280s Selecting previously unselected package python3-snowballstemmer. 280s Preparing to unpack .../181-python3-snowballstemmer_2.2.0-4build1_all.deb ... 280s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 280s Selecting previously unselected package python3-sphinx. 280s Preparing to unpack .../182-python3-sphinx_8.1.3-4_all.deb ... 280s Unpacking python3-sphinx (8.1.3-4) ... 280s Selecting previously unselected package python3-os-api-ref. 280s Preparing to unpack .../183-python3-os-api-ref_2.3.0-0ubuntu1_all.deb ... 280s Unpacking python3-os-api-ref (2.3.0-0ubuntu1) ... 280s Selecting previously unselected package cloudkitty-doc. 280s Preparing to unpack .../184-cloudkitty-doc_21.0.0-0ubuntu1_all.deb ... 280s Unpacking cloudkitty-doc (21.0.0-0ubuntu1) ... 280s Selecting previously unselected package cloudkitty-processor. 280s Preparing to unpack .../185-cloudkitty-processor_21.0.0-0ubuntu1_all.deb ... 280s Unpacking cloudkitty-processor (21.0.0-0ubuntu1) ... 280s Selecting previously unselected package libdebhelper-perl. 280s Preparing to unpack .../186-libdebhelper-perl_13.24.1ubuntu2_all.deb ... 280s Unpacking libdebhelper-perl (13.24.1ubuntu2) ... 280s Selecting previously unselected package libtool. 280s Preparing to unpack .../187-libtool_2.5.4-3build1_all.deb ... 280s Unpacking libtool (2.5.4-3build1) ... 280s Selecting previously unselected package dh-autoreconf. 281s Preparing to unpack .../188-dh-autoreconf_20_all.deb ... 281s Unpacking dh-autoreconf (20) ... 281s Selecting previously unselected package libarchive-zip-perl. 281s Preparing to unpack .../189-libarchive-zip-perl_1.68-1_all.deb ... 281s Unpacking libarchive-zip-perl (1.68-1) ... 281s Selecting previously unselected package libfile-stripnondeterminism-perl. 281s Preparing to unpack .../190-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... 281s Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... 281s Selecting previously unselected package dh-strip-nondeterminism. 281s Preparing to unpack .../191-dh-strip-nondeterminism_1.14.1-2_all.deb ... 281s Unpacking dh-strip-nondeterminism (1.14.1-2) ... 281s Selecting previously unselected package debugedit. 281s Preparing to unpack .../192-debugedit_1%3a5.1-2_arm64.deb ... 281s Unpacking debugedit (1:5.1-2) ... 281s Selecting previously unselected package dwz. 281s Preparing to unpack .../193-dwz_0.15-1build6_arm64.deb ... 281s Unpacking dwz (0.15-1build6) ... 281s Selecting previously unselected package gettext. 281s Preparing to unpack .../194-gettext_0.23.1-1_arm64.deb ... 281s Unpacking gettext (0.23.1-1) ... 281s Selecting previously unselected package intltool-debian. 281s Preparing to unpack .../195-intltool-debian_0.35.0+20060710.6_all.deb ... 281s Unpacking intltool-debian (0.35.0+20060710.6) ... 281s Selecting previously unselected package po-debconf. 281s Preparing to unpack .../196-po-debconf_1.0.21+nmu1_all.deb ... 281s Unpacking po-debconf (1.0.21+nmu1) ... 281s Selecting previously unselected package debhelper. 281s Preparing to unpack .../197-debhelper_13.24.1ubuntu2_all.deb ... 281s Unpacking debhelper (13.24.1ubuntu2) ... 281s Selecting previously unselected package dh-python. 281s Preparing to unpack .../198-dh-python_6.20250108_all.deb ... 281s Unpacking dh-python (6.20250108) ... 281s Selecting previously unselected package python3-mccabe. 281s Preparing to unpack .../199-python3-mccabe_0.7.0-1_all.deb ... 281s Unpacking python3-mccabe (0.7.0-1) ... 281s Selecting previously unselected package python3-pycodestyle. 281s Preparing to unpack .../200-python3-pycodestyle_2.12.1-2_all.deb ... 281s Unpacking python3-pycodestyle (2.12.1-2) ... 282s Selecting previously unselected package python3-pyflakes. 282s Preparing to unpack .../201-python3-pyflakes_3.2.0-3_all.deb ... 282s Unpacking python3-pyflakes (3.2.0-3) ... 282s Selecting previously unselected package python3-flake8. 282s Preparing to unpack .../202-python3-flake8_7.1.1-3_all.deb ... 282s Unpacking python3-flake8 (7.1.1-3) ... 282s Selecting previously unselected package flake8. 282s Preparing to unpack .../203-flake8_7.1.1-3_all.deb ... 282s Unpacking flake8 (7.1.1-3) ... 282s Selecting previously unselected package liberror-perl. 282s Preparing to unpack .../204-liberror-perl_0.17029-2_all.deb ... 282s Unpacking liberror-perl (0.17029-2) ... 282s Selecting previously unselected package git-man. 282s Preparing to unpack .../205-git-man_1%3a2.47.1-1ubuntu1_all.deb ... 282s Unpacking git-man (1:2.47.1-1ubuntu1) ... 282s Selecting previously unselected package git. 282s Preparing to unpack .../206-git_1%3a2.47.1-1ubuntu1_arm64.deb ... 282s Unpacking git (1:2.47.1-1ubuntu1) ... 282s Selecting previously unselected package libsubunit-perl. 282s Preparing to unpack .../207-libsubunit-perl_1.4.2-3build1_all.deb ... 282s Unpacking libsubunit-perl (1.4.2-3build1) ... 282s Selecting previously unselected package pyflakes3. 282s Preparing to unpack .../208-pyflakes3_3.2.0-3_all.deb ... 282s Unpacking pyflakes3 (3.2.0-3) ... 282s Selecting previously unselected package python3-all. 282s Preparing to unpack .../209-python3-all_3.13.1-1~exp2_arm64.deb ... 282s Unpacking python3-all (3.13.1-1~exp2) ... 282s Selecting previously unselected package python3-colorama. 282s Preparing to unpack .../210-python3-colorama_0.4.6-4_all.deb ... 282s Unpacking python3-colorama (0.4.6-4) ... 283s Selecting previously unselected package python3-coverage. 283s Preparing to unpack .../211-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 283s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 283s Selecting previously unselected package python3-ddt. 283s Preparing to unpack .../212-python3-ddt_1.7.2-4_all.deb ... 283s Unpacking python3-ddt (1.7.2-4) ... 283s Selecting previously unselected package python3-restructuredtext-lint. 283s Preparing to unpack .../213-python3-restructuredtext-lint_1.3.2-3_all.deb ... 283s Unpacking python3-restructuredtext-lint (1.3.2-3) ... 283s Selecting previously unselected package python3-doc8. 283s Preparing to unpack .../214-python3-doc8_0.10.1-5_all.deb ... 283s Unpacking python3-doc8 (0.10.1-5) ... 283s Selecting previously unselected package python3-extras. 283s Preparing to unpack .../215-python3-extras_1.0.0-6_all.deb ... 283s Unpacking python3-extras (1.0.0-6) ... 283s Selecting previously unselected package python3-ply. 283s Preparing to unpack .../216-python3-ply_3.11-7_all.deb ... 283s Unpacking python3-ply (3.11-7) ... 283s Selecting previously unselected package python3-jsonpath-rw. 283s Preparing to unpack .../217-python3-jsonpath-rw_1.4.0-7_all.deb ... 283s Unpacking python3-jsonpath-rw (1.4.0-7) ... 283s Selecting previously unselected package python3-wsgi-intercept. 283s Preparing to unpack .../218-python3-wsgi-intercept_1.9.3-2ubuntu1_all.deb ... 283s Unpacking python3-wsgi-intercept (1.9.3-2ubuntu1) ... 283s Selecting previously unselected package python3-jsonpath-rw-ext. 283s Preparing to unpack .../219-python3-jsonpath-rw-ext_1.2.2-4_all.deb ... 283s Unpacking python3-jsonpath-rw-ext (1.2.2-4) ... 283s Selecting previously unselected package python3-iniconfig. 283s Preparing to unpack .../220-python3-iniconfig_1.1.1-2_all.deb ... 283s Unpacking python3-iniconfig (1.1.1-2) ... 283s Selecting previously unselected package python3-pluggy. 283s Preparing to unpack .../221-python3-pluggy_1.5.0-1_all.deb ... 283s Unpacking python3-pluggy (1.5.0-1) ... 283s Selecting previously unselected package python3-pytest. 283s Preparing to unpack .../222-python3-pytest_8.3.4-1_all.deb ... 283s Unpacking python3-pytest (8.3.4-1) ... 283s Selecting previously unselected package python3-gabbi. 283s Preparing to unpack .../223-python3-gabbi_2.4.0-3_all.deb ... 283s Unpacking python3-gabbi (2.4.0-3) ... 283s Selecting previously unselected package python3-hacking. 284s Preparing to unpack .../224-python3-hacking_4.1.0-4_all.deb ... 284s Unpacking python3-hacking (4.1.0-4) ... 284s Selecting previously unselected package python3-tomlkit. 284s Preparing to unpack .../225-python3-tomlkit_0.13.2-1_all.deb ... 284s Unpacking python3-tomlkit (0.13.2-1) ... 284s Selecting previously unselected package python3-subunit. 284s Preparing to unpack .../226-python3-subunit_1.4.2-3build1_all.deb ... 284s Unpacking python3-subunit (1.4.2-3build1) ... 284s Selecting previously unselected package subunit. 284s Preparing to unpack .../227-subunit_1.4.2-3build1_all.deb ... 284s Unpacking subunit (1.4.2-3build1) ... 284s Selecting previously unselected package python3-stestr. 284s Preparing to unpack .../228-python3-stestr_4.1.0-3_all.deb ... 284s Unpacking python3-stestr (4.1.0-3) ... 284s Selecting previously unselected package python3-oslotest. 284s Preparing to unpack .../229-python3-oslotest_1%3a5.0.0-4_all.deb ... 284s Unpacking python3-oslotest (1:5.0.0-4) ... 284s Selecting previously unselected package python3-pep8. 284s Preparing to unpack .../230-python3-pep8_1.7.1-11ubuntu1_all.deb ... 284s Unpacking python3-pep8 (1.7.1-11ubuntu1) ... 284s Selecting previously unselected package python3-wheel. 284s Preparing to unpack .../231-python3-wheel_0.45.1-1_all.deb ... 284s Unpacking python3-wheel (0.45.1-1) ... 284s Selecting previously unselected package python3-pip. 284s Preparing to unpack .../232-python3-pip_25.0+dfsg-1_all.deb ... 284s Unpacking python3-pip (25.0+dfsg-1) ... 284s Selecting previously unselected package python3-reno. 284s Preparing to unpack .../233-python3-reno_4.1.0-2_all.deb ... 284s Unpacking python3-reno (4.1.0-2) ... 284s Selecting previously unselected package python3-sphinxcontrib.httpdomain. 284s Preparing to unpack .../234-python3-sphinxcontrib.httpdomain_1.8.1-2_all.deb ... 284s Unpacking python3-sphinxcontrib.httpdomain (1.8.1-2) ... 284s Selecting previously unselected package python3-sphinxcontrib-pecanwsme. 284s Preparing to unpack .../235-python3-sphinxcontrib-pecanwsme_0.11.0-1_all.deb ... 284s Unpacking python3-sphinxcontrib-pecanwsme (0.11.0-1) ... 284s Selecting previously unselected package openstack-pkg-tools. 285s Preparing to unpack .../236-openstack-pkg-tools_123ubuntu2_all.deb ... 285s Unpacking openstack-pkg-tools (123ubuntu2) ... 285s Setting up dh-python (6.20250108) ... 285s Setting up python3-iniconfig (1.1.1-2) ... 285s Setting up python3.12-minimal (3.12.9-1) ... 286s Setting up libnorm1t64:arm64 (1.5.9+dfsg-3.1build1) ... 286s Setting up python3-pymemcache (4.0.0-8) ... 287s Setting up libsubunit-perl (1.4.2-3build1) ... 287s Setting up libsodium23:arm64 (1.0.18-1build3) ... 287s Setting up python3-ddt (1.7.2-4) ... 287s Setting up python3-importlib-metadata (8.6.1-1) ... 287s Setting up python3-repoze.lru (0.7-3) ... 287s Setting up python3-cachetools (5.3.3-1) ... 287s Setting up python3-colorama (0.4.6-4) ... 288s Setting up python3-defusedxml (0.7.1-3) ... 288s Setting up python3-pbr (6.1.1-0ubuntu1) ... 288s Setting up libarchive-zip-perl (1.68-1) ... 288s Setting up python3-statsd (4.0.1-2) ... 289s Setting up fonts-glyphicons-halflings (1.009~3.4.1+dfsg-3) ... 289s Setting up python3-alabaster (0.7.16-0.1) ... 289s Setting up python3-tenacity (9.0.0-0ubuntu1) ... 289s Setting up libdebhelper-perl (13.24.1ubuntu2) ... 289s Setting up python3.12 (3.12.9-1) ... 291s Setting up python3-ply (3.11-7) ... 291s Setting up python3-autopage (0.4.0-4) ... 291s Setting up python3-pyflakes (3.2.0-3) ... 291s Setting up python3-extras (1.0.0-6) ... 292s Setting up libyajl2:arm64 (2.1.0-5build1) ... 292s Setting up python3-memcache (1.62-3) ... 292s Setting up m4 (1.4.19-5) ... 292s Setting up python3-itsdangerous (2.2.0-2) ... 292s Setting up python3-all (3.13.1-1~exp2) ... 292s Setting up python3-requestsexceptions (1.4.0-5) ... 292s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 293s Setting up python3-pyperclip (1.8.2-2) ... 293s Setting up python3-pytz (2025.1-3) ... 293s Setting up dbconfig-common (2.0.24) ... 294s Creating config file /etc/dbconfig-common/config with new version 294s Setting up libgomp1:arm64 (15-20250213-1ubuntu1) ... 294s Setting up python3-click (8.1.8-1) ... 294s Setting up python3-wheel (0.45.1-1) ... 294s Setting up python3-platformdirs (4.3.6-1) ... 295s Setting up python3-munch (4.0.0-2) ... 295s Setting up python3-psutil (5.9.8-2build3) ... 296s Setting up tzdata-legacy (2025a-2ubuntu1) ... 296s Setting up python3-tz (2025.1-3) ... 296s Setting up python3-vine (5.1.0+dfsg-1) ... 296s Setting up python3-monotonic (1.6-3) ... 296s Setting up liberror-perl (0.17029-2) ... 296s Setting up python3-six (1.17.0-1) ... 296s Setting up python3-roman (5.0-1) ... 297s Setting up libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1build1) ... 297s Setting up python3-decorator (5.1.1-5) ... 297s Setting up python3-pycodestyle (2.12.1-2) ... 297s Setting up autotools-dev (20220109.1) ... 297s Setting up python3-tempita (0.6.0-1) ... 297s Setting up libblas3:arm64 (3.12.1-2) ... 298s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode 298s Setting up python3-packaging (24.2-1) ... 298s Setting up python3-iso8601 (2.1.0-2) ... 298s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 299s Setting up python3-aniso8601 (10.0.0-2) ... 299s Setting up python3-rfc3986 (2.0.0-3) ... 299s Setting up python3-paste (3.10.1-1) ... 300s Setting up python3-cmd2 (2.5.7+ds-1) ... 300s Setting up python3-snowballstemmer (2.2.0-4build1) ... 301s Setting up python3-werkzeug (3.1.3-2) ... 302s Setting up python3-jmespath (1.0.1-1) ... 302s Setting up python3-greenlet (3.1.0-1) ... 302s Setting up python3-pastedeploy-tpl (3.1-1) ... 302s Setting up libmpc3:arm64 (1.3.1-1build2) ... 302s Setting up python3-setproctitle:arm64 (1.3.4-1) ... 302s Setting up python3-wrapt (1.15.0-4) ... 303s Setting up autopoint (0.23.1-1) ... 303s Setting up python3-deprecation (2.1.0-3) ... 303s Setting up python3-pymysql (1.1.1-2ubuntu1) ... 303s Setting up python3-fasteners (0.18-2) ... 303s Setting up python3-pip (25.0+dfsg-1) ... 306s Setting up libgfortran5:arm64 (15-20250213-1ubuntu1) ... 306s Setting up autoconf (2.72-3) ... 306s Setting up python3-pluggy (1.5.0-1) ... 306s Setting up pycadf-common (3.1.1-5) ... 306s Setting up libubsan1:arm64 (15-20250213-1ubuntu1) ... 306s Setting up python3-legacy-cgi (2.6.1-2) ... 306s Setting up dwz (0.15-1build6) ... 306s Setting up libhwasan0:arm64 (15-20250213-1ubuntu1) ... 306s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 307s Setting up python3-dulwich (0.22.7-1) ... 308s Setting up libasan8:arm64 (15-20250213-1ubuntu1) ... 308s Setting up libjson-perl (4.10000-1) ... 308s Setting up python3-amqp (5.3.1-2) ... 308s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 308s Setting up debugedit (1:5.1-2) ... 308s Setting up python3-os-service-types (1.7.0-5) ... 308s Setting up python3-stevedore (1:5.4.0-0ubuntu1) ... 309s Setting up git-man (1:2.47.1-1ubuntu1) ... 309s Setting up python3-dateutil (2.9.0-3) ... 309s Setting up python3-mccabe (0.7.0-1) ... 309s Setting up sgml-base (1.31) ... 309s Setting up python3-msgpack (1.0.3-3build3) ... 310s Setting up python3-voluptuous (0.14.2-1) ... 310s Setting up python3-logutils (0.3.5-5) ... 310s Setting up libtsan2:arm64 (15-20250213-1ubuntu1) ... 310s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 310s Setting up libisl23:arm64 (0.27-1) ... 310s Setting up python3-simplegeneric (0.8.1-5) ... 310s Setting up python3-mbstrdecoder (1.1.0-4) ... 311s Setting up python3-prettytable (3.12.0-1) ... 311s Setting up python3-tomlkit (0.13.2-1) ... 311s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 311s Setting up libcc1-0:arm64 (15-20250213-1ubuntu1) ... 311s Setting up sqlite3 (3.46.1-1) ... 311s Setting up liblsan0:arm64 (15-20250213-1ubuntu1) ... 311s Setting up libjs-bootstrap (3.4.1+dfsg-3) ... 311s Setting up libitm1:arm64 (15-20250213-1ubuntu1) ... 311s Setting up python3-oslo.i18n (6.5.0-0ubuntu1) ... 312s Setting up python3-mako (1.3.8-2) ... 312s Setting up python3-pep8 (1.7.1-11ubuntu1) ... 312s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 312s Setting up python3-webob (1:1.8.9-1) ... 313s Setting up python3-imagesize (1.4.1-1) ... 313s Setting up python3-rx (4.0.4-3) ... 313s Setting up automake (1:1.17-3) ... 313s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 313s Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... 313s Setting up python3-pecan (1.5.1-6) ... 314s Setting up pyflakes3 (3.2.0-3) ... 314s Setting up liblapack3:arm64 (3.12.1-2) ... 314s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode 314s Setting up python3-testresources (2.0.1-5) ... 314s Setting up gettext (0.23.1-1) ... 314s Setting up python3-q-text-as-data (3.1.6-4) ... 314s Setting up libzmq5:arm64 (4.3.5-1build2) ... 314s Setting up python3-wsme (0.12.1-5ubuntu1) ... 315s Setting up python3-influxdb (5.3.2-5) ... 315s Setting up python3-pytest (8.3.4-1) ... 316s Setting up python3-flask (3.1.0-2ubuntu1) ... 316s Setting up python3-pastedeploy (3.1-1) ... 316s Setting up python3-wsgi-intercept (1.9.3-2ubuntu1) ... 317s Setting up python3-jsonpath-rw (1.4.0-7) ... 317s Setting up python3-futurist (3.0.0-3) ... 317s Setting up python3-debtcollector (3.0.0-3) ... 317s Setting up python3-typepy (1.3.2-1) ... 318s Setting up uwsgi-core (2.0.28-8) ... 318s Setting up python3-kombu (5.4.2-3) ... 318s Setting up python3-sqlalchemy (2.0.38+ds1-0ubuntu1) ... 321s Setting up python3-cotyledon (1.7.3-3) ... 322s Setting up intltool-debian (0.35.0+20060710.6) ... 322s Setting up python3-flake8 (7.1.1-3) ... 322s Setting up python3-dogpile.cache (1.3.3-1) ... 322s Setting up python3-prometheus-client (0.21.1+ds1-1) ... 323s Setting up python3-eventlet (0.39.0-0ubuntu1) ... 323s Setting up python3-flask-restful (0.3.10-5) ... 323s Setting up python-os-api-ref-common (2.3.0-0ubuntu1) ... 323s Setting up python3-jsonpath-rw-ext (1.2.2-4) ... 324s Setting up python3-oslo.context (1:5.7.0-0ubuntu1) ... 324s Setting up git (1:2.47.1-1ubuntu1) ... 324s Setting up python3-numpy (1:1.26.4+ds-13) ... 328s Setting up libjs-sphinxdoc (8.1.3-4) ... 328s Setting up dh-strip-nondeterminism (1.14.1-2) ... 328s Setting up cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu1) ... 328s Setting up python3-lxml:arm64 (5.3.1-1) ... 328s Setting up python3-alembic (1.13.2-4) ... 329s Setting up python3-reno (4.1.0-2) ... 329s Setting up xml-core (0.19) ... 330s Setting up python3-openstackdocstheme (3.2.0-0ubuntu2) ... 330s Setting up uwsgi-plugin-python3 (2.0.28+1ubuntu1+0.0.2) ... 330s Setting up libgcc-14-dev:arm64 (14.2.0-17ubuntu1) ... 330s Setting up libstdc++-14-dev:arm64 (14.2.0-17ubuntu1) ... 330s Setting up python3-datetimerange (2.3.0-1) ... 330s Setting up python3-keystoneauth1 (5.9.1-0ubuntu1) ... 331s Setting up alembic (1.13.2-4) ... 331s Setting up python3-pastescript (3.7.0-1) ... 331s Setting up po-debconf (1.0.21+nmu1) ... 331s Setting up python3-pandas-lib:arm64 (2.2.3+dfsg-8) ... 331s Setting up python3-oslo.utils (8.1.0-0ubuntu1) ... 332s Setting up flake8 (7.1.1-3) ... 332s Setting up openstack-pkg-tools (123ubuntu2) ... 332s Setting up python3-routes (2.5.1-7) ... 332s Setting up cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 332s Setting up python3-pandas (2.2.3+dfsg-8) ... 343s Setting up python3-influxdb-client (1.40.0-3) ... 345s Setting up sphinx-common (8.1.3-4) ... 345s Setting up cpp-14 (14.2.0-17ubuntu1) ... 345s Setting up python3-openstacksdk (4.3.0-0ubuntu1) ... 348s Setting up cpp (4:14.2.0-1ubuntu1) ... 348s Setting up python3-cinderclient (1:9.6.0-0ubuntu1) ... 349s Setting up gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu1) ... 349s Setting up python3-os-client-config (2.1.0-0ubuntu5) ... 349s Setting up gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 349s Setting up python3-hacking (4.1.0-4) ... 349s Setting up g++-14-aarch64-linux-gnu (14.2.0-17ubuntu1) ... 349s Setting up python3-oslo.serialization (5.6.0-0ubuntu1) ... 349s Setting up gcc-14 (14.2.0-17ubuntu1) ... 349s Setting up g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 349s Setting up g++-14 (14.2.0-17ubuntu1) ... 349s Setting up python3-tooz (6.3.0-0ubuntu1) ... 350s Setting up libtool (2.5.4-3build1) ... 350s Setting up gcc (4:14.2.0-1ubuntu1) ... 350s Setting up dh-autoreconf (20) ... 350s Setting up g++ (4:14.2.0-1ubuntu1) ... 350s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 350s Setting up build-essential (12.10ubuntu1) ... 350s Setting up debhelper (13.24.1ubuntu2) ... 350s Setting up python3-fixtures (4.1.0-3) ... 350s Setting up python3-testtools (2.7.2-4) ... 351s Setting up python3-subunit (1.4.2-3build1) ... 351s Setting up python3-testscenarios (0.5.0-4) ... 351s Setting up python3-gabbi (2.4.0-3) ... 351s Setting up subunit (1.4.2-3build1) ... 352s Processing triggers for libc-bin (2.40-4ubuntu1) ... 352s Processing triggers for systemd (257.2-3ubuntu1) ... 352s Processing triggers for man-db (2.13.0-1) ... 354s Processing triggers for install-info (7.1.1-1) ... 354s Processing triggers for sgml-base (1.31) ... 354s Setting up docutils-common (0.21.2+dfsg-2) ... 354s Processing triggers for sgml-base (1.31) ... 354s Setting up python3-docutils (0.21.2+dfsg-2) ... 355s Setting up python3-restructuredtext-lint (1.3.2-3) ... 356s Setting up python3-doc8 (0.10.1-5) ... 356s Setting up python3-cliff (4.8.0-0ubuntu1) ... 356s Setting up python3-oslo.config (1:9.7.0-0ubuntu1) ... 357s Setting up python3-oslo.middleware (6.3.0-0ubuntu1) ... 357s Setting up python3-keystoneclient (1:5.5.0-0ubuntu1) ... 358s Setting up python3-oslo.db (17.1.0-0ubuntu2) ... 358s Setting up python3-osc-lib (3.2.0-0ubuntu1) ... 359s Setting up python3-oslo.concurrency (6.2.0-0ubuntu1) ... 359s Setting up python3-sphinx (8.1.3-4) ... 361s Setting up python3-oslo.log (7.0.0-0ubuntu1) ... 361s Setting up python3-pycadf (3.1.1-5) ... 361s Setting up python3-gnocchiclient (7.0.8-0ubuntu1) ... 362s Setting up python3-oslo.metrics (0.10.1-0ubuntu1) ... 362s Setting up python3-oslo.policy (4.5.0-0ubuntu1) ... 362s Setting up python3-stestr (4.1.0-3) ... 363s Setting up python3-sphinxcontrib.httpdomain (1.8.1-2) ... 363s Setting up python3-sphinxcontrib-pecanwsme (0.11.0-1) ... 363s Setting up python3-osc-placement (4.5.0-0ubuntu1) ... 364s Setting up python3-oslo.service (4.0.0-0ubuntu1) ... 364s Setting up python3-oslo.upgradecheck (2.4.0-0ubuntu1) ... 364s Setting up python3-oslotest (1:5.0.0-4) ... 365s Setting up python3-openstackclient (7.2.1-0ubuntu1) ... 367s Setting up python3-oslo.messaging (16.0.0-0ubuntu1) ... 368s Setting up python3-os-api-ref (2.3.0-0ubuntu1) ... 368s Setting up python3-oslo.cache (3.10.0-0ubuntu1) ... 368s Setting up cloudkitty-doc (21.0.0-0ubuntu1) ... 368s Setting up python3-keystonemiddleware (10.8.0-0ubuntu1) ... 369s Setting up python3-cloudkitty (21.0.0-0ubuntu1) ... 370s Setting up cloudkitty-common (21.0.0-0ubuntu1) ... 370s Setting up cloudkitty-processor (21.0.0-0ubuntu1) ... 370s Created symlink '/etc/systemd/system/multi-user.target.wants/cloudkitty-processor.service' → '/usr/lib/systemd/system/cloudkitty-processor.service'. 370s Setting up cloudkitty-api (21.0.0-0ubuntu1) ... 371s Will not register cloudkitty endpoint this time (no user request for it). 371s Created symlink '/etc/systemd/system/multi-user.target.wants/cloudkitty-api.service' → '/usr/lib/systemd/system/cloudkitty-api.service'. 374s autopkgtest [20:41:16]: test unittests: [----------------------- 374s + PKGOS_TEST_PARALLEL=yes 374s + PKGOS_TEST_SERIAL=no 374s + PYTHONS=disabled 374s + PYTHON3S=disabled 374s + TEST_PARALLEL_OPT=--parallel 374s + TEST_SERIAL_OPT= 374s + py3versions -vr 374s + PYTHON3S=3.12 3.13 374s + [ yes = no ] 374s + [ no = yes ] 374s + [ 3.12 = disabled ] 374s + echo 3.12 374s + cut -d. -f1 374s + PYMAJOR=3 374s + echo ===> Testing with python (python3) 374s + pwd 374s + [ -d /tmp/autopkgtest.np4RXy/build.gJ2/src/debian/tmp/usr/lib/python3/dist-packages ] 374s + [ -e .stestr.conf ] 374s + [ -x /usr/bin/python3-stestr ] 374s + STESTR=stestr 374s + rm -rf .stestr 374s + + PYTHON=python3.12 stestr run --parallel --subunit 374s subunit2pyunit 374s ===> Testing with python (python3) 380s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/ks_middleware_cors.yaml. This can break suite grouping. 380s warnings.warn(exception.GabbiSyntaxWarning( 380s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/no_auth.yaml. This can break suite grouping. 380s warnings.warn(exception.GabbiSyntaxWarning( 380s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/ks_middleware_auth.yaml. This can break suite grouping. 380s warnings.warn(exception.GabbiSyntaxWarning( 387s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/ks_middleware_cors.yaml. This can break suite grouping. 387s warnings.warn(exception.GabbiSyntaxWarning( 387s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/no_auth.yaml. This can break suite grouping. 387s warnings.warn(exception.GabbiSyntaxWarning( 387s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/ks_middleware_auth.yaml. This can break suite grouping. 387s warnings.warn(exception.GabbiSyntaxWarning( 388s cloudkitty.tests.api.v1.test_summary.TestSummary.test_nulls 388s cloudkitty.tests.api.v1.test_summary.TestSummary.test_nulls ... ok 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_invalid_multi_values 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_invalid_multi_values ... ok 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_invalid_uuid_values 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_invalid_uuid_values ... ok 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_valid_multi_values 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_valid_multi_values ... ok 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_valid_uuid_values 388s cloudkitty.tests.api.v1.test_types.TestTypes.test_valid_uuid_values ... ok 388s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/ks_middleware_cors.yaml. This can break suite grouping. 388s warnings.warn(exception.GabbiSyntaxWarning( 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_generate_response_object_response_type(sqlite) 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_generate_response_object_response_type(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_generate_response_table_response_type(sqlite) 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_generate_response_table_response_type(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/no_auth.yaml. This can break suite grouping. 388s warnings.warn(exception.GabbiSyntaxWarning( 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_invalid_response_type(sqlite) 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_invalid_response_type(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_type_filter_is_passed_separately(sqlite) 388s cloudkitty.tests.api.v2.summary.test_summary.TestSummaryEndpoint.test_type_filter_is_passed_separately(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_check_if_there_are_invalid_scopes(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_check_if_there_are_invalid_scopes(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s /usr/lib/python3/dist-packages/gabbi/driver.py:116: GabbiSyntaxWarning: '_' in test filename /tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/gabbits/ks_middleware_auth.yaml. This can break suite grouping. 388s warnings.warn(exception.GabbiSyntaxWarning( 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_post(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_post(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_inputs_blank_reason(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_inputs_blank_reason(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_inputs_different_from_configured_period(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_inputs_different_from_configured_period(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_inputs_end_date_less_than_start_date(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_inputs_end_date_less_than_start_date(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_reprocessing_schedules_overlaps(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_reprocessing_schedules_overlaps(sqlite) ... ok 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_scope_ids_all_option_with_scope_ids(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_scope_ids_all_option_with_scope_ids(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_start_end_for_reprocessing(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_start_end_for_reprocessing(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_time_window_smaller_than_configured_period(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessSchedulerPostApi.test_validate_time_window_smaller_than_configured_period(sqlite) ... ok 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessingSchedulerGetApi.test_get(sqlite) 388s cloudkitty.tests.api.v2.task.test_reprocess.TestReprocessingSchedulerGetApi.test_get(sqlite) ... ok 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_empty_list_str_str(sqlite) 388s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_empty_list_str_str(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s cloudkitty.tests.api.v2.dataframes.test_dataframes.TestDataframeListEndpoint.test_non_admin_request_is_filtered_on_project_id(sqlite) 388s cloudkitty.tests.api.v2.dataframes.test_dataframes.TestDataframeListEndpoint.test_non_admin_request_is_filtered_on_project_id(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 388s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_invalid_elem_missing_key_str_str(sqlite) 388s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_invalid_elem_missing_key_str_str(sqlite) ... ok 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 388s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_multiple_add_input_schema_body(sqlite) 388s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_multiple_add_input_schema_body(sqlite) ... ok 388s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 388s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 388s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 388s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_invalid_elem_too_many_columns_str_str(sqlite) 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_invalid_elem_too_many_columns_str_str(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_multiple_add_input_schema_query(sqlite) 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_multiple_add_input_schema_query(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_one_valid_elem_str_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_one_valid_elem_str_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_paginated(sqlite) 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_paginated(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_several_valid_elems_shared_keys_str_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_several_valid_elems_shared_keys_str_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_simple_add_input_schema_body(sqlite) 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_simple_add_input_schema_body(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_several_valid_elems_str_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_list_several_valid_elems_str_int(sqlite) ... ok 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_simple_add_input_schema_query(sqlite) 389s cloudkitty.tests.api.v2.test_utils.AddInputSchemaTest.test_simple_add_input_schema_query(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_single_valid_elem_str_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.MultiDictQueryParamTest.test_single_valid_elem_str_int(sqlite) ... ok 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_invalid_resource(sqlite) 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_invalid_resource(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_suffix_without_heading_slash(sqlite) 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_suffix_without_heading_slash(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_empty_list_str_str(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_empty_list_str_str(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_suffix_without_heading_slash_no_prefix(sqlite) 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_suffix_without_heading_slash_no_prefix(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_invalid_elem_missing_key_str_str(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_invalid_elem_missing_key_str_str(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_valid_app_and_resources(sqlite) 389s cloudkitty.tests.api.v2.test_utils.ApiUtilsDoInitTest.test_do_init_valid_app_and_resources(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_invalid_elem_too_many_columns_str_str(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_invalid_elem_too_many_columns_str_str(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s cloudkitty.tests.api.v2.test_utils.DictQueryParamTest.test_empty_list_str_str(sqlite) 389s cloudkitty.tests.api.v2.test_utils.DictQueryParamTest.test_empty_list_str_str(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_one_valid_elem_str_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_one_valid_elem_str_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.DictQueryParamTest.test_list_invalid_elem_missing_key_str_str(sqlite) 389s cloudkitty.tests.api.v2.test_utils.DictQueryParamTest.test_list_invalid_elem_missing_key_str_str(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_several_valid_elems_str_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_list_several_valid_elems_str_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.DictQueryParamTest.test_list_invalid_elem_too_many_columns_str_str(sqlite) 389s cloudkitty.tests.api.v2.test_utils.DictQueryParamTest.test_list_invalid_elem_too_many_columns_str_str(sqlite) ... ok 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_single_valid_elem_str_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleDictQueryParamTest.test_single_valid_elem_str_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_int_list_to_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_int_list_to_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_custom_agg_custom_re_agg(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_custom_agg_custom_re_agg(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_raises_length_invalid_empty_list(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_raises_length_invalid_empty_list(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_custom_agg_no_re_agg(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_custom_agg_no_re_agg(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_raises_length_invalid_long_list(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_raises_length_invalid_long_list(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_filter_unecessary_measurements_use_all_datapoints(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_filter_unecessary_measurements_use_all_datapoints(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_single_int_to_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_single_int_to_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_filter_unecessary_measurements_use_only_last_datapoint(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_filter_unecessary_measurements_use_only_last_datapoint(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_single_str_to_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_single_str_to_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_generate_aggregation_operation_custom_query(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_generate_aggregation_operation_custom_query(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_str_list_to_int(sqlite) 389s cloudkitty.tests.api.v2.test_utils.SingleQueryParamTest.test_str_list_to_int(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_generate_aggregation_operation_different_reaggregation(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_generate_aggregation_operation_different_reaggregation(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.cli.test_status.CloudKittyStatusCheckUpgradeTest.test_storage_version_with_v1(sqlite) 389s cloudkitty.tests.cli.test_status.CloudKittyStatusCheckUpgradeTest.test_storage_version_with_v1(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_generate_aggregation_operation_same_reaggregation(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_generate_aggregation_operation_same_reaggregation(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.cli.test_status.CloudKittyStatusCheckUpgradeTest.test_storage_version_with_v2(sqlite) 389s cloudkitty.tests.cli.test_status.CloudKittyStatusCheckUpgradeTest.test_storage_version_with_v2(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_multiple_confs(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_multiple_confs(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_all(sqlite) 389s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_all(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_no_agg_custom_re_agg(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_no_agg_custom_re_agg(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_only_mandatory(sqlite) 389s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_only_mandatory(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_no_agg_no_re_agg(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorAggregationOperationTest.test_no_agg_no_re_agg(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_without_query_function(sqlite) 389s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_without_query_function(sqlite) ... ok 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 389s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 389s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_collector_retrieve_metrics(sqlite) 389s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_collector_retrieve_metrics(sqlite) ... ok 389s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 389s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 389s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_without_range_function(sqlite) 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_fetch_all_build_query_without_range_function(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_extend_filter_parameters(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_extend_filter_parameters(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_data_instant_query(sqlite) 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_data_instant_query(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_format_data_raises_exception(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_format_data_raises_exception(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_data_instant_query_2(sqlite) 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_data_instant_query_2(sqlite) ... ok 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_gen_filter_parameters(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_gen_filter_parameters(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_one_field_filter(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_one_field_filter(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_retrieve(sqlite) 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_retrieve(sqlite) ... ok 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_fields_filter(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_fields_filter(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_retrieve_all_raises_exception(sqlite) 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_retrieve_all_raises_exception(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_fields_filter_different_operations(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_fields_filter_different_operations(sqlite) ... ok 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_retrieve_raise_NoDataCollected(sqlite) 390s cloudkitty.tests.collectors.test_prometheus.PrometheusCollectorTest.test_format_retrieve_raise_NoDataCollected(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_filters_and_add_logical(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_filters_and_add_logical(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_logical_ops(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_generate_two_logical_ops(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_noop_on_single_filter(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_noop_on_single_filter(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_try_extend_empty_filter(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_try_extend_empty_filter(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_try_extend_filter_with_none(sqlite) 390s cloudkitty.tests.collectors.test_gnocchi.GnocchiCollectorTest.test_try_extend_filter_with_none(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_base_minimal_config(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_base_minimal_config(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_check_duplicates(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_check_duplicates(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_gnocchi_minimal_config_minimal_extra_args(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_gnocchi_minimal_config_minimal_extra_args(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_gnocchi_minimal_config_negative_forced_aggregation(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_gnocchi_minimal_config_negative_forced_aggregation(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_gnocchi_minimal_config_no_extra_args(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_gnocchi_minimal_config_no_extra_args(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_prometheus_minimal_config_empty_extra_args(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_prometheus_minimal_config_empty_extra_args(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_prometheus_minimal_config_minimal_extra_args(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_prometheus_minimal_config_minimal_extra_args(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_prometheus_minimal_config_no_extra_args(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_prometheus_minimal_config_no_extra_args(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_validate_map_mutator(sqlite) 390s cloudkitty.tests.collectors.test_validation.MetricConfigValidationTest.test_validate_map_mutator(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.fetchers.test_gnocchi.GnocchiFetcherTest.test_get_tenants_empty_list_resource_last_call(sqlite) 390s cloudkitty.tests.fetchers.test_gnocchi.GnocchiFetcherTest.test_get_tenants_empty_list_resource_last_call(sqlite) ... ok 390s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 390s cloudkitty.tests.fetchers.test_gnocchi.GnocchiFetcherTest.test_get_tenants_marker_list_resource_last_call(sqlite) 390s cloudkitty.tests.fetchers.test_gnocchi.GnocchiFetcherTest.test_get_tenants_marker_list_resource_last_call(sqlite) ... ok 390s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 390s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 390s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 390s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 390s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 391s cloudkitty.tests.fetchers.test_gnocchi.GnocchiFetcherTest.test_get_tenants_scope_id_as_none(sqlite) 391s cloudkitty.tests.fetchers.test_gnocchi.GnocchiFetcherTest.test_get_tenants_scope_id_as_none(sqlite) ... ok 391s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 391s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 391s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 391s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 391s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants(sqlite) 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants(sqlite) ... ok 391s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 391s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 391s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 391s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 391s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_build_query(sqlite) 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_build_query(sqlite) ... ok 391s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 391s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 391s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 391s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 391s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 391s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 391s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_build_query_with_filter(sqlite) 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_build_query_with_filter(sqlite) ... ok 391s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 391s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 391s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_raises_exception(sqlite) 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_raises_exception(sqlite) ... ok 391s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 391s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 391s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 391s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 391s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_raises_exception2(sqlite) 391s cloudkitty.tests.fetchers.test_prometheus.PrometheusFetcherTest.test_get_tenants_raises_exception2(sqlite) ... ok 391s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 391s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 391s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 391s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 391s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 391s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 391s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 391s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 391s INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 391s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 391s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 391s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 391s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 391s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 391s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 392s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 392s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 392s /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method 392s warnings.warn("TestResult has no addDuration method", 392s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 392s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 392s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 392s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 392s gabbi.suitemaker.test_gabbi_hash-empty_list_fields_from_invalid_service_(empty).test_request 392s gabbi.suitemaker.test_gabbi_hash-empty_list_fields_from_invalid_service_(empty).test_request ... FAIL 392s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 392s gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_service_(empty).test_request 392s gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_service_(empty).test_request ... FAIL 392s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 392s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 392s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 392s INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 392s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 392s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 392s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 392s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 392s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 392s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 392s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 392s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 392s /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method 392s warnings.warn("TestResult has no addDuration method", 392s gabbi.suitemaker.test_gabbi_hash-empty_list_services_(empty).test_request 392s gabbi.suitemaker.test_gabbi_hash-empty_list_services_(empty).test_request ... FAIL 392s gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_field_(empty).test_request 392s gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_field_(empty).test_requestINFO [alembic.runtime.migration] Context impl SQLiteImpl. 392s ... INFO [alembic.runtime.migration] Will assume non-transactional DDL. 392s FAIL 392s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 392s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 392s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 392s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 392s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 392s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 392s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_field.test_request 392s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_field.test_request ... FAIL 392s INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 392s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 392s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_threshold.test_request 392s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_threshold.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 393s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_service.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_service.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_type.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_type.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_modify_unknown_mapping.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_modify_unknown_mapping.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_remove_the_value_of_a_field_mapping.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_remove_the_value_of_a_field_mapping.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_an_invalid_field_id.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_an_invalid_field_id.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_threshold_with_an_invalid_field_id.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_threshold_with_an_invalid_field_id.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_a_parent_and_no_value.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_a_parent_and_no_value.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_both_parent_id_set.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_both_parent_id_set.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_a_parent_and_no_level.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_a_parent_and_no_level.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_threshold.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_threshold.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_mapping.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_mapping.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_field.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_field.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_service.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_service.test_request ... FAIL 393s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 393s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 393s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 393s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 393s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 393s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 393s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 393s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 393s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 393s INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 393s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 393s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 393s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 393s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 393s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 393s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_service.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_service.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_mapping.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_mapping.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 393s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_group.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_group.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_field.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_field.test_request ... FAIL 393s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_to_check_updates.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_to_check_updates.test_request ... FAIL 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_service_id.test_request 393s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_service_id.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_an_invalid_service_id.test_request 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_an_invalid_service_id.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_both_parent_id_set.test_request 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_both_parent_id_set.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-location_delete_test_mapping.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_delete_test_mapping.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_a_value_and_no_parent.test_request 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_a_value_and_no_parent.test_request ... FAIL 394s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 394s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 394s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_no_parent.test_request 394s gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_no_parent.test_requestINFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 394s ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_creation.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_creation.test_request ... FAIL 394s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 394s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 394s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 394s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_threshold_creation.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_threshold_creation.test_request ... INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 394s FAIL 394s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 394s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 394s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 394s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 394s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 394s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 394s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 394s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 394s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 394s INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 394s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 394s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 394s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 394s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 394s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 394s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 394s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 394s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 394s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 394s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 394s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 394s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 394s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 394s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 394s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_creation.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_creation.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_mapping_creation.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_mapping_creation.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_threshold_creation.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_threshold_creation.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-location_delete_test_threshold.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_delete_test_threshold.test_request ... FAIL 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_mapping_creation.test_request 394s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_mapping_creation.test_request ... FAIL 395s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 395s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 395s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_group_creation.test_request 395s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_group_creation.test_request ... FAIL 395s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 395s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 395s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 395s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 395s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 395s INFO [alembic.runtime.migration] Running upgrade -> 3dd7e13527f3, Initial migration 395s INFO [alembic.runtime.migration] Running upgrade 3dd7e13527f3 -> 4fa888fd7eda, Added threshold support. 395s INFO [alembic.runtime.migration] Running upgrade 4fa888fd7eda -> 54cc17accf2c, Fixed constraint name. 395s INFO [alembic.runtime.migration] Running upgrade 54cc17accf2c -> 10d2738b67df, Rename mapping table to hashmap_mappings. 395s INFO [alembic.runtime.migration] Running upgrade 10d2738b67df -> f8c799db4aa0, Fix unnamed constraints. 395s INFO [alembic.runtime.migration] Running upgrade f8c799db4aa0 -> c88a06b1cfce, Clean hashmap fields constraints. 395s INFO [alembic.runtime.migration] Running upgrade c88a06b1cfce -> 4da82e1c11c8, Add per tenant hashmap support 395s gabbi.suitemaker.test_gabbi_hash_get_a_service.test_request 395s gabbi.suitemaker.test_gabbi_hash_get_a_service.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_delete_a_flat_service_mapping.test_request 395s gabbi.suitemaker.test_gabbi_hash_delete_a_flat_service_mapping.test_request ... FAIL 395s INFO [alembic.runtime.migration] Running upgrade 4da82e1c11c8 -> 644faa4491fd, Update tenant_id type from uuid to text 395s gabbi.suitemaker.test_gabbi_hash_create_a_rate_service_mapping.test_request 395s gabbi.suitemaker.test_gabbi_hash_create_a_rate_service_mapping.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping_for_a_tenant.test_request 395s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping_for_a_tenant.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_no_tenant_filtering.test_request 395s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_no_tenant_filtering.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_tenant.test_request 395s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_tenant.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_tenant.test_request 395s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_tenant.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_list_fields.test_request 395s gabbi.suitemaker.test_gabbi_hash_list_fields.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_create_a_rate_field_mapping.test_request 395s gabbi.suitemaker.test_gabbi_hash_create_a_rate_field_mapping.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_check_updated_mapping.test_request 395s gabbi.suitemaker.test_gabbi_hash_check_updated_mapping.test_request ... FAIL 395s INFO [alembic.runtime.migration] Running upgrade 644faa4491fd -> Ifbf5b2515c7, Increase cost fields to 30 digits 395s gabbi.suitemaker.test_gabbi_hash_create_a_service_for_recursive_delete.test_request 395s gabbi.suitemaker.test_gabbi_hash_create_a_service_for_recursive_delete.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_create_a_field_for_recursive_delete.test_request 395s gabbi.suitemaker.test_gabbi_hash_create_a_field_for_recursive_delete.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_create_a_field_mapping_for_recursive_delete.test_request 395s gabbi.suitemaker.test_gabbi_hash_create_a_field_mapping_for_recursive_delete.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_delete_a_service_with_recursive.test_request 395s gabbi.suitemaker.test_gabbi_hash_delete_a_service_with_recursive.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_hash_check_mapping_got_recursively_deleted.test_request 395s gabbi.suitemaker.test_gabbi_hash_check_mapping_got_recursively_deleted.test_request ... FAIL 395s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 395s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 395s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 395s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 395s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 395s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 395s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 395s INFO [alembic.runtime.migration] Running upgrade -> 4f9efa4601c0, Initial migration. 395s INFO [alembic.runtime.migration] Running upgrade 4f9efa4601c0 -> 75c205f6f1a2, move from sha1 to sha512 395s gabbi.suitemaker.test_gabbi_pyscripts_create_policy_script.test_request 395s gabbi.suitemaker.test_gabbi_pyscripts_create_policy_script.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_pyscripts_create_duplicate_policy_script.test_request 395s gabbi.suitemaker.test_gabbi_pyscripts_create_duplicate_policy_script.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts.test_request 395s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_excluding_data.test_request 395s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_excluding_data.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_pyscripts_get_script.test_request 395s gabbi.suitemaker.test_gabbi_pyscripts_get_script.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_pyscripts_delete_script.test_request 395s gabbi.suitemaker.test_gabbi_pyscripts_delete_script.test_request ... FAIL 395s gabbi.suitemaker.test_gabbi_pyscripts_get_unknown_script.test_request 395s gabbi.suitemaker.test_gabbi_pyscripts_get_unknown_script.test_request ... FAIL 395s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 395s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 395s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 395s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 395s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 395s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 395s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 395s INFO [alembic.runtime.migration] Running upgrade -> 17fd1b237aa3, Initial migration 395s INFO [alembic.runtime.migration] Running upgrade 17fd1b237aa3 -> 792b438b663, added tenant informations 395s INFO [alembic.runtime.migration] Running upgrade 792b438b663 -> 307430ab38bc, improve qty precision 395s INFO [alembic.runtime.migration] Running upgrade 307430ab38bc -> c703a1bad612, improve_qty_digit 395s INFO [alembic.runtime.migration] Running upgrade c703a1bad612 -> d875621d0384, Creating indexes to allow SQL query optimizations 395s Revision ID: d875621d0384 395s Revises: c703a1bad612 395s Create Date: 2022-11-23 15:36:05.331585 396s INFO [alembic.runtime.migration] Running upgrade Ifbf5b2515c7 -> 4e0232ce, Increase cost fields to 30 digits 396s gabbi.suitemaker.test_gabbi_hash_reload_list_of_modules_available.test_request 396s gabbi.suitemaker.test_gabbi_hash_reload_list_of_modules_available.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_check_hashmap_module_is_loaded.test_request 396s gabbi.suitemaker.test_gabbi_hash_check_hashmap_module_is_loaded.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_create_a_service.test_request 396s gabbi.suitemaker.test_gabbi_hash_create_a_service.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping.test_request 396s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_list_services.test_request 396s gabbi.suitemaker.test_gabbi_hash_list_services.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_no_tenant.test_request 396s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_no_tenant.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_threshold_for_a_tenant.test_request 396s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_threshold_for_a_tenant.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_no_tenant_filtering.test_request 396s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_no_tenant_filtering.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_no_tenant.test_request 396s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_no_tenant.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_create_a_field.test_request 396s gabbi.suitemaker.test_gabbi_hash_create_a_field.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_get_a_field.test_request 396s gabbi.suitemaker.test_gabbi_hash_get_a_field.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_create_a_flat_field_mapping.test_request 396s gabbi.suitemaker.test_gabbi_hash_create_a_flat_field_mapping.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_delete_a_flat_field_mapping.test_request 396s gabbi.suitemaker.test_gabbi_hash_delete_a_flat_field_mapping.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_change_the_cost_of_a_mapping.test_request 396s gabbi.suitemaker.test_gabbi_hash_change_the_cost_of_a_mapping.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_delete_a_field.test_request 396s gabbi.suitemaker.test_gabbi_hash_delete_a_field.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_check_field_got_deleted.test_request 396s gabbi.suitemaker.test_gabbi_hash_check_field_got_deleted.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_check_child_mappings_got_deleted.test_request 396s gabbi.suitemaker.test_gabbi_hash_check_child_mappings_got_deleted.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_delete_a_service.test_request 396s gabbi.suitemaker.test_gabbi_hash_delete_a_service.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_hash_check_service_got_deleted.test_request 396s gabbi.suitemaker.test_gabbi_hash_check_service_got_deleted.test_request ... FAIL 396s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 396s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 396s gabbi.suitemaker.test_gabbi_hash_check_field_got_recursively_deleted.test_request 396s gabbi.suitemaker.test_gabbi_hash_check_field_got_recursively_deleted.test_request ... FAIL 396s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 396s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 396s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 396s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 396s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 396s INFO [alembic.runtime.migration] Running upgrade -> 4f9efa4601c0, Initial migration. 396s INFO [alembic.runtime.migration] Running upgrade 4f9efa4601c0 -> 75c205f6f1a2, move from sha1 to sha512 396s gabbi.suitemaker.test_gabbi_pyscripts_reload_list_of_modules_available.test_request 396s gabbi.suitemaker.test_gabbi_pyscripts_reload_list_of_modules_available.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_pyscripts_check_pyscripts_module_is_loaded.test_request 396s gabbi.suitemaker.test_gabbi_pyscripts_check_pyscripts_module_is_loaded.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_pyscripts_typo_of_script.test_request 396s gabbi.suitemaker.test_gabbi_pyscripts_typo_of_script.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_(empty).test_request 396s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_(empty).test_request ... FAIL 396s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 396s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 396s gabbi.suitemaker.test_gabbi_pyscripts_modify_script.test_request 396s gabbi.suitemaker.test_gabbi_pyscripts_modify_script.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_pyscripts_modify_unknown_script.test_request 396s gabbi.suitemaker.test_gabbi_pyscripts_modify_unknown_script.test_request ... FAIL 396s gabbi.suitemaker.test_gabbi_pyscripts_check_updated_script.test_request 396s gabbi.suitemaker.test_gabbi_pyscripts_check_updated_script.test_request ... FAIL 397s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 397s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 397s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 397s gabbi.suitemaker.test_gabbi_pyscripts_delete_unknown_script.test_request 397s gabbi.suitemaker.test_gabbi_pyscripts_delete_unknown_script.test_request ... FAIL 397s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 397s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 397s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 397s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 397s gabbi.suitemaker.test_gabbi_v1-report_get_period_with_two_tenants.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_period_with_two_tenants.test_request ... FAIL 397s INFO [alembic.runtime.migration] Running upgrade -> 17fd1b237aa3, Initial migration 397s INFO [alembic.runtime.migration] Running upgrade 17fd1b237aa3 -> 792b438b663, added tenant informations 397s INFO [alembic.runtime.migration] Running upgrade 792b438b663 -> 307430ab38bc, improve qty precision 397s INFO [alembic.runtime.migration] Running upgrade 307430ab38bc -> c703a1bad612, improve_qty_digit 397s INFO [alembic.runtime.migration] Running upgrade c703a1bad612 -> d875621d0384, Creating indexes to allow SQL query optimizations 397s Revision ID: d875621d0384 397s Revises: c703a1bad612 397s Create Date: 2022-11-23 15:36:05.331585 397s gabbi.suitemaker.test_gabbi_v1-report_get_period_with_no_tenants.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_period_with_no_tenants.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_first_tenant.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_first_tenant.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_with_no_data.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_with_no_data.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant_filtering_on_compute_service.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant_filtering_on_compute_service.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_and_tenant.test_request 397s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_and_tenant.test_request ... FAIL 397s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 397s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 397s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 397s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 397s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 397s gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_options.test_request 397s gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_options.test_request ... FAIL 397s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 397s gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_get.test_request 397s gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_get.test_request ... FAIL 397s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 397s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 397s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 397s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 397s gabbi.suitemaker.test_gabbi_v1-rating_list_all_modules_available.test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_list_all_modules_available.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_a_unknown_module.test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_a_unknown_module.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-rating_change_priority_of_a_module.test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_change_priority_of_a_module.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(priority).test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(priority).test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-rating_change_enabled_status_of_a_module.test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_change_enabled_status_of_a_module.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(status).test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(status).test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-rating_change_status_and_priority_of_a_module.test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_change_status_and_priority_of_a_module.test_request ... FAIL 397s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(get).test_request 397s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(get).test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(put).test_request 398s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(put).test_request ... FAIL 398s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 398s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 398s gabbi.suitemaker.test_gabbi_v1-report_by_default_give_tenants_for_the_current_month.test_request 398s gabbi.suitemaker.test_gabbi_v1-report_by_default_give_tenants_for_the_current_month.test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_when_begin_time_bigger_than_end_time.test_request 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_when_begin_time_bigger_than_end_time.test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period.test_request 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period.test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_second_tenant.test_request 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_second_tenant.test_request ... FAIL 398s Traceback (most recent call last): 398s File "/usr/lib/python3/dist-packages/gabbi/suite.py", line 52, in run 398s with fixture.nest([fix() for fix in fixtures]): 398s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3.12/contextlib.py", line 144, in __exit__ 398s next(self.gen) 398s File "/usr/lib/python3/dist-packages/gabbi/fixture.py", line 98, in nest 398s raise exc[1].with_traceback(exc[2]) 398s File "/usr/lib/python3/dist-packages/gabbi/fixture.py", line 93, in nest 398s if exit_func(*exc): 398s ^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3/dist-packages/gabbi/fixture.py", line 49, in __exit__ 398s self.stop_fixture() 398s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 92, in stop_fixture 398s self.patch.assert_called_with( 398s File "/usr/lib/python3.12/unittest/mock.py", line 940, in assert_called_with 398s raise AssertionError(error_message) 398s AssertionError: expected call not found. 398s Expected: ExtensionManager('cloudkitty.rating.processors', invoke_on_load=True) 398s Actual: not called. 398s 398s During handling of the above exception, another exception occurred: 398s 398s Traceback (most recent call last): 398s File "", line 198, in _run_module_as_main 398s File "", line 88, in _run_code 398s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/run.py", line 88, in 398s main() 398s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/run.py", line 82, in main 398s program.TestProgram( 398s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/program.py", line 197, in __init__ 398s self.runTests() 398s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/program.py", line 247, in runTests 398s self.result = testRunner.run(self.test) 398s ^^^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/run.py", line 51, in run 398s test(result) 398s File "/usr/lib/python3.12/unittest/suite.py", line 84, in __call__ 398s return self.run(*args, **kwds) 398s ^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3.12/unittest/suite.py", line 122, in run 398s test(result) 398s File "/usr/lib/python3.12/unittest/suite.py", line 84, in __call__ 398s return self.run(*args, **kwds) 398s ^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3.12/unittest/suite.py", line 122, in run 398s test(result) 398s File "/usr/lib/python3.12/unittest/suite.py", line 84, in __call__ 398s return self.run(*args, **kwds) 398s ^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3/dist-packages/gabbi/suite.py", line 76, in run 398s result.addError(self._tests[0], sys.exc_info()) 398s File "/usr/lib/python3/dist-packages/subunit/test_results.py", line 139, in addError 398s return self.super.addError(test, err, details=details) 398s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3/dist-packages/subunit/test_results.py", line 66, in addError 398s return self.decorated.addError(test, err, details=details) 398s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1464, in addError 398s return self.decorated.addError(test, err) 398s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 398s File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1683, in addError 398s self._convert(test, err, details, "fail") 398s File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1690, in _convert 398s test_id = test.id() 398s ^^^^^^^ 398s AttributeError: 'NoneType' object has no attribute 'id' 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_image_service.test_request 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_image_service.test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service_and_tenant.test_request 398s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service_and_tenant.test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_filtering_on_first_tenant.test_request 398s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_filtering_on_first_tenant.test_request ... FAIL 398s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 398s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 398s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 398s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 398s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 398s gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_options.test_request 398s gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_options.test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_get.test_request 398s gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_get.test_request ... FAIL 398s INFO [alembic.runtime.migration] Context impl SQLiteImpl. 398s INFO [alembic.runtime.migration] Will assume non-transactional DDL. 398s INFO [alembic.runtime.migration] Running upgrade -> 464e951dc3b8, Initial migration 398s INFO [alembic.runtime.migration] Running upgrade 464e951dc3b8 -> 2ac2217dcbd9, Added support for meta collector 398s INFO [alembic.runtime.migration] Running upgrade 2ac2217dcbd9 -> 385e33fef139, Added priority to modules_state. 398s gabbi.suitemaker.test_gabbi_v1-rating_reload_list_of_modules_available.test_request 398s gabbi.suitemaker.test_gabbi_v1-rating_reload_list_of_modules_available.test_request ... FAIL 398s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_one_module.test_request 398s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_one_module.test_request ... FAIL 399s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(both).test_request 399s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(both).test_request ... FAIL 399s gabbi.suitemaker.test_gabbi_v1-rating_get_a_quote_for_a_resource_description.test_request 399s gabbi.suitemaker.test_gabbi_v1-rating_get_a_quote_for_a_resource_description.test_request ... FAIL 399s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(post).test_request 399s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(post).test_request ... FAIL 399s gabbi.suitemaker.test_gabbi_v1-rating_verify_module_exposes_its_custom_api.test_request 399s gabbi.suitemaker.test_gabbi_v1-rating_verify_module_exposes_its_custom_api.test_request ... FAIL 399s Traceback (most recent call last): 399s File "/usr/lib/python3/dist-packages/gabbi/suite.py", line 52, in run 399s with fixture.nest([fix() for fix in fixtures]): 399s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3.12/contextlib.py", line 144, in __exit__ 399s next(self.gen) 399s File "/usr/lib/python3/dist-packages/gabbi/fixture.py", line 98, in nest 399s raise exc[1].with_traceback(exc[2]) 399s File "/usr/lib/python3/dist-packages/gabbi/fixture.py", line 93, in nest 399s if exit_func(*exc): 399s ^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3/dist-packages/gabbi/fixture.py", line 49, in __exit__ 399s self.stop_fixture() 399s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 92, in stop_fixture 399s self.patch.assert_called_with( 399s File "/usr/lib/python3.12/unittest/mock.py", line 940, in assert_called_with 399s raise AssertionError(error_message) 399s AssertionError: expected call not found. 399s Expected: ExtensionManager('cloudkitty.rating.processors', invoke_on_load=True) 399s Actual: not called. 399s 399s During handling of the above exception, another exception occurred: 399s 399s Traceback (most recent call last): 399s File "", line 198, in _run_module_as_main 399s File "", line 88, in _run_code 399s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/run.py", line 88, in 399s main() 399s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/run.py", line 82, in main 399s program.TestProgram( 399s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/program.py", line 197, in __init__ 399s self.runTests() 399s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/program.py", line 247, in runTests 399s self.result = testRunner.run(self.test) 399s ^^^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3/dist-packages/stestr/subunit_runner/run.py", line 51, in run 399s test(result) 399s File "/usr/lib/python3.12/unittest/suite.py", line 84, in __call__ 399s return self.run(*args, **kwds) 399s ^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3.12/unittest/suite.py", line 122, in run 399s test(result) 399s File "/usr/lib/python3.12/unittest/suite.py", line 84, in __call__ 399s return self.run(*args, **kwds) 399s ^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3.12/unittest/suite.py", line 122, in run 399s test(result) 399s File "/usr/lib/python3.12/unittest/suite.py", line 84, in __call__ 399s return self.run(*args, **kwds) 399s ^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3/dist-packages/gabbi/suite.py", line 76, in run 399s result.addError(self._tests[0], sys.exc_info()) 399s File "/usr/lib/python3/dist-packages/subunit/test_results.py", line 139, in addError 399s return self.super.addError(test, err, details=details) 399s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3/dist-packages/subunit/test_results.py", line 66, in addError 399s return self.decorated.addError(test, err, details=details) 399s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1464, in addError 399s return self.decorated.addError(test, err) 399s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 399s File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1683, in addError 399s self._convert(test, err, details, "fail") 399s File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1690, in _convert 399s test_id = test.id() 399s ^^^^^^^ 399s AttributeError: 'NoneType' object has no attribute 'id' 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-empty_list_fields_from_invalid_service_(empty).test_request 401s gabbi.suitemaker.test_gabbi_hash-empty_list_fields_from_invalid_service_(empty).test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_service_(empty).test_request 401s gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_service_(empty).test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-empty_list_services_(empty).test_request 401s gabbi.suitemaker.test_gabbi_hash-empty_list_services_(empty).test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_field_(empty).test_request 401s gabbi.suitemaker.test_gabbi_hash-empty_list_mappings_from_invalid_field_(empty).test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_field.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_field.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_threshold.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_threshold.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_service.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_type.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_type.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_field.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_error_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in $ENVIRON['hash_error_service_id'], data unavailable: 'hash_error_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_modify_unknown_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_modify_unknown_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_remove_the_value_of_a_field_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_remove_the_value_of_a_field_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 453, in _response_replace 401s return re.sub(regex, 401s ^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash-errors_create_a_field_mapping_to_check_updates' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in /v1/rating/module_config/hashmap/mappings/$RESPONSE['$.mapping_id'], data unavailable: 'test_gabbi_hash-errors_create_a_field_mapping_to_check_updates' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_an_invalid_field_id.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_an_invalid_field_id.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_threshold_with_an_invalid_field_id.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_threshold_with_an_invalid_field_id.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_a_parent_and_no_value.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_with_a_parent_and_no_value.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_error_field_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in $ENVIRON['hash_error_field_id'], data unavailable: 'hash_error_field_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_both_parent_id_set.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_both_parent_id_set.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_a_parent_and_no_level.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_a_parent_and_no_level.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_error_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in $ENVIRON['hash_error_service_id'], data unavailable: 'hash_error_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_threshold.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_threshold.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_field.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_field.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_service.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_delete_unknown_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_service.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_group.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_get_an_invalid_group.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_service.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_field.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_duplicate_field.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 452, in _response_replace 401s return self._response_replacer(match, preserve=True) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash-errors_create_a_field' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in $RESPONSE['$.service_id'], data unavailable: 'test_gabbi_hash-errors_create_a_field' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_to_check_updates.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_field_mapping_to_check_updates.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_error_field_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in $ENVIRON['hash_error_field_id'], data unavailable: 'hash_error_field_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_service_id.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_mapping_with_an_invalid_service_id.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_an_invalid_service_id.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_service_threshold_with_an_invalid_service_id.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_both_parent_id_set.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_both_parent_id_set.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_delete_test_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_delete_test_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_a_value_and_no_parent.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_mapping_with_a_value_and_no_parent.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_no_parent.test_request 401s gabbi.suitemaker.test_gabbi_hash-errors_create_a_threshold_with_no_parent.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_creation.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_creation.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_threshold_creation.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_threshold_creation.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_creation.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_creation.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_mapping_creation.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_mapping_creation.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_threshold_creation.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_service_threshold_creation.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_delete_test_threshold.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_delete_test_threshold.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_mapping_creation.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_field_mapping_creation.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_group_creation.test_request 401s gabbi.suitemaker.test_gabbi_hash-location_check_redirect_on_group_creation.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_get_a_service.test_request 401s gabbi.suitemaker.test_gabbi_hash_get_a_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 453, in _response_replace 401s return re.sub(regex, 401s ^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_create_a_service' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in /v1/rating/module_config/hashmap/services/$RESPONSE['$.service_id'], data unavailable: 'test_gabbi_hash_create_a_service' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_delete_a_flat_service_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_delete_a_flat_service_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 453, in _response_replace 401s return re.sub(regex, 401s ^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_create_a_flat_service_mapping' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in /v1/rating/module_config/hashmap/mappings/$RESPONSE['$.mapping_id'], data unavailable: 'test_gabbi_hash_create_a_flat_service_mapping' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_rate_service_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_rate_service_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 452, in _response_replace 401s return self._response_replacer(match, preserve=True) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_list_services' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in $RESPONSE['$.services[0].service_id'], data unavailable: 'test_gabbi_hash_list_services' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping_for_a_tenant.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping_for_a_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in $ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_service_mappings_no_tenant_filtering.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_no_tenant_filtering.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/mappings?service_id=$ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_tenant.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/mappings?service_id=$ENVIRON['hash_service_id']&tenant_id=24a7fdae-27ff-11e6-8c4f-6b725a05bf50&filter_tenant=true, data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_tenant.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/thresholds?service_id=$ENVIRON['hash_service_id']&tenant_id=24a7fdae-27ff-11e6-8c4f-6b725a05bf50&filter_tenant=true, data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_fields.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_fields.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/fields?service_id=$ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_rate_field_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_rate_field_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 452, in _response_replace 401s return self._response_replacer(match, preserve=True) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_list_fields' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in $RESPONSE['$.fields[0].field_id'], data unavailable: 'test_gabbi_hash_list_fields' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_check_updated_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_check_updated_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_rate_mapping_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/mappings/$ENVIRON['hash_rate_mapping_id'], data unavailable: 'hash_rate_mapping_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_service_for_recursive_delete.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_service_for_recursive_delete.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_field_for_recursive_delete.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_field_for_recursive_delete.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 452, in _response_replace 401s return self._response_replacer(match, preserve=True) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_create_a_service_for_recursive_delete' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in $RESPONSE['$.service_id'], data unavailable: 'test_gabbi_hash_create_a_service_for_recursive_delete' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_field_mapping_for_recursive_delete.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_field_mapping_for_recursive_delete.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 452, in _response_replace 401s return self._response_replacer(match, preserve=True) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_create_a_field_for_recursive_delete' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in $RESPONSE['$.field_id'], data unavailable: 'test_gabbi_hash_create_a_field_for_recursive_delete' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_delete_a_service_with_recursive.test_request 401s gabbi.suitemaker.test_gabbi_hash_delete_a_service_with_recursive.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/services/$ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_check_mapping_got_recursively_deleted.test_request 401s gabbi.suitemaker.test_gabbi_hash_check_mapping_got_recursively_deleted.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_mapping_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/mappings/$ENVIRON['hash_mapping_id'], data unavailable: 'hash_mapping_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_create_policy_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_create_policy_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_create_duplicate_policy_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_create_duplicate_policy_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_list_scripts.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_excluding_data.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_excluding_data.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_get_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_get_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_delete_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_delete_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_get_unknown_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_get_unknown_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_reload_list_of_modules_available.test_request 401s gabbi.suitemaker.test_gabbi_hash_reload_list_of_modules_available.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_check_hashmap_module_is_loaded.test_request 401s gabbi.suitemaker.test_gabbi_hash_check_hashmap_module_is_loaded.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_service.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 452, in _response_replace 401s return self._response_replacer(match, preserve=True) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_get_a_service' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in $RESPONSE['$.service_id'], data unavailable: 'test_gabbi_hash_get_a_service' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_services.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_services.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_no_tenant.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_service_mappings_filtering_on_no_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/mappings?service_id=$ENVIRON['hash_service_id']&filter_tenant=true, data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_threshold_for_a_tenant.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_flat_service_threshold_for_a_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in $ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_no_tenant_filtering.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_no_tenant_filtering.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/thresholds?service_id=$ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_no_tenant.test_request 401s gabbi.suitemaker.test_gabbi_hash_list_service_thresholds_filtering_on_no_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/thresholds?service_id=$ENVIRON['hash_service_id']&filter_tenant=true, data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_field.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_field.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in $ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_get_a_field.test_request 401s gabbi.suitemaker.test_gabbi_hash_get_a_field.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 453, in _response_replace 401s return re.sub(regex, 401s ^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_create_a_field' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in /v1/rating/module_config/hashmap/fields/$RESPONSE['$.field_id'], data unavailable: 'test_gabbi_hash_create_a_field' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_create_a_flat_field_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_create_a_flat_field_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 452, in _response_replace 401s return self._response_replacer(match, preserve=True) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_get_a_field' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 566, in _run_test 401s body = self._test_data_to_string( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 627, in _test_data_to_string 401s data = self.replace_template(data) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 176, in replace_template 401s message[k] = self.replace_template(message[k], 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in $RESPONSE['$.field_id'], data unavailable: 'test_gabbi_hash_get_a_field' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_delete_a_flat_field_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_delete_a_flat_field_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 453, in _response_replace 401s return re.sub(regex, 401s ^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_create_a_flat_field_mapping' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in /v1/rating/module_config/hashmap/mappings/$RESPONSE['$.mapping_id'], data unavailable: 'test_gabbi_hash_create_a_flat_field_mapping' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_change_the_cost_of_a_mapping.test_request 401s gabbi.suitemaker.test_gabbi_hash_change_the_cost_of_a_mapping.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 453, in _response_replace 401s return re.sub(regex, 401s ^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 472, in _response_replacer 401s referred_case.response.get('content-type')) 401s ^^^^^^^^^^^^^^^^^^^^^^ 401s AttributeError: 'test_gabbi_hash_create_a_rate_field_mapping' object has no attribute 'response' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $RESPONSE in /v1/rating/module_config/hashmap/mappings/$RESPONSE['$.mapping_id'], data unavailable: 'test_gabbi_hash_create_a_rate_field_mapping' object has no attribute 'response' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_delete_a_field.test_request 401s gabbi.suitemaker.test_gabbi_hash_delete_a_field.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_field_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/fields/$ENVIRON['hash_field_id'], data unavailable: 'hash_field_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_check_field_got_deleted.test_request 401s gabbi.suitemaker.test_gabbi_hash_check_field_got_deleted.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_field_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/fields/$ENVIRON['hash_field_id'], data unavailable: 'hash_field_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_check_child_mappings_got_deleted.test_request 401s gabbi.suitemaker.test_gabbi_hash_check_child_mappings_got_deleted.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_field_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/mappings/?field_id=$ENVIRON['hash_field_id'], data unavailable: 'hash_field_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_delete_a_service.test_request 401s gabbi.suitemaker.test_gabbi_hash_delete_a_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/services/$ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_check_service_got_deleted.test_request 401s gabbi.suitemaker.test_gabbi_hash_check_service_got_deleted.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_service_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/services/$ENVIRON['hash_service_id'], data unavailable: 'hash_service_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_hash_check_field_got_recursively_deleted.test_request 401s gabbi.suitemaker.test_gabbi_hash_check_field_got_recursively_deleted.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 401s message = replace(message, escape_regex=escape_regex) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 249, in _environ_replace 401s value = re.sub(self._replacer_regex('ENVIRON'), 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 401s return _compile(pattern, flags).sub(repl, string, count) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 280, in _environ_replacer 401s return os.environ[environ_name] 401s ~~~~~~~~~~^^^^^^^^^^^^^^ 401s File "", line 714, in __getitem__ 401s KeyError: 'hash_field_id' 401s 401s During handling of the above exception, another exception occurred: 401s 401s Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 401s base_url = self.replace_template(test['url']) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 401s raise AssertionError( 401s AssertionError: unable to replace $ENVIRON in /v1/rating/module_config/hashmap/fields/$ENVIRON['hash_field_id'], data unavailable: 'hash_field_id' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_reload_list_of_modules_available.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_reload_list_of_modules_available.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_check_pyscripts_module_is_loaded.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_check_pyscripts_module_is_loaded.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_typo_of_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_typo_of_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_(empty).test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_list_scripts_(empty).test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_modify_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_modify_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_modify_unknown_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_modify_unknown_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 401s return self.request_encode_body( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_check_updated_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_check_updated_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_pyscripts_delete_unknown_script.test_request 401s gabbi.suitemaker.test_gabbi_pyscripts_delete_unknown_script.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_period_with_two_tenants.test_request 401s gabbi.suitemaker.test_gabbi_v1-report_get_period_with_two_tenants.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_period_with_no_tenants.test_request 401s gabbi.suitemaker.test_gabbi_v1-report_get_period_with_no_tenants.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_first_tenant.test_request 401s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_first_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service.test_request 401s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_with_no_data.test_request 401s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_with_no_data.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 401s 401s 401s ====================================================================== 401s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant.test_request 401s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant.test_request 401s ---------------------------------------------------------------------- 401s testtools.testresult.real._StringException: Traceback (most recent call last): 401s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 401s return test_method(*args, **kwargs) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 401s func(self) 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 401s self._run_test() 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 401s self._run_request(full_url, method, headers, body, 401s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 401s response, content = self.http.request( 401s ^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 401s response = super(Http, self).request( 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 401s return self.request_encode_url( 401s ^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 401s return self.urlopen(method, url, **extra_kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 401s response = conn.urlopen(method, u.request_uri, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 401s response = self._make_request( 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 401s conn.request( 401s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 401s self.endheaders() 401s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 401s self._send_output(message_body, encode_chunked=encode_chunked) 401s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 401s self.send(msg) 401s File "/usr/lib/python3.12/http/client.py", line 1037, in send 401s self.connect() 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 401s (app, script_name) = self.get_app(self.host, self.port) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 401s app = app_fn() 401s ^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 401s return app.load_app() 401s ^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 401s return deploy.loadapp("config:" + cfg_file, name=appname) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 401s return loadobj(APP, uri, name=name, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 401s return context.create() 401s ^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 401s app = context.app_context.create() 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 401s return self.object_type.invoke(self) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 401s return fix_call(context.object, context.global_conf, **context.local_conf) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 401s val = callable(*args, **kw) 401s ^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 401s return setup_app() 401s ^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 401s '/v1': get_v1_app(), 401s ^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 401s return pecan.make_app( 401s ^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 401s app = Pecan(root, **kw) 401s ^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 401s super(Pecan, self).__init__(*args, **kw) 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 401s root = self.__translate_root__(root) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 401s module = __import__(name, fromlist=fromlist) 401s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 401s from cloudkitty.api.v1.controllers import rating as rating_api 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 401s class RatingController(rest.RestController): 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 401s modules = ModulesController() 401s ^^^^^^^^^^^^^^^^^^^ 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 401s self.reload_extensions() 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 401s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 401s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 401s del sys.modules['pkg_resources'].basestring 401s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 401s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant_filtering_on_compute_service.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_tenant_filtering_on_compute_service.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_and_tenant.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_and_tenant.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_options.test_request 402s gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_options.test_request 402s --------------------------------------------------======> STESTR TEST SUITE FAILED FOR python3.12: displaying pip3 freeze output... 402s -------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_get.test_request 402s gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_get.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_list_all_modules_available.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_list_all_modules_available.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_a_unknown_module.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_a_unknown_module.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_change_priority_of_a_module.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_change_priority_of_a_module.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 402s return self.request_encode_body( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(priority).test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(priority).test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 402s message = replace(message, escape_regex=escape_regex) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 359, in _location_replace 402s return re.sub(self._simple_replacer_regex('LOCATION'), 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 402s return _compile(pattern, flags).sub(repl, string, count) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 371, in _location_replacer 402s return referred_case.location 402s ^^^^^^^^^^^^^^^^^^^^^^ 402s AttributeError: 'test_gabbi_v1-rating_change_priority_of_a_module' object has no attribute 'location' 402s 402s During handling of the above exception, another exception occurred: 402s 402s Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 402s base_url = self.replace_template(test['url']) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 402s raise AssertionError( 402s AssertionError: unable to replace $LOCATION in $LOCATION, data unavailable: 'test_gabbi_v1-rating_change_priority_of_a_module' object has no attribute 'location' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_change_enabled_status_of_a_module.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_change_enabled_status_of_a_module.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 402s return self.request_encode_body( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(status).test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(status).test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 402s message = replace(message, escape_regex=escape_regex) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 359, in _location_replace 402s return re.sub(self._simple_replacer_regex('LOCATION'), 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 402s return _compile(pattern, flags).sub(repl, string, count) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 371, in _location_replacer 402s return referred_case.location 402s ^^^^^^^^^^^^^^^^^^^^^^ 402s AttributeError: 'test_gabbi_v1-rating_change_enabled_status_of_a_module' object has no attribute 'location' 402s 402s During handling of the above exception, another exception occurred: 402s 402s Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 402s base_url = self.replace_template(test['url']) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 402s raise AssertionError( 402s AssertionError: unable to replace $LOCATION in $LOCATION, data unavailable: 'test_gabbi_v1-rating_change_enabled_status_of_a_module' object has no attribute 'location' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_change_status_and_priority_of_a_module.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_change_status_and_priority_of_a_module.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 402s return self.request_encode_body( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(get).test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(get).test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(put).test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(put).test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 402s return self.request_encode_body( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_by_default_give_tenants_for_the_current_month.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_by_default_give_tenants_for_the_current_month.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_when_begin_time_bigger_than_end_time.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_total_when_begin_time_bigger_than_end_time.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_second_tenant.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_second_tenant.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_image_service.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_image_service.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service_and_tenant.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_total_for_a_period_filtering_on_compute_service_and_tenant.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_filtering_on_first_tenant.test_request 402s gabbi.suitemaker.test_gabbi_v1-report_get_summary_for_a_period_of_each_service_filtering_on_first_tenant.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_options.test_request 402s gabbi.suitemaker.test_gabbi_ks_middleware_cors_valid_cors_options.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_get.test_request 402s gabbi.suitemaker.test_gabbi_ks_middleware_cors_invalid_cors_get.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_reload_list_of_modules_available.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_reload_list_of_modules_available.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_one_module.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_one_module.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(both).test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_get_information_of_the_modified_module_(both).test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 191, in replace_template 402s message = replace(message, escape_regex=escape_regex) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 359, in _location_replace 402s return re.sub(self._simple_replacer_regex('LOCATION'), 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3.12/re/__init__.py", line 186, in sub 402s return _compile(pattern, flags).sub(repl, string, count) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 371, in _location_replacer 402s return referred_case.location 402s ^^^^^^^^^^^^^^^^^^^^^^ 402s AttributeError: 'test_gabbi_v1-rating_change_status_and_priority_of_a_module' object has no attribute 'location' 402s 402s During handling of the above exception, another exception occurred: 402s 402s Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 550, in _run_test 402s base_url = self.replace_template(test['url']) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 193, in replace_template 402s raise AssertionError( 402s AssertionError: unable to replace $LOCATION in $LOCATION, data unavailable: 'test_gabbi_v1-rating_change_status_and_priority_of_a_module' object has no attribute 'location' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_get_a_quote_for_a_resource_description.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_get_a_quote_for_a_resource_description.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 402s return self.request_encode_body( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(post).test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_module_without_custom_api_should_use_notconfigurable_controller_(post).test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 143, in request 402s return self.request_encode_body( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 278, in request_encode_body 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ====================================================================== 402s FAIL: gabbi.suitemaker.test_gabbi_v1-rating_verify_module_exposes_its_custom_api.test_request 402s gabbi.suitemaker.test_gabbi_v1-rating_verify_module_exposes_its_custom_api.test_request 402s ---------------------------------------------------------------------- 402s testtools.testresult.real._StringException: Traceback (most recent call last): 402s File "/usr/lib/python3/dist-packages/gabbi/suitemaker.py", line 97, in do_test 402s return test_method(*args, **kwargs) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 96, in wrapper 402s func(self) 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 163, in test_request 402s self._run_test() 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 598, in _run_test 402s self._run_request(full_url, method, headers, body, 402s File "/usr/lib/python3/dist-packages/gabbi/case.py", line 497, in _run_request 402s response, content = self.http.request( 402s ^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/gabbi/httpclient.py", line 40, in request 402s response = super(Http, self).request( 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 135, in request 402s return self.request_encode_url( 402s ^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/_request_methods.py", line 182, in request_encode_url 402s return self.urlopen(method, url, **extra_kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 443, in urlopen 402s response = conn.urlopen(method, u.request_uri, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen 402s response = self._make_request( 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 493, in _make_request 402s conn.request( 402s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 445, in request 402s self.endheaders() 402s File "/usr/lib/python3.12/http/client.py", line 1333, in endheaders 402s self._send_output(message_body, encode_chunked=encode_chunked) 402s File "/usr/lib/python3.12/http/client.py", line 1093, in _send_output 402s self.send(msg) 402s File "/usr/lib/python3.12/http/client.py", line 1037, in send 402s self.connect() 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 564, in connect 402s (app, script_name) = self.get_app(self.host, self.port) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/wsgi_intercept/__init__.py", line 548, in get_app 402s app = app_fn() 402s ^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/tests/gabbi/fixtures.py", line 519, in setup_app 402s return app.load_app() 402s ^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 91, in load_app 402s return deploy.loadapp("config:" + cfg_file, name=appname) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 246, in loadapp 402s return loadobj(APP, uri, name=name, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj 402s return context.create() 402s ^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 198, in invoke 402s app = context.app_context.create() 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 738, in create 402s return self.object_type.invoke(self) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/loadwsgi.py", line 136, in invoke 402s return fix_call(context.object, context.global_conf, **context.local_conf) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/paste/deploy/util.py", line 61, in fix_call 402s val = callable(*args, **kw) 402s ^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 100, in app_factory 402s return setup_app() 402s ^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/app.py", line 64, in setup_app 402s '/v1': get_v1_app(), 402s ^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/__init__.py", line 49, in get_api_app 402s return pecan.make_app( 402s ^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 86, in make_app 402s app = Pecan(root, **kw) 402s ^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 833, in __init__ 402s super(Pecan, self).__init__(*args, **kw) 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 229, in __init__ 402s root = self.__translate_root__(root) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/usr/lib/python3/dist-packages/pecan/core.py", line 264, in __translate_root__ 402s module = __import__(name, fromlist=fromlist) 402s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/__init__.py", line 20, in 402s from cloudkitty.api.v1.controllers import rating as rating_api 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 175, in 402s class RatingController(rest.RestController): 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 187, in RatingController 402s modules = ModulesController() 402s ^^^^^^^^^^^^^^^^^^^ 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 58, in __init__ 402s self.reload_extensions() 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/api/v1/controllers/rating.py", line 37, in reload_extensions 402s ck_utils.refresh_stevedore(PROCESSORS_NAMESPACE) 402s File "/tmp/autopkgtest.np4RXy/build.gJ2/src/cloudkitty/utils/__init__.py", line 189, in refresh_stevedore 402s del sys.modules['pkg_resources'].basestring 402s ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 402s KeyError: 'pkg_resources' 402s 402s 402s ---------------------------------------------------------------------- 402s Ran 226 tests in 26.541s 402s 402s FAILED (failures=125) 402s + echo ======> STESTR TEST SUITE FAILED FOR python3.12: displaying pip3 freeze output... 402s + [ -x /usr/bin/pip3 ] 402s + pip3 freeze 402s alabaster==0.7.16 402s alembic==1.13.2.dev0 402s amqp==5.3.1 402s aniso8601==10.0.0 402s attrs==25.1.0 402s autocommand==2.2.2 402s autopage==0.4.0 402s babel==2.17.0 402s bcc==0.30.0 402s bcrypt==4.2.0 402s blinker==1.9.0 402s cachetools==5.3.3 402s certifi==2025.1.31 402s chardet==5.2.0 402s click==8.1.8 402s cliff==4.8.0 402s cloud-init==24.4.1 402s cloudkitty==21.0.0 402s cmd2==2.5.7+ds 402s colorama==0.4.6 402s command-not-found==0.3 402s configobj==5.0.9 402s cotyledon==1.7.3 402s coverage==7.4.4 402s cryptography==43.0.0 402s DateTimeRange==0.0.0 402s dbus-python==1.3.2 402s ddt==1.7.2 402s debtcollector==3.0.0 402s decorator==5.1.1 402s defusedxml==0.7.1 402s deprecation==2.0.7 402s distro==1.9.0 402s dnspython==2.7.0 402s doc8==0.10.1 402s docutils==0.21.2 402s dogpile.cache==1.3.3 402s dulwich==0.22.7 402s eventlet==0.39.0 402s extras==1.0.0 402s fasteners==0.18 402s fixtures==4.1.0 402s flake8==7.1.1 402s Flask==3.1.0 402s Flask-RESTful==0.3.10 402s futurist==3.0.0 402s gabbi==2.4.0 402s gnocchiclient==0.0.0 402s greenlet==3.1.0 402s hacking==4.1.0 402s httplib2==0.22.0 402s idna==3.10 402s imagesize==1.4.1 402s importlib_metadata==8.6.1 402s inflect==7.3.1 402s influxdb==5.3.2 402s influxdb-client==1.40.0 402s iniconfig==1.1.1 402s iso8601==2.1.0 402s itsdangerous==2.2.0 402s jaraco.context==6.0.0 402s jaraco.functools==4.1.0 402s jaraco.text==4.0.0 402s Jinja2==3.1.5 402s jmespath==1.0.1 402s jsonpatch==1.32 402s jsonpath-rw==1.4.0 402s jsonpath-rw-ext==1.2.2 402s jsonpointer==2.4 402s jsonschema==4.19.2 402s jsonschema-specifications==2023.12.1 402s keystoneauth1==5.9.1 402s keystonemiddleware==10.8.0 402s kombu==5.4.2 402s launchpadlib==2.1.0 402s lazr.restfulclient==0.14.6 402s lazr.uri==1.0.6 402s legacy-cgi==2.6.1 402s logutils==0.3.5 402s lxml==5.3.1 402s Mako==1.3.8.dev0 402s markdown-it-py==3.0.0 402s MarkupSafe==2.1.5 402s mbstrdecoder==1.1.0 402s mccabe==0.7.0 402s mdurl==0.1.2 402s monotonic==1.6 402s more-itertools==10.6.0 402s msgpack==1.0.3 402s munch==4.0.0 402s netaddr==0.10.1 402s numpy==1.26.4 402s oauthlib==3.2.2 402s openstackdocstheme==3.2.0 402s openstacksdk==4.3.0 402s os-api-ref==2.3.0 402s os-client-config==2.1.0 402s os-service-types==1.7.0 402s osc-lib==3.2.0 402s osc-placement==4.5.0 402s oslo.cache==3.10.0 402s oslo.concurrency==6.2.0 402s oslo.config==9.7.0 402s oslo.context==5.7.0 402s oslo.db==17.1.0 402s oslo.i18n==6.5.0 402s oslo.log==7.0.0 402s oslo.messaging==16.0.0 402s oslo.metrics==0.10.1 402s oslo.middleware==6.3.0 402s oslo.policy==4.5.0 402s oslo.serialization==5.6.0 402s oslo.service==4.0.0 402s oslo.upgradecheck==2.4.0 402s oslo.utils==8.1.0 402s oslotest==5.0.0 402s packaging==24.2 402s pandas==2.2.3+dfsg 402s Paste==3.10.1 402s PasteDeploy==3.1.0 402s PasteScript==3.7.0 402s pbr==6.1.1 402s pecan==1.5.1 402s pep8==1.7.1 402s platformdirs==4.3.6 402s pluggy==1.5.0 402s ply==3.11 402s prettytable==3.12.0 402s prometheus_client==0.21.1 402s psutil==5.9.8 402s pycadf==3.1.1 402s pycodestyle==2.12.1 402s pyflakes==3.2.0 402s Pygments==2.18.0 402s PyGObject==3.50.0 402s PyJWT==2.10.1 402s pymemcache==4.0.0 402s PyMySQL==1.1.1 402s pyOpenSSL==25.0.0 402s pyparsing==3.1.2 402s pyperclip==1.8.2 402s pyserial==3.5 402s pytest==8.3.4 402s python-apt==2.9.9 402s python-cinderclient==9.6.0 402s python-dateutil==2.9.0 402s python-keystoneclient==5.5.0 402s python-memcached==1.60 402s python-openstackclient==7.2.1 402s python-subunit==1.4.2 402s pytz==2025.1 402s PyYAML==6.0.2 402s reactivex==4.0.4 402s referencing==0.35.1 402s reno==4.1.0 402s repoze.lru==0.7 402s requests==2.32.3 402s requestsexceptions==1.4.0 402s restructuredtext_lint==1.3.2 402s rfc3986==2.0.0 402s rich==13.9.4 402s roman==5.0 402s Routes==2.5.1 402s rpds-py==0.21.0 402s setproctitle==1.3.4 402s setuptools==75.6.0 402s simplegeneric==0.8.1 402s six==1.17.0 402s snowballstemmer==2.2.0 402s Sphinx==8.1.3 402s sphinxcontrib-httpdomain==1.8.0 402s sphinxcontrib-pecanwsme==0.11.0 402s SQLAlchemy==2.0.38 402s ssh-import-id==5.11 402s statsd==4.0.1 402s stestr==4.1.0 402s stevedore==5.4.0 402s systemd-python==235 402s Tempita==0.6.0 402s tenacity==9.0.0 402s testresources==2.0.1 402s testscenarios==0.5.0 402s testtools==2.7.2 402s tomlkit==0.13.2 402s tooz==6.3.0 402s typeguard==4.4.1 402s typepy==1.3.2 402s typing_extensions==4.12.2 402s ubuntu-pro-client==8001 402s ufw==0.36.2 402s urllib3==2.3.0 402s vine==5.1.0 402s voluptuous==0.14.2 402s wadllib==2.0.0 402s wcwidth==0.2.13 402s WebOb==1.8.9 402s Werkzeug==3.1.3 402s wheel==0.45.1 402s wrapt==1.15.0 402s wsgi-intercept==1.9.3 402s WSME==0.12.1 402s zipp==3.21.0 402s + exit 1 402s autopkgtest [20:41:44]: test unittests: -----------------------] 403s autopkgtest [20:41:45]: test unittests: - - - - - - - - - - results - - - - - - - - - - 403s unittests FAIL non-zero exit status 1 404s autopkgtest [20:41:46]: @@@@@@@@@@@@@@@@@@@@ summary 404s unittests FAIL non-zero exit status 1 424s nova [W] Using flock in prodstack6-arm64 424s Creating nova instance adt-plucky-arm64-cloudkitty-20250219-203501-juju-7f2275-prod-proposed-migration-environment-2-67d87467-b9cb-4d7c-9824-074d2c9ec6b7 from image adt/ubuntu-plucky-arm64-server-20250219.img (UUID 02c92adb-9d9d-4b0e-b071-488d8ee6210f)... 424s nova [W] Timed out waiting for 138facba-c332-4518-b184-1f82def4b8c4 to get deleted.