Diff of the two buildlogs:

--
--- b1/build.log	2025-03-21 01:04:05.778654206 +0000
+++ b2/build.log	2025-03-21 01:08:37.290388501 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Wed Apr 22 19:23:48 -12 2026
-I: pbuilder-time-stamp: 1776929028
+I: Current time: Fri Mar 21 15:04:08 +14 2025
+I: pbuilder-time-stamp: 1742519048
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz]
 I: copying local configuration
@@ -27,52 +27,84 @@
 dpkg-source: info: applying add-a-healthcheck_disable-file.patch
 I: using fakeroot in build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/3741065/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/D01_modify_environment starting
+debug: Running on codethink04-arm64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Mar 21 01:04 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='arm64'
-  DEBIAN_FRONTEND='noninteractive'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=arm64
+  DEBIAN_FRONTEND=noninteractive
   DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 '
-  DISTRIBUTION='experimental'
-  HOME='/root'
-  HOST_ARCH='arm64'
+  DIRSTACK=()
+  DISTRIBUTION=experimental
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=aarch64
+  HOST_ARCH=arm64
   IFS=' 	
   '
-  INVOCATION_ID='c739f544dcc743e896952a3ac07c07d8'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='3741065'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=bf99132eff4346b686bbfef3bd693e47
+  LANG=C
+  LANGUAGE=nl_BE:nl
+  LC_ALL=C
+  MACHTYPE=aarch64-unknown-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=2618620
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.5TNGSJks/pbuilderrc_hb7R --distribution experimental --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.5TNGSJks/b1 --logfile b1/build.log aodh_20.0.0~rc1-1.dsc'
-  SUDO_GID='109'
-  SUDO_UID='104'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://192.168.101.4:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.5TNGSJks/pbuilderrc_wLTq --distribution experimental --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.5TNGSJks/b2 --logfile b2/build.log aodh_20.0.0~rc1-1.dsc'
+  SUDO_GID=109
+  SUDO_UID=104
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://192.168.101.4:3128
 I: uname -a
-  Linux codethink03-arm64 6.1.0-32-cloud-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-32-cloud-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Mar  4  2025 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/3741065/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Mar  4 11:20 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -587,7 +619,7 @@
 Get: 342 http://deb.debian.org/debian unstable/main arm64 python3-webtest all 3.0.2-1 [35.2 kB]
 Get: 343 http://deb.debian.org/debian unstable/main arm64 python3-wsme all 0.12.1-5 [44.0 kB]
 Get: 344 http://deb.debian.org/debian unstable/main arm64 python3-zaqarclient all 2.8.0-3 [40.5 kB]
-Fetched 79.7 MB in 1s (139 MB/s)
+Fetched 79.7 MB in 1s (59.0 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package libpython3.13-minimal:arm64.
 (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 ... 19920 files and directories currently installed.)
@@ -1670,8 +1702,8 @@
 Setting up tzdata (2025a-2) ...
 
 Current default time zone: 'Etc/UTC'
-Local time is now:      Thu Apr 23 07:24:31 UTC 2026.
-Universal Time is now:  Thu Apr 23 07:24:31 UTC 2026.
+Local time is now:      Fri Mar 21 01:06:05 UTC 2025.
+Universal Time is now:  Fri Mar 21 01:06:05 UTC 2025.
 Run 'dpkg-reconfigure tzdata' if you wish to change it.
 
 Setting up libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1+b1) ...
@@ -2008,7 +2040,11 @@
 fakeroot is already the newest version (1.37.1-1).
 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 I: Building the package
-I: Running cd /build/reproducible-path/aodh-20.0.0~rc1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../aodh_20.0.0~rc1-1_source.changes
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for experimental
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/aodh-20.0.0~rc1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../aodh_20.0.0~rc1-1_source.changes
 dpkg-buildpackage: info: source package aodh
 dpkg-buildpackage: info: source version 20.0.0~rc1-1
 dpkg-buildpackage: info: source distribution experimental
@@ -2201,6 +2237,40 @@
 [pbr] AUTHORS complete (0.0s)
 running build
 running build_py
+creating build/lib/aodh/tests/functional/api/v2
+copying aodh/tests/functional/api/v2/test_quotas.py -> build/lib/aodh/tests/functional/api/v2
+copying aodh/tests/functional/api/v2/test_complex_query_scenarios.py -> build/lib/aodh/tests/functional/api/v2
+copying aodh/tests/functional/api/v2/test_complex_query.py -> build/lib/aodh/tests/functional/api/v2
+copying aodh/tests/functional/api/v2/test_app.py -> build/lib/aodh/tests/functional/api/v2
+copying aodh/tests/functional/api/v2/test_alarm_scenarios.py -> build/lib/aodh/tests/functional/api/v2
+copying aodh/tests/functional/api/v2/__init__.py -> build/lib/aodh/tests/functional/api/v2
+creating build/lib/aodh/evaluator
+copying aodh/evaluator/utils.py -> build/lib/aodh/evaluator
+copying aodh/evaluator/threshold.py -> build/lib/aodh/evaluator
+copying aodh/evaluator/prometheus.py -> build/lib/aodh/evaluator
+copying aodh/evaluator/loadbalancer.py -> build/lib/aodh/evaluator
+copying aodh/evaluator/gnocchi.py -> build/lib/aodh/evaluator
+copying aodh/evaluator/event.py -> build/lib/aodh/evaluator
+copying aodh/evaluator/composite.py -> build/lib/aodh/evaluator
+copying aodh/evaluator/__init__.py -> build/lib/aodh/evaluator
+creating build/lib/aodh/tests/functional/storage/sqlalchemy
+copying aodh/tests/functional/storage/sqlalchemy/test_migrations.py -> build/lib/aodh/tests/functional/storage/sqlalchemy
+copying aodh/tests/functional/storage/sqlalchemy/__init__.py -> build/lib/aodh/tests/functional/storage/sqlalchemy
+copying aodh/tests/constants.py -> build/lib/aodh/tests
+copying aodh/tests/base.py -> build/lib/aodh/tests
+copying aodh/tests/__init__.py -> build/lib/aodh/tests
+copying aodh/version.py -> build/lib/aodh
+copying aodh/utils.py -> build/lib/aodh
+copying aodh/service.py -> build/lib/aodh
+copying aodh/queue.py -> build/lib/aodh
+copying aodh/profiler.py -> build/lib/aodh
+copying aodh/opts.py -> build/lib/aodh
+copying aodh/messaging.py -> build/lib/aodh
+copying aodh/keystone_client.py -> build/lib/aodh
+copying aodh/i18n.py -> build/lib/aodh
+copying aodh/event.py -> build/lib/aodh
+copying aodh/coordination.py -> build/lib/aodh
+copying aodh/__init__.py -> build/lib/aodh
 creating build/lib/aodh/tests/unit
 copying aodh/tests/unit/test_wsme_custom_type.py -> build/lib/aodh/tests/unit
 copying aodh/tests/unit/test_query.py -> build/lib/aodh/tests/unit
@@ -2212,15 +2282,9 @@
 copying aodh/tests/unit/test_bin.py -> build/lib/aodh/tests/unit
 copying aodh/tests/unit/test_api_v2_capabilities.py -> build/lib/aodh/tests/unit
 copying aodh/tests/unit/__init__.py -> build/lib/aodh/tests/unit
-creating build/lib/aodh/evaluator
-copying aodh/evaluator/utils.py -> build/lib/aodh/evaluator
-copying aodh/evaluator/threshold.py -> build/lib/aodh/evaluator
-copying aodh/evaluator/prometheus.py -> build/lib/aodh/evaluator
-copying aodh/evaluator/loadbalancer.py -> build/lib/aodh/evaluator
-copying aodh/evaluator/gnocchi.py -> build/lib/aodh/evaluator
-copying aodh/evaluator/event.py -> build/lib/aodh/evaluator
-copying aodh/evaluator/composite.py -> build/lib/aodh/evaluator
-copying aodh/evaluator/__init__.py -> build/lib/aodh/evaluator
+creating build/lib/aodh/tests/unit/cmd
+copying aodh/tests/unit/cmd/test_status.py -> build/lib/aodh/tests/unit/cmd
+copying aodh/tests/unit/cmd/__init__.py -> build/lib/aodh/tests/unit/cmd
 creating build/lib/aodh/tests/unit/evaluator
 copying aodh/tests/unit/evaluator/test_loadbalancer.py -> build/lib/aodh/tests/unit/evaluator
 copying aodh/tests/unit/evaluator/test_gnocchi.py -> build/lib/aodh/tests/unit/evaluator
@@ -2229,19 +2293,6 @@
 copying aodh/tests/unit/evaluator/test_base.py -> build/lib/aodh/tests/unit/evaluator
 copying aodh/tests/unit/evaluator/base.py -> build/lib/aodh/tests/unit/evaluator
 copying aodh/tests/unit/evaluator/__init__.py -> build/lib/aodh/tests/unit/evaluator
-creating build/lib/aodh/storage
-copying aodh/storage/models.py -> build/lib/aodh/storage
-copying aodh/storage/impl_sqlalchemy.py -> build/lib/aodh/storage
-copying aodh/storage/impl_log.py -> build/lib/aodh/storage
-copying aodh/storage/base.py -> build/lib/aodh/storage
-copying aodh/storage/__init__.py -> build/lib/aodh/storage
-creating build/lib/aodh/tests/unit/notifier
-copying aodh/tests/unit/notifier/test_heat.py -> build/lib/aodh/tests/unit/notifier
-copying aodh/tests/unit/notifier/base.py -> build/lib/aodh/tests/unit/notifier
-copying aodh/tests/unit/notifier/__init__.py -> build/lib/aodh/tests/unit/notifier
-creating build/lib/aodh/tests/functional/storage/sqlalchemy
-copying aodh/tests/functional/storage/sqlalchemy/test_migrations.py -> build/lib/aodh/tests/functional/storage/sqlalchemy
-copying aodh/tests/functional/storage/sqlalchemy/__init__.py -> build/lib/aodh/tests/functional/storage/sqlalchemy
 creating build/lib/aodh/api/controllers/v2/alarm_rules
 copying aodh/api/controllers/v2/alarm_rules/prometheus.py -> build/lib/aodh/api/controllers/v2/alarm_rules
 copying aodh/api/controllers/v2/alarm_rules/loadbalancer.py -> build/lib/aodh/api/controllers/v2/alarm_rules
@@ -2249,65 +2300,20 @@
 copying aodh/api/controllers/v2/alarm_rules/event.py -> build/lib/aodh/api/controllers/v2/alarm_rules
 copying aodh/api/controllers/v2/alarm_rules/composite.py -> build/lib/aodh/api/controllers/v2/alarm_rules
 copying aodh/api/controllers/v2/alarm_rules/__init__.py -> build/lib/aodh/api/controllers/v2/alarm_rules
-creating build/lib/aodh/tests/unit/cmd
-copying aodh/tests/unit/cmd/test_status.py -> build/lib/aodh/tests/unit/cmd
-copying aodh/tests/unit/cmd/__init__.py -> build/lib/aodh/tests/unit/cmd
-creating build/lib/aodh/tests/functional/api
-copying aodh/tests/functional/api/__init__.py -> build/lib/aodh/tests/functional/api
-creating build/lib/aodh/cmd
-copying aodh/cmd/storage.py -> build/lib/aodh/cmd
-copying aodh/cmd/status.py -> build/lib/aodh/cmd
-copying aodh/cmd/alarm.py -> build/lib/aodh/cmd
-copying aodh/cmd/__init__.py -> build/lib/aodh/cmd
-copying aodh/version.py -> build/lib/aodh
-copying aodh/utils.py -> build/lib/aodh
-copying aodh/service.py -> build/lib/aodh
-copying aodh/queue.py -> build/lib/aodh
-copying aodh/profiler.py -> build/lib/aodh
-copying aodh/opts.py -> build/lib/aodh
-copying aodh/messaging.py -> build/lib/aodh
-copying aodh/keystone_client.py -> build/lib/aodh
-copying aodh/i18n.py -> build/lib/aodh
-copying aodh/event.py -> build/lib/aodh
-copying aodh/coordination.py -> build/lib/aodh
-copying aodh/__init__.py -> build/lib/aodh
-copying aodh/api/controllers/root.py -> build/lib/aodh/api/controllers
-copying aodh/api/controllers/__init__.py -> build/lib/aodh/api/controllers
+creating build/lib/aodh/tests/unit/notifier
+copying aodh/tests/unit/notifier/test_heat.py -> build/lib/aodh/tests/unit/notifier
+copying aodh/tests/unit/notifier/base.py -> build/lib/aodh/tests/unit/notifier
+copying aodh/tests/unit/notifier/__init__.py -> build/lib/aodh/tests/unit/notifier
 creating build/lib/aodh/storage/sqlalchemy
 copying aodh/storage/sqlalchemy/utils.py -> build/lib/aodh/storage/sqlalchemy
 copying aodh/storage/sqlalchemy/models.py -> build/lib/aodh/storage/sqlalchemy
 copying aodh/storage/sqlalchemy/__init__.py -> build/lib/aodh/storage/sqlalchemy
-copying aodh/api/rbac.py -> build/lib/aodh/api
-copying aodh/api/policies.py -> build/lib/aodh/api
-copying aodh/api/middleware.py -> build/lib/aodh/api
-copying aodh/api/hooks.py -> build/lib/aodh/api
-copying aodh/api/app.py -> build/lib/aodh/api
-copying aodh/api/__init__.py -> build/lib/aodh/api
+copying aodh/tests/functional/api/__init__.py -> build/lib/aodh/tests/functional/api
 copying aodh/tests/functional/db.py -> build/lib/aodh/tests/functional
 copying aodh/tests/functional/__init__.py -> build/lib/aodh/tests/functional
-copying aodh/tests/functional/storage/test_storage_scenarios.py -> build/lib/aodh/tests/functional/storage
-copying aodh/tests/functional/storage/test_impl_sqlalchemy.py -> build/lib/aodh/tests/functional/storage
-copying aodh/tests/functional/storage/test_impl_log.py -> build/lib/aodh/tests/functional/storage
-copying aodh/tests/functional/storage/test_get_connection.py -> build/lib/aodh/tests/functional/storage
-copying aodh/tests/functional/storage/__init__.py -> build/lib/aodh/tests/functional/storage
 creating build/lib/aodh/conf
 copying aodh/conf/defaults.py -> build/lib/aodh/conf
 copying aodh/conf/__init__.py -> build/lib/aodh/conf
-creating build/lib/aodh/tests/functional/api/v2
-copying aodh/tests/functional/api/v2/test_quotas.py -> build/lib/aodh/tests/functional/api/v2
-copying aodh/tests/functional/api/v2/test_complex_query_scenarios.py -> build/lib/aodh/tests/functional/api/v2
-copying aodh/tests/functional/api/v2/test_complex_query.py -> build/lib/aodh/tests/functional/api/v2
-copying aodh/tests/functional/api/v2/test_app.py -> build/lib/aodh/tests/functional/api/v2
-copying aodh/tests/functional/api/v2/test_alarm_scenarios.py -> build/lib/aodh/tests/functional/api/v2
-copying aodh/tests/functional/api/v2/__init__.py -> build/lib/aodh/tests/functional/api/v2
-creating build/lib/aodh/notifier
-copying aodh/notifier/zaqar.py -> build/lib/aodh/notifier
-copying aodh/notifier/trust.py -> build/lib/aodh/notifier
-copying aodh/notifier/test.py -> build/lib/aodh/notifier
-copying aodh/notifier/rest.py -> build/lib/aodh/notifier
-copying aodh/notifier/log.py -> build/lib/aodh/notifier
-copying aodh/notifier/heat.py -> build/lib/aodh/notifier
-copying aodh/notifier/__init__.py -> build/lib/aodh/notifier
 copying aodh/api/controllers/v2/utils.py -> build/lib/aodh/api/controllers/v2
 copying aodh/api/controllers/v2/root.py -> build/lib/aodh/api/controllers/v2
 copying aodh/api/controllers/v2/quotas.py -> build/lib/aodh/api/controllers/v2
@@ -2316,9 +2322,37 @@
 copying aodh/api/controllers/v2/base.py -> build/lib/aodh/api/controllers/v2
 copying aodh/api/controllers/v2/alarms.py -> build/lib/aodh/api/controllers/v2
 copying aodh/api/controllers/v2/__init__.py -> build/lib/aodh/api/controllers/v2
-copying aodh/tests/constants.py -> build/lib/aodh/tests
-copying aodh/tests/base.py -> build/lib/aodh/tests
-copying aodh/tests/__init__.py -> build/lib/aodh/tests
+creating build/lib/aodh/notifier
+copying aodh/notifier/zaqar.py -> build/lib/aodh/notifier
+copying aodh/notifier/trust.py -> build/lib/aodh/notifier
+copying aodh/notifier/test.py -> build/lib/aodh/notifier
+copying aodh/notifier/rest.py -> build/lib/aodh/notifier
+copying aodh/notifier/log.py -> build/lib/aodh/notifier
+copying aodh/notifier/heat.py -> build/lib/aodh/notifier
+copying aodh/notifier/__init__.py -> build/lib/aodh/notifier
+copying aodh/storage/models.py -> build/lib/aodh/storage
+copying aodh/storage/impl_sqlalchemy.py -> build/lib/aodh/storage
+copying aodh/storage/impl_log.py -> build/lib/aodh/storage
+copying aodh/storage/base.py -> build/lib/aodh/storage
+copying aodh/storage/__init__.py -> build/lib/aodh/storage
+copying aodh/api/rbac.py -> build/lib/aodh/api
+copying aodh/api/policies.py -> build/lib/aodh/api
+copying aodh/api/middleware.py -> build/lib/aodh/api
+copying aodh/api/hooks.py -> build/lib/aodh/api
+copying aodh/api/app.py -> build/lib/aodh/api
+copying aodh/api/__init__.py -> build/lib/aodh/api
+copying aodh/api/controllers/root.py -> build/lib/aodh/api/controllers
+copying aodh/api/controllers/__init__.py -> build/lib/aodh/api/controllers
+copying aodh/tests/functional/storage/test_storage_scenarios.py -> build/lib/aodh/tests/functional/storage
+copying aodh/tests/functional/storage/test_impl_sqlalchemy.py -> build/lib/aodh/tests/functional/storage
+copying aodh/tests/functional/storage/test_impl_log.py -> build/lib/aodh/tests/functional/storage
+copying aodh/tests/functional/storage/test_get_connection.py -> build/lib/aodh/tests/functional/storage
+copying aodh/tests/functional/storage/__init__.py -> build/lib/aodh/tests/functional/storage
+creating build/lib/aodh/cmd
+copying aodh/cmd/storage.py -> build/lib/aodh/cmd
+copying aodh/cmd/status.py -> build/lib/aodh/cmd
+copying aodh/cmd/alarm.py -> build/lib/aodh/cmd
+copying aodh/cmd/__init__.py -> build/lib/aodh/cmd
 running egg_info
 creating aodh.egg-info
 writing aodh.egg-info/PKG-INFO
@@ -2435,6 +2469,11 @@
 running install_lib
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
+copying build/lib/aodh/cmd/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
+copying build/lib/aodh/cmd/alarm.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
+copying build/lib/aodh/cmd/status.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
+copying build/lib/aodh/cmd/storage.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/notifier
 copying build/lib/aodh/notifier/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/notifier
 copying build/lib/aodh/notifier/heat.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/notifier
@@ -2446,23 +2485,28 @@
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/conf
 copying build/lib/aodh/conf/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/conf
 copying build/lib/aodh/conf/defaults.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/conf
-copying build/lib/aodh/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/coordination.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/event.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/i18n.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/keystone_client.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/messaging.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/opts.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/profiler.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/queue.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/service.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/utils.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-copying build/lib/aodh/version.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
-copying build/lib/aodh/cmd/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
-copying build/lib/aodh/cmd/alarm.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
-copying build/lib/aodh/cmd/status.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
-copying build/lib/aodh/cmd/storage.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/cmd
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
+copying build/lib/aodh/storage/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
+copying build/lib/aodh/storage/base.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
+copying build/lib/aodh/storage/impl_log.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
+copying build/lib/aodh/storage/impl_sqlalchemy.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
+copying build/lib/aodh/storage/models.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/versions/f8c31b1ffe11_add_index_for_enabled_and_type.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/versions/bb07adac380_add_severity_to_alarm_history.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/versions/6ae0d05d9451_add_reason_column.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/versions/12fe8fac9fe4_initial_base.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/versions/007_add_quota_table.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/versions/006_add_evaluate_timestamp_to_alarm.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
+copying build/lib/aodh/storage/sqlalchemy/alembic/script.py.mako -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
+copying build/lib/aodh/storage/sqlalchemy/alembic/env.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
+copying build/lib/aodh/storage/sqlalchemy/alembic/alembic.ini -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
+copying build/lib/aodh/storage/sqlalchemy/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
+copying build/lib/aodh/storage/sqlalchemy/models.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
+copying build/lib/aodh/storage/sqlalchemy/utils.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/api
 copying build/lib/aodh/api/app.wsgi -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/api
 copying build/lib/aodh/api/api-paste.ini -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/api
@@ -2491,28 +2535,18 @@
 copying build/lib/aodh/api/controllers/v2/alarm_rules/gnocchi.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/api/controllers/v2/alarm_rules
 copying build/lib/aodh/api/controllers/v2/alarm_rules/loadbalancer.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/api/controllers/v2/alarm_rules
 copying build/lib/aodh/api/controllers/v2/alarm_rules/prometheus.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/api/controllers/v2/alarm_rules
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/versions/f8c31b1ffe11_add_index_for_enabled_and_type.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/versions/bb07adac380_add_severity_to_alarm_history.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/versions/6ae0d05d9451_add_reason_column.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/versions/12fe8fac9fe4_initial_base.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/versions/007_add_quota_table.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/versions/006_add_evaluate_timestamp_to_alarm.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic/versions
-copying build/lib/aodh/storage/sqlalchemy/alembic/script.py.mako -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
-copying build/lib/aodh/storage/sqlalchemy/alembic/env.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
-copying build/lib/aodh/storage/sqlalchemy/alembic/alembic.ini -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy/alembic
-copying build/lib/aodh/storage/sqlalchemy/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
-copying build/lib/aodh/storage/sqlalchemy/models.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
-copying build/lib/aodh/storage/sqlalchemy/utils.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage/sqlalchemy
-copying build/lib/aodh/storage/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
-copying build/lib/aodh/storage/base.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
-copying build/lib/aodh/storage/impl_log.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
-copying build/lib/aodh/storage/impl_sqlalchemy.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
-copying build/lib/aodh/storage/models.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/storage
+copying build/lib/aodh/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/coordination.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/event.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/i18n.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/keystone_client.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/messaging.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/opts.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/profiler.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/queue.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/service.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/utils.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
+copying build/lib/aodh/version.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/evaluator
 copying build/lib/aodh/evaluator/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/evaluator
 copying build/lib/aodh/evaluator/composite.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/evaluator
@@ -2523,34 +2557,7 @@
 copying build/lib/aodh/evaluator/threshold.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/evaluator
 copying build/lib/aodh/evaluator/utils.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/evaluator
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests
-copying build/lib/aodh/tests/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests
-copying build/lib/aodh/tests/base.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests
-copying build/lib/aodh/tests/constants.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional
-copying build/lib/aodh/tests/functional/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional
-copying build/lib/aodh/tests/functional/db.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
-copying build/lib/aodh/tests/functional/api/v2/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
-copying build/lib/aodh/tests/functional/api/v2/test_alarm_scenarios.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
-copying build/lib/aodh/tests/functional/api/v2/test_app.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
-copying build/lib/aodh/tests/functional/api/v2/test_complex_query.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
-copying build/lib/aodh/tests/functional/api/v2/test_complex_query_scenarios.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
-copying build/lib/aodh/tests/functional/api/v2/test_quotas.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
-copying build/lib/aodh/tests/functional/api/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
-copying build/lib/aodh/tests/functional/storage/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
-copying build/lib/aodh/tests/functional/storage/test_get_connection.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
-copying build/lib/aodh/tests/functional/storage/test_impl_log.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
-copying build/lib/aodh/tests/functional/storage/test_impl_sqlalchemy.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
-copying build/lib/aodh/tests/functional/storage/test_storage_scenarios.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage/sqlalchemy
-copying build/lib/aodh/tests/functional/storage/sqlalchemy/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage/sqlalchemy
-copying build/lib/aodh/tests/functional/storage/sqlalchemy/test_migrations.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage/sqlalchemy
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit
-creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/cmd
-copying build/lib/aodh/tests/unit/cmd/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/cmd
-copying build/lib/aodh/tests/unit/cmd/test_status.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/cmd
 creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/notifier
 copying build/lib/aodh/tests/unit/notifier/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/notifier
 copying build/lib/aodh/tests/unit/notifier/base.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/notifier
@@ -2563,6 +2570,9 @@
 copying build/lib/aodh/tests/unit/evaluator/test_event.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/evaluator
 copying build/lib/aodh/tests/unit/evaluator/test_gnocchi.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/evaluator
 copying build/lib/aodh/tests/unit/evaluator/test_loadbalancer.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/evaluator
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/cmd
+copying build/lib/aodh/tests/unit/cmd/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/cmd
+copying build/lib/aodh/tests/unit/cmd/test_status.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit/cmd
 copying build/lib/aodh/tests/unit/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit
 copying build/lib/aodh/tests/unit/test_api_v2_capabilities.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit
 copying build/lib/aodh/tests/unit/test_bin.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit
@@ -2573,6 +2583,30 @@
 copying build/lib/aodh/tests/unit/test_notifier.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit
 copying build/lib/aodh/tests/unit/test_query.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit
 copying build/lib/aodh/tests/unit/test_wsme_custom_type.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/unit
+copying build/lib/aodh/tests/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests
+copying build/lib/aodh/tests/base.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests
+copying build/lib/aodh/tests/constants.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional
+copying build/lib/aodh/tests/functional/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional
+copying build/lib/aodh/tests/functional/db.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
+copying build/lib/aodh/tests/functional/storage/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
+copying build/lib/aodh/tests/functional/storage/test_get_connection.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
+copying build/lib/aodh/tests/functional/storage/test_impl_log.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
+copying build/lib/aodh/tests/functional/storage/test_impl_sqlalchemy.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
+copying build/lib/aodh/tests/functional/storage/test_storage_scenarios.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage/sqlalchemy
+copying build/lib/aodh/tests/functional/storage/sqlalchemy/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage/sqlalchemy
+copying build/lib/aodh/tests/functional/storage/sqlalchemy/test_migrations.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/storage/sqlalchemy
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api
+copying build/lib/aodh/tests/functional/api/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api
+creating /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
+copying build/lib/aodh/tests/functional/api/v2/__init__.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
+copying build/lib/aodh/tests/functional/api/v2/test_alarm_scenarios.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
+copying build/lib/aodh/tests/functional/api/v2/test_app.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
+copying build/lib/aodh/tests/functional/api/v2/test_complex_query.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
+copying build/lib/aodh/tests/functional/api/v2/test_complex_query_scenarios.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
+copying build/lib/aodh/tests/functional/api/v2/test_quotas.py -> /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/tests/functional/api/v2
 running install_egg_info
 Copying aodh.egg-info to /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh-20.0.0.0rc1.egg-info
 Skipping SOURCES.txt
@@ -2593,516 +2627,523 @@
 + PYTHON3S=disabled
 + TEST_PARALLEL_OPT=--parallel
 + TEST_SERIAL_OPT=
-+ echo WARNING: --no-py2 is deprecated, and always on.
++ for i in $@
++ case "${1}" in
++ echo 'WARNING: --no-py2 is deprecated, and always on.'
 WARNING: --no-py2 is deprecated, and always on.
 + shift
-+ py3versions -vr
++ for i in $@
++ case "${1}" in
+++ py3versions -vr
 + PYTHON3S=3.13
-+ [ yes = no ]
-+ [ no = yes ]
-+ [ 3.13 = disabled ]
-+ cut -d. -f1
-+ echo 3.13
++ '[' yes = no ']'
++ '[' no = yes ']'
++ for pyvers in ${PYTHON3S}
++ '[' 3.13 = disabled ']'
+++ echo 3.13
+++ cut -d. -f1
 + PYMAJOR=3
-+ echo ===> Testing with python (python3)
++ echo '===> Testing with python (python3)'
 ===> Testing with python (python3)
-+ pwd
-+ [ -d /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages ]
-+ [ -z  ]
-+ pwd
-+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages
+++ pwd
++ '[' -d /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages ']'
++ '[' -z '' ']'
+++ pwd
++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages'
 Implicitly adding PYTHONPATH=/build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages
-+ pwd
+++ pwd
 + export PYTHONPATH=/build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages
-+ [ -e .stestr.conf ]
-+ [ -x /usr/bin/python3-stestr ]
++ PYTHONPATH=/build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages
++ '[' -e .stestr.conf ']'
++ '[' -x /usr/bin/python3-stestr ']'
 + STESTR=stestr
 + rm -rf .stestr
 + subunit2pyunit
-+ PYTHON=python3.13 stestr run --parallel --subunit aodh\.tests\.unit\.(?!(.*test_bin.*|.*test_messaging\.MessagingTests\.test_get_transport_optional.*|.*evaluator\.test_base\.TestEvaluatorBaseClass\.test_base_time_constraints_timezone.*))
-aodh.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks
-aodh.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarm_changes_filter_valid_fields
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarm_changes_filter_valid_fields ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarms_filter_valid_fields
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarms_filter_valid_fields ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_exclude_internal
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_exclude_internal ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_field
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_field ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_op
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_op ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_multi
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_multi ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_non_equality_on_metadata
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_non_equality_on_metadata ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_self_always_excluded
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_self_always_excluded ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_single
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_single ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp_invalid_op
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp_invalid_op ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_translation
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_translation ... ok
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_timestamp_validation
-aodh.tests.unit.test_query.TestQueryToKwArgs.test_timestamp_validation ... ok
-   ERROR [aodh.evaluator] alarm state update failed
-Traceback (most recent call last):
-  File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/evaluator/__init__.py", line 134, in _refresh
-    self.notifier.notify(alarm, previous, reason, reason_data)
-    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/tests/unit/evaluator/test_base.py", line 32, in _notify
-    raise Exception('Boom!')
-Exception: Boom!
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_refresh
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_refresh ... ok
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints ... ok
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_by_month
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_by_month ... ok
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_complex
-aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_complex ... ok
-2026-04-22 19:26:09.203 3777459 INFO aodh.evaluator [-] alarm 30ac55c1-2d79-4187-9185-1ebbec13f17e transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_alarm_change_record
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_alarm_change_record ... ok
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_known_state_ok
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_known_state_ok ... ok
-2026-04-22 19:26:09.224 3777441 INFO aodh.evaluator [-] alarm 8e3bff0a-b5f6-4b40-b0d4-235665f06a54 transitioning to alarm because Transition to alarm due to 1 members unhealthy, most recent: {'created_at': '2026-04-22T07:26:09.223205', 'admin_state_up': True, 'operating_status': 'ERROR'}
-aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate
-aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate ... ok
-2026-04-22 19:26:09.231 3777459 INFO aodh.evaluator [-] alarm 7292cb66-550f-4636-a891-def6f6771d21 transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_unknown
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_unknown ... ok
-2026-04-22 19:26:09.247 3777459 INFO aodh.evaluator [-] alarm fa14fcc4-47a6-4972-9565-4f1c369a8a3f transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
-2026-04-22 19:26:09.239 3777441 INFO aodh.evaluator [-] alarm dd1b6d5d-1e38-417d-bb15-1cbff8b0e145 transitioning to ok because Transition to ok due to 0 members unhealthy, most recent: None
-aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_alarm_to_ok
-aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_alarm_to_ok ... ok
-aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_octavia_error
-aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_octavia_error ... ok
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_evaluation_keep_alarm_attributes_constant
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_evaluation_keep_alarm_attributes_constant ... ok
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching ... ok
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching_mix
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching_mix ... ok
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_no_caching
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_no_caching ... ok
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_invalid_url
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_invalid_url ... ok
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching ... ok
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching_mix
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching_mix ... ok
-2026-04-22 19:26:09.273 3777459 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
-2026-04-22 19:26:09.274 3777459 INFO aodh.evaluator [-] alarm c7425376-575e-4f45-83c7-854fee4b471a transitioning to insufficient data because No datapoint for granularity 60
-2026-04-22 19:26:09.275 3777459 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
-2026-04-22 19:26:09.275 3777459 INFO aodh.evaluator [-] alarm c7425376-575e-4f45-83c7-854fee4b471a transitioning to insufficient data because No datapoint for granularity 60
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_lag_configuration
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_lag_configuration ... ok
-aodh.tests.unit.test_notifier.TestAlarmNotifierService.test_init_host_queue
-aodh.tests.unit.test_notifier.TestAlarmNotifierService.test_init_host_queue ... ok
-2026-04-22 19:26:09.279 3777437 INFO aodh.evaluator.event [-] Triggering the alarm 75e02401-0094-4236-a79a-91284af076a5 by event for project , event_type: type0
-2026-04-22 19:26:09.279 3777437 INFO aodh.evaluator [-] alarm 75e02401-0094-4236-a79a-91284af076a5 transitioning to alarm because Event <id=09e013eb-fd7d-455b-8635-b5b06ae0fdf2,event_type=type0> hits the query <query=[]>.
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_no_caching
-aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_no_caching ... ok
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_alarming_when_repeat_actions_enabled
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_alarming_when_repeat_actions_enabled ... ok
-2026-04-22 19:26:09.294 3777437 INFO aodh.evaluator.event [-] Triggering the alarm 1 by event for project , event_type: type0
-2026-04-22 19:26:09.294 3777437 INFO aodh.evaluator.event [-] Triggering the alarm 2 by event for project , event_type: type0
-2026-04-22 19:26:09.294 3777437 INFO aodh.evaluator [-] alarm 2 transitioning to alarm because Event <id=859fd6db-93f4-4724-adb4-7ab9fac5a589,event_type=type0> hits the query <query=[]>.
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_following_evaluation_after_exception
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_following_evaluation_after_exception ... ok
++ PYTHON=python3.13
++ stestr run --parallel --subunit 'aodh\.tests\.unit\.(?!(.*test_bin.*|.*test_messaging\.MessagingTests\.test_get_transport_optional.*|.*evaluator\.test_base\.TestEvaluatorBaseClass\.test_base_time_constraints_timezone.*))'
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_equivocal_from_known_state_ok
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_equivocal_from_known_state_ok ... ok
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_no_state_change_outside_time_constraint
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_no_state_change_outside_time_constraint ... ok
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_do_not_continue_alarming_when_repeat_actions_disabled
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_do_not_continue_alarming_when_repeat_actions_disabled ... ok
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_expired
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_expired ... ok
-2026-04-22 19:26:09.318 3777455 WARNING aodh.evaluator.gnocchi [-] alarm statistics retrieval failed: error (HTTP 500): gnocchiclient.exceptions.ClientException: error (HTTP 500)
-2026-04-22 19:26:09.319 3777455 INFO aodh.evaluator [-] alarm 862f2041-09be-4876-a375-9fa592414086 transitioning to ok because Transition to ok due to 6 samples inside threshold, most recent: 75.0
+2025-03-21 15:07:59.082 2644420 WARNING aodh.evaluator.gnocchi [-] alarm statistics retrieval failed: error (HTTP 500): gnocchiclient.exceptions.ClientException: error (HTTP 500)
+2025-03-21 15:07:59.083 2644420 INFO aodh.evaluator [-] alarm f466cc66-ba3c-435f-b622-df19b03f97a9 transitioning to ok because Transition to ok due to 6 samples inside threshold, most recent: 75.0
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_retry_transient_api_failure
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_retry_transient_api_failure ... ok
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_hit
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_hit ... ok
-2026-04-22 19:26:09.335 3777455 INFO aodh.evaluator [-] alarm 78c94ee0-eaf5-45d8-bf67-52c3afaca3a1 transitioning to ok because Transition to ok due to 6 samples inside threshold, most recent: 75.0
+2025-03-21 15:07:59.091 2644420 INFO aodh.evaluator [-] alarm 830b91be-cebb-4e5d-b0f9-ea1b3f43290a transitioning to ok because Transition to ok due to 6 samples inside threshold, most recent: 75.0
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_simple_alarm_clear
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_simple_alarm_clear ... ok
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_miss
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_miss ... ok
-2026-04-22 19:26:09.354 3777447 INFO aodh.evaluator [-] alarm eb87b6c3-3d42-49ae-92ad-d1d40e49b5a1 transitioning to ok because Composite rule alarm with composition form: (rule1 or rule2) transition to ok, due to rules: rule1, rule2 inside their threshold.
-aodh.tests.unit.evaluator.test_composite.OtherCompositeTest.test_simple_ok
-aodh.tests.unit.evaluator.test_composite.OtherCompositeTest.test_simple_ok ... ok
-2026-04-22 19:26:09.350 3777455 INFO aodh.evaluator [-] alarm ea97c6b9-e3b6-4045-9737-99dc17713d9c transitioning to alarm because Transition to alarm due to 6 samples outside threshold, most recent: 86.0
+2025-03-21 15:07:59.104 2644420 INFO aodh.evaluator [-] alarm ae6e4932-ac94-41f6-b21f-15cb0ba656e0 transitioning to alarm because Transition to alarm due to 6 samples outside threshold, most recent: 86.0
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_simple_alarm_trip
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_simple_alarm_trip ... ok
-2026-04-22 19:26:09.380 3777455 WARNING aodh.evaluator.threshold [-] Expecting 6 datapoints but only get 0
-2026-04-22 19:26:09.381 3777455 INFO aodh.evaluator [-] alarm 181c1350-9577-414e-bd88-c0fc075ef79d transitioning to insufficient data because No datapoint for granularity 50
+2025-03-21 15:07:59.193 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 0f0e791f-7eed-4965-9020-0b03ce4b01a6 by event for project , event_type: type0
+2025-03-21 15:07:59.193 2644426 INFO aodh.evaluator [-] alarm 0f0e791f-7eed-4965-9020-0b03ce4b01a6 transitioning to alarm because Event <id=08dd01d4-283d-44ac-9c1d-06fce161fe01,event_type=type0> hits the query <query=[]>.
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_alarming_when_repeat_actions_enabled
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_alarming_when_repeat_actions_enabled ... ok
+2025-03-21 15:07:59.198 2644420 WARNING aodh.evaluator.threshold [-] Expecting 6 datapoints but only get 0
+2025-03-21 15:07:59.198 2644420 INFO aodh.evaluator [-] alarm c270a77c-4b38-44a9-9a2b-b68771cc0798 transitioning to insufficient data because No datapoint for granularity 50
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_simple_insufficient
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationResourcesThresholdEvaluate.test_simple_insufficient ... ok
-aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs
-aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs ... ok
-aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_list_of_dict
-aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_list_of_dict ... ok
-aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_separator
-aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_separator ... ok
-2026-04-22 19:26:09.401 3777447 INFO aodh.evaluator [-] initiating evaluation cycle on 0 alarms
-2026-04-22 19:26:09.458 3777453 INFO aodh.evaluator [-] alarm b04bab65-1362-4930-ad83-c9d7ff496018 transitioning to alarm because Composite rule alarm with composition form: (rule1 and rule2 and (rule3 or rule4 or rule5 or rule6)) transition to alarm, due to rules: rule1, rule2, rule6 outside their threshold.
+2025-03-21 15:07:59.201 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 1 by event for project , event_type: type0
+2025-03-21 15:07:59.201 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 2 by event for project , event_type: type0
+2025-03-21 15:07:59.201 2644426 INFO aodh.evaluator [-] alarm 2 transitioning to alarm because Event <id=17f87c21-5215-4c70-a6a4-e671bad4362c,event_type=type0> hits the query <query=[]>.
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_following_evaluation_after_exception
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_continue_following_evaluation_after_exception ... ok
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_do_not_continue_alarming_when_repeat_actions_disabled
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_do_not_continue_alarming_when_repeat_actions_disabled ... ok
+2025-03-21 15:07:59.212 2644422 INFO aodh.evaluator [-] alarm 325575b5-a28e-4855-85d7-293e10031cca transitioning to alarm because Composite rule alarm with composition form: (rule1 and rule2 and (rule3 or rule4 or rule5 or rule6)) transition to alarm, due to rules: rule1, rule2, rule6 outside their threshold.
 aodh.tests.unit.evaluator.test_composite.CompositeTest.test_alarm_full_trip_with_multi_type_rules
 aodh.tests.unit.evaluator.test_composite.CompositeTest.test_alarm_full_trip_with_multi_type_rules ... ok
-2026-04-22 19:26:09.474 3777453 INFO aodh.evaluator [-] alarm eaa7eea2-3df5-4124-bdd9-a4fca42ae4a0 transitioning to alarm because Composite rule alarm with composition form: (rule1 or rule2 or rule3) transition to alarm, due to rules: rule1 outside their threshold.
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_expired
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_expired ... ok
+2025-03-21 15:07:59.221 2644422 INFO aodh.evaluator [-] alarm fc437a26-33c4-47a9-b0b2-d970bb78ef29 transitioning to alarm because Composite rule alarm with composition form: (rule1 or rule2 or rule3) transition to alarm, due to rules: rule1 outside their threshold.
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_hit
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_hit ... ok
 aodh.tests.unit.evaluator.test_composite.CompositeTest.test_alarm_with_short_circuit_logic
 aodh.tests.unit.evaluator.test_composite.CompositeTest.test_alarm_with_short_circuit_logic ... ok
-2026-04-22 19:26:09.490 3777459 WARNING aodh.evaluator.gnocchi [-] alarm statistics retrieval failed: error2 (HTTP 501): gnocchiclient.exceptions.ClientException: error2 (HTTP 501)
-2026-04-22 19:26:09.491 3777459 INFO aodh.evaluator [-] alarm aee63890-6f7c-48d2-9a52-6d9f788353ce transitioning to ok because Transition to ok due to 5 samples inside threshold, most recent: 76.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_retry_transient_api_failure
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_retry_transient_api_failure ... ok
-2026-04-22 19:26:09.493 3777451 INFO aodh.notifier.heat [-] Notifying alarm fake_alarm_name fake_alarm_id of low priority from ok to alarm with action trust+autohealer://fake_trust_id:delete@ because no good reason.
-2026-04-22 19:26:09.493 3777451 INFO aodh.notifier.heat [-] Heat resource fake_resource_name is marked as unhealthy for alarm fake_alarm_id
-2026-04-22 19:26:09.494 3777451 INFO aodh.notifier.heat [-] Heat stack fake_stack_id is updated for alarm fake_alarm_id
-aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify
-aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify ... ok
-2026-04-22 19:26:09.503 3777451 INFO aodh.notifier.heat [-] Notifying alarm fake_alarm_name fake_alarm_id of low priority from ok to alarm with action trust+autohealer://fake_trust_id:delete@ because no good reason.
-2026-04-22 19:26:09.504 3777451 ERROR aodh.notifier.heat [-] stack_id and asg_id must exist to notify alarm fake_alarm_id
-aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify_stack_id_missing
-aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify_stack_id_missing ... ok
-2026-04-22 19:26:09.507 3777459 INFO aodh.evaluator [-] alarm 1f214dbc-d7be-4cc6-a8e6-f8e81d2a6593 transitioning to ok because Transition to ok due to 5 samples inside threshold, most recent: 76.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_clear
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_clear ... ok
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_miss
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_miss ... ok
+2025-03-21 15:07:59.226 2644429 INFO aodh.evaluator [-] alarm 8f36fb08-ca3e-4fc0-b50d-f3aab394662c transitioning to ok because Composite rule alarm with composition form: (rule1 or rule2) transition to ok, due to rules: rule1, rule2 inside their threshold.
+aodh.tests.unit.evaluator.test_composite.OtherCompositeTest.test_simple_ok
+aodh.tests.unit.evaluator.test_composite.OtherCompositeTest.test_simple_ok ... ok
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching ... ok
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching_mix
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_caching_mix ... ok
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_no_caching
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_default_url_no_caching ... ok
 aodh.tests.unit.evaluator.test_composite.CompositeTest.test_known_state_with_sub_rules_trending_state
 aodh.tests.unit.evaluator.test_composite.CompositeTest.test_known_state_with_sub_rules_trending_state ... ok
-aodh.tests.unit.test_coordination.TestHashRing.test_hash_ring
-aodh.tests.unit.test_coordination.TestHashRing.test_hash_ring ... ok
-aodh.tests.unit.test_coordination.TestPartitioning.test_coordination_backend_offline
-aodh.tests.unit.test_coordination.TestPartitioning.test_coordination_backend_offline ... ok
-2026-04-22 19:26:09.523 3777459 INFO aodh.evaluator [-] alarm ac3318b4-5652-4c78-8649-1203f6c06b98 transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_trip
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_trip ... ok
-2026-04-22 19:26:09.528 3777437 INFO aodh.evaluator.event [-] Triggering the alarm ae344f41-0519-4e71-85a2-663b97683a16 by event for project project2, event_type: type1
-2026-04-22 19:26:09.529 3777437 INFO aodh.evaluator [-] alarm ae344f41-0519-4e71-85a2-663b97683a16 transitioning to alarm because Event <id=f8de56c9-2aa3-44c9-8f5c-d20469c4169e,event_type=type1> hits the query <query=[]>.
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_invalid_url
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_invalid_url ... ok
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching ... ok
+2025-03-21 15:07:59.239 2644426 INFO aodh.evaluator.event [-] Triggering the alarm fc155e5f-216d-4cad-bf62-0c3599026c94 by event for project project2, event_type: type1
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching_mix
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_caching_mix ... ok
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_no_caching
+aodh.tests.unit.test_messaging.MessagingTests.test_get_transport_url_no_caching ... ok
+   ERROR [aodh.evaluator] alarm state update failed
+Traceback (most recent call last):
+  File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/evaluator/__init__.py", line 134, in _refresh
+    self.notifier.notify(alarm, previous, reason, reason_data)
+    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/tests/unit/evaluator/test_base.py", line 32, in _notify
+    raise Exception('Boom!')
+Exception: Boom!
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_known_state_with_sub_rules_trending_state_and_not_repeat
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_known_state_with_sub_rules_trending_state_and_not_repeat ... ok
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_refresh
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_refresh ... ok
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints ... ok
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_by_month
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_by_month ... ok
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_complex
+aodh.tests.unit.evaluator.test_base.TestEvaluatorBaseClass.test_base_time_constraints_complex ... ok
+2025-03-21 15:07:59.248 2644422 INFO aodh.evaluator [-] alarm 98992d38-6f97-4439-a935-5497046ed406 transitioning to ok because Composite rule alarm with composition form: (rule1 and rule2 and rule3) transition to ok, due to rules: rule1 inside their threshold.
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_ok_with_short_circuit_logic
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_ok_with_short_circuit_logic ... ok
+2025-03-21 15:07:59.243 2644426 INFO aodh.evaluator [-] alarm fc155e5f-216d-4cad-bf62-0c3599026c94 transitioning to alarm because Event <id=7c022a7f-0aa4-4a94-8a34-7610deed006e,event_type=type1> hits the query <query=[]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_updated_after_fired
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_cache_updated_after_fired ... ok
-2026-04-22 19:26:09.528 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_caching_disabled
+aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_caching_disabled ... ok
+aodh.tests.unit.test_coordination.TestPartitioning.test_coordination_backend_offline
+aodh.tests.unit.test_coordination.TestPartitioning.test_coordination_backend_offline ... ok
+2025-03-21 15:07:59.327 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
 aodh.tests.unit.test_coordination.TestPartitioning.test_group_id_none
 aodh.tests.unit.test_coordination.TestPartitioning.test_group_id_none ... ok
-2026-04-22 19:26:09.533 3777459 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
-2026-04-22 19:26:09.533 3777459 INFO aodh.evaluator [-] alarm 98a97b10-469c-4572-9852-1153196a7de5 transitioning to insufficient data because No datapoint for granularity 60
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_insufficient
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_insufficient ... ok
-2026-04-22 19:26:09.536 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:07:59.331 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
 aodh.tests.unit.test_coordination.TestPartitioning.test_member_id
 aodh.tests.unit.test_coordination.TestPartitioning.test_member_id ... ok
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_caching_disabled
-aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_event_alarm_caching_disabled ... ok
-2026-04-22 19:26:09.539 3777459 INFO aodh.evaluator [-] alarm 8aad1d5b-0d4c-4d3f-8533-bc06ac2cdc2b transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
-2026-04-22 19:26:09.544 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_and_repeat_actions
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_and_repeat_actions ... ok
-2026-04-22 19:26:09.552 3777437 INFO aodh.evaluator.event [-] Triggering the alarm de6dd229-536a-4e4c-85e6-6a99ece9add5 by event for project , event_type: compute.instance.update
-2026-04-22 19:26:09.552 3777437 INFO aodh.evaluator [-] alarm de6dd229-536a-4e4c-85e6-6a99ece9add5 transitioning to alarm because Event <id=bad27a46-bc9f-414c-9c9f-53ea2c24486b,event_type=compute.instance.update> hits the query <query=[]>.
+2025-03-21 15:07:59.336 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:07:59.342 2644422 INFO aodh.evaluator [-] alarm ca5f83f9-eb78-42e5-989c-7513624ec6cd transitioning to insufficient data because Composite rule alarm with composition form: (rule1 or (rule2 and rule3)) transition to insufficient data, due to rules: rule1, rule2, rule3 state evaluated to unknown.
+2025-03-21 15:07:59.343 2644422 INFO aodh.evaluator [-] alarm b5f460ea-e15f-4fef-a5d4-4f12379f89e9 transitioning to insufficient data because Composite rule alarm with composition form: (rule1 or rule2 or rule3) transition to insufficient data, due to rules: rule1, rule2, rule3 state evaluated to unknown.
+2025-03-21 15:07:59.344 2644422 INFO aodh.evaluator [-] alarm 71618833-3b55-49a3-b863-3de0c3046aa7 transitioning to insufficient data because Composite rule alarm with composition form: (rule1 and rule2 and rule3) transition to insufficient data, due to rules: rule1, rule2, rule3 state evaluated to unknown.
+2025-03-21 15:07:59.344 2644422 INFO aodh.evaluator [-] alarm 28dfaf71-7471-4ed4-a059-b48cc6760d0d transitioning to insufficient data because Composite rule alarm with composition form: (rule1 and rule2 and (rule3 or rule4 or rule5 or rule6)) transition to insufficient data, due to rules: rule1, rule2, rule3, rule4, rule5, rule6 state evaluated to unknown.
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_simple_insufficient
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_simple_insufficient ... ok
+2025-03-21 15:07:59.352 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 492698f3-c108-471a-a70b-b817be950c0e by event for project , event_type: compute.instance.update
+2025-03-21 15:07:59.352 2644426 INFO aodh.evaluator [-] alarm 492698f3-c108-471a-a70b-b817be950c0e transitioning to alarm because Event <id=4b263582-64f4-46b8-a864-01f8f46d8eed,event_type=compute.instance.update> hits the query <query=[]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_event_type_pattern_matched
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_event_type_pattern_matched ... ok
-2026-04-22 19:26:09.552 3777459 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
-2026-04-22 19:26:09.554 3777459 INFO aodh.evaluator [-] alarm ff671940-8bae-4a81-a1b3-11419c3ef6c5 transitioning to insufficient data because No datapoint for granularity 60
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_inside_time_constraint
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_inside_time_constraint ... ok
-2026-04-22 19:26:09.567 3777437 INFO aodh.evaluator.event [-] Triggering the alarm 4d9852e4-e960-4921-bfda-57a2742b745e by event for project , event_type: type0
-2026-04-22 19:26:09.567 3777437 INFO aodh.evaluator [-] alarm 4d9852e4-e960-4921-bfda-57a2742b745e transitioning to alarm because Event <id=b14949d2-74c5-4a65-9f6e-5313f03671e0,event_type=type0> hits the query <query=[]>.
+2025-03-21 15:07:59.358 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 76624a20-05fc-4616-86de-245261339b11 by event for project , event_type: type0
+2025-03-21 15:07:59.358 2644426 INFO aodh.evaluator [-] alarm 76624a20-05fc-4616-86de-245261339b11 transitioning to alarm because Event <id=4eee2fab-701b-4971-8537-4c283c110a07,event_type=type0> hits the query <query=[]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_in_project_none
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_in_project_none ... ok
-2026-04-22 19:26:09.581 3777437 INFO aodh.evaluator.event [-] Triggering the alarm 9f3fb9a4-6977-4c9a-8506-9c1e24e361f1 by event for project project1, event_type: type0
-2026-04-22 19:26:09.582 3777437 INFO aodh.evaluator [-] alarm 9f3fb9a4-6977-4c9a-8506-9c1e24e361f1 transitioning to alarm because Event <id=05f3e338-43e7-434c-aad9-70b1fe68b33c,event_type=type0> hits the query <query=[]>.
+2025-03-21 15:07:59.351 2644422 INFO aodh.evaluator [-] alarm aecf884a-7e8f-4621-9fd7-3256c28fd04e transitioning to alarm because Composite rule alarm with composition form: (rule1 or (rule2 and rule3)) transition to alarm, due to rules: rule2, rule3 outside their threshold.
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_unknown_state_with_sub_rules_trending_state
+aodh.tests.unit.evaluator.test_composite.CompositeTest.test_unknown_state_with_sub_rules_trending_state ... ok
+2025-03-21 15:07:59.363 2644422 INFO aodh.evaluator [-] alarm 37f39aee-ce75-4d81-b1b9-aac186ab71f3 transitioning to alarm because Transition to alarm due to 1 members unhealthy, most recent: {'created_at': '2025-03-20T01:07:59.362169', 'admin_state_up': True, 'operating_status': 'ERROR'}
+aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate
+aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate ... ok
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_and_repeat_actions
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_and_repeat_actions ... ok
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_ok
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_ok ... ok
+2025-03-21 15:07:59.371 2644422 INFO aodh.evaluator [-] alarm eed0d5b3-1362-4e8c-ba0c-8858cee3da4c transitioning to ok because Transition to ok due to 0 members unhealthy, most recent: None
+aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_alarm_to_ok
+aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_alarm_to_ok ... ok
+2025-03-21 15:07:59.369 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 22c7e397-31ec-46ea-95bf-e32d8507fba9 by event for project project1, event_type: type0
+2025-03-21 15:07:59.371 2644426 INFO aodh.evaluator [-] alarm 22c7e397-31ec-46ea-95bf-e32d8507fba9 transitioning to alarm because Event <id=0295aeeb-c2c7-444c-88d1-77f9fc30d34a,event_type=type0> hits the query <query=[]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_in_the_same_project_id
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_in_the_same_project_id ... ok
-2026-04-22 19:26:09.595 3777437 INFO aodh.evaluator.event [-] Triggering the alarm 8f241d37-bef3-4bd0-aea2-53b9d38d2d2e by event for project project1, event_type: type0
-2026-04-22 19:26:09.595 3777437 INFO aodh.evaluator [-] alarm 8f241d37-bef3-4bd0-aea2-53b9d38d2d2e transitioning to alarm because Event <id=d273ebd1-8712-4b91-b807-76d5e94ccd7b,event_type=type0> hits the query <query=[]>.
+2025-03-21 15:07:59.374 2644424 INFO aodh.evaluator [-] alarm 23001321-03ca-4a2f-9d8d-9e0763cb5f27 transitioning to alarm because Transition to alarm due to 4 samples outside threshold, most recent: 6.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_ok_to_alarm
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_ok_to_alarm ... ok
+2025-03-21 15:07:59.380 2644424 WARNING aodh.evaluator.gnocchi [-] alarm statistics retrieval failed: boom: Exception: boom
+2025-03-21 15:07:59.380 2644424 INFO aodh.evaluator [-] alarm 0eda72eb-7091-4d09-a1e1-9449212b3127 transitioning to ok because Transition to ok due to 3 samples inside threshold, most recent: 13.0
+aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_octavia_error
+aodh.tests.unit.evaluator.test_loadbalancer.TestLoadBalancerMemberHealthEvaluator.test_evaluate_octavia_error ... ok
+2025-03-21 15:07:59.379 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 02c81269-a090-4cc1-8bf0-6a22494125b7 by event for project project1, event_type: type0
+2025-03-21 15:07:59.379 2644426 INFO aodh.evaluator [-] alarm 02c81269-a090-4cc1-8bf0-6a22494125b7 transitioning to alarm because Event <id=ff2637cc-2edc-4fe1-8160-eda189cdeaf2,event_type=type0> hits the query <query=[]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_in_the_same_tenant_id
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_in_the_same_tenant_id ... ok
-2026-04-22 19:26:09.611 3777437 INFO aodh.evaluator.event [-] Triggering the alarm e1a1f9f1-f95c-447e-85bc-b30ddf5eae99 by event for project , event_type: type0
-2026-04-22 19:26:09.612 3777437 INFO aodh.evaluator [-] alarm e1a1f9f1-f95c-447e-85bc-b30ddf5eae99 transitioning to alarm because Event <id=6b6c4ff0-b205-4ddb-aa75-43ec8f6e6a2c,event_type=type0> hits the query <query=[{"field": "traits.created_at", "op": "eq", "type": "datetime", "value": "2015-09-01T18:52:27.214309"}]>.
+2025-03-21 15:07:59.386 2644426 INFO aodh.evaluator.event [-] Triggering the alarm a4382ebe-b577-4044-9c44-1eff530a8ed0 by event for project , event_type: type0
+2025-03-21 15:07:59.386 2644426 INFO aodh.evaluator [-] alarm a4382ebe-b577-4044-9c44-1eff530a8ed0 transitioning to alarm because Event <id=359bb170-7378-4c07-88ab-fa5e30f563f4,event_type=type0> hits the query <query=[{"field": "traits.created_at", "op": "eq", "type": "datetime", "value": "2015-09-01T18:52:27.214309"}]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_datetime
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_datetime ... ok
-2026-04-22 19:26:09.619 3777437 INFO aodh.evaluator.event [-] Triggering the alarm f6964e23-f997-4cdf-a78b-59a65b38d996 by event for project , event_type: type0
-2026-04-22 19:26:09.619 3777437 INFO aodh.evaluator [-] alarm f6964e23-f997-4cdf-a78b-59a65b38d996 transitioning to alarm because Event <id=d6418512-258f-4e5f-aeb2-c1b791b3bc10,event_type=type0> hits the query <query=[{"field": "traits.io_read_kbs", "op": "eq", "type": "float", "value": "123.456"}]>.
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_retry_transient_api_failure
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_retry_transient_api_failure ... ok
+2025-03-21 15:07:59.392 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 98b7aedb-5a43-4251-bbf2-e6257778b606 by event for project , event_type: type0
+2025-03-21 15:07:59.395 2644424 INFO aodh.evaluator [-] alarm 0a3dc0c9-a44a-4578-b98e-7187ebe64045 transitioning to ok because Transition to ok due to 4 samples inside threshold, most recent: 14.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_alarm_clear
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_alarm_clear ... ok
+2025-03-21 15:07:59.398 2644426 INFO aodh.evaluator [-] alarm 98b7aedb-5a43-4251-bbf2-e6257778b606 transitioning to alarm because Event <id=9b471632-bade-4fdb-8a35-408be705bbd0,event_type=type0> hits the query <query=[{"field": "traits.io_read_kbs", "op": "eq", "type": "float", "value": "123.456"}]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_float
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_float ... ok
-2026-04-22 19:26:09.638 3777437 INFO aodh.evaluator.event [-] Triggering the alarm a381b7f8-d39c-4eb9-a0c6-d2ec07bbd375 by event for project , event_type: type0
-2026-04-22 19:26:09.638 3777437 INFO aodh.evaluator [-] alarm a381b7f8-d39c-4eb9-a0c6-d2ec07bbd375 transitioning to alarm because Event <id=da653824-514e-4a11-bee7-8984e8e398c4,event_type=type0> hits the query <query=[{"field": "traits.instance_type_id", "op": "eq", "type": "integer", "value": "5"}]>.
+2025-03-21 15:07:59.405 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 8801d010-47d3-4097-9aab-cac481abdf24 by event for project , event_type: type0
+2025-03-21 15:07:59.405 2644426 INFO aodh.evaluator [-] alarm 8801d010-47d3-4097-9aab-cac481abdf24 transitioning to alarm because Event <id=1d7857f5-4581-40fe-bb03-c6dbf6e77adb,event_type=type0> hits the query <query=[{"field": "traits.instance_type_id", "op": "eq", "type": "integer", "value": "5"}]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_integer
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_integer ... ok
-2026-04-22 19:26:09.650 3777437 INFO aodh.evaluator.event [-] Triggering the alarm ddf08031-8816-4b4f-b2f6-200d037bd730 by event for project , event_type: type0
-2026-04-22 19:26:09.656 3777437 INFO aodh.evaluator [-] alarm ddf08031-8816-4b4f-b2f6-200d037bd730 transitioning to alarm because Event <id=b41b6bf2-411b-4926-873b-725a095d8038,event_type=type0> hits the query <query=[{"field": "traits.state", "op": "eq", "value": "stopped"}]>.
+2025-03-21 15:07:59.416 2644426 INFO aodh.evaluator.event [-] Triggering the alarm 561d0483-3746-42f3-9894-22cb98836928 by event for project , event_type: type0
+2025-03-21 15:07:59.416 2644426 INFO aodh.evaluator [-] alarm 561d0483-3746-42f3-9894-22cb98836928 transitioning to alarm because Event <id=1b932611-46ed-4731-b837-3264896ba6cd,event_type=type0> hits the query <query=[{"field": "traits.state", "op": "eq", "value": "stopped"}]>.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_string
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_fire_alarm_query_matched_string ... ok
-2026-04-22 19:26:09.668 3777437 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm cf0bbec9-f18b-4869-a085-4ebab3da740a due to unmet condition={'field': 'traits.created_at', 'value': datetime.datetime(2015, 9, 1, 18, 52, 27, 214309), 'op': <built-in function eq>} .
+2025-03-21 15:07:59.424 2644426 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm 3a62d140-df27-46d6-be18-05dbc2041ad1 due to unmet condition={'field': 'traits.created_at', 'value': datetime.datetime(2015, 9, 1, 18, 52, 27, 214309), 'op': <built-in function eq>} .
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_alarm_due_to_uncompareable_trait
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_alarm_due_to_uncompareable_trait ... ok
-2026-04-22 19:26:09.682 3777437 ERROR aodh.evaluator.event [-] Failed to extract event_type from event = {'message_id': '14767dd0-d0ad-4e47-abaa-c4251941eff7', 'traits': []}
-2026-04-22 19:26:09.682 3777437 WARNING aodh.evaluator.event [-] Event <{'message_id': '14767dd0-d0ad-4e47-abaa-c4251941eff7', 'traits': []}> is invalid, aborting evaluation for it.: aodh.evaluator.event.InvalidEvent
+2025-03-21 15:07:59.432 2644426 ERROR aodh.evaluator.event [-] Failed to extract event_type from event = {'message_id': '292a34b1-b6fd-4cb5-bdc8-89df4c549805', 'traits': []}
+2025-03-21 15:07:59.432 2644426 WARNING aodh.evaluator.event [-] Event <{'message_id': '292a34b1-b6fd-4cb5-bdc8-89df4c549805', 'traits': []}> is invalid, aborting evaluation for it.: aodh.evaluator.event.InvalidEvent
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_event_missing_event_type
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_event_missing_event_type ... ok
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_known_state_with_sub_rules_trending_state_and_not_repeat
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_known_state_with_sub_rules_trending_state_and_not_repeat ... ok
-2026-04-22 19:26:09.695 3777437 ERROR aodh.evaluator.event [-] Failed to extract message_id from event = {'event_type': 'type1', 'traits': []}
-2026-04-22 19:26:09.696 3777437 WARNING aodh.evaluator.event [-] Event <{'event_type': 'type1', 'traits': []}> is invalid, aborting evaluation for it.: aodh.evaluator.event.InvalidEvent
+2025-03-21 15:07:59.435 2644425 INFO aodh.evaluator [-] alarm 28ad7cd6-6be2-4971-9c0c-ec85800b7ecb transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_alarm_change_record
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_alarm_change_record ... ok
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_known_state_ok
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_known_state_ok ... ok
+2025-03-21 15:07:59.440 2644426 ERROR aodh.evaluator.event [-] Failed to extract message_id from event = {'event_type': 'type1', 'traits': []}
+2025-03-21 15:07:59.440 2644426 WARNING aodh.evaluator.event [-] Event <{'event_type': 'type1', 'traits': []}> is invalid, aborting evaluation for it.: aodh.evaluator.event.InvalidEvent
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_event_missing_message_id
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_event_missing_message_id ... ok
-2026-04-22 19:26:09.703 3777453 INFO aodh.evaluator [-] alarm cfc47da7-3eeb-423b-b838-b49756f26ed8 transitioning to ok because Composite rule alarm with composition form: (rule1 and rule2 and rule3) transition to ok, due to rules: rule1 inside their threshold.
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_event_type_pattern_unmatched
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_event_type_pattern_unmatched ... ok
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_ok_with_short_circuit_logic
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_ok_with_short_circuit_logic ... ok
-2026-04-22 19:26:09.720 3777437 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm e50852fc-5e28-4928-a8a9-9c0e367eec85 due to unmet condition={'field': 'traits.created_at', 'value': datetime.datetime(2015, 9, 1, 18, 52, 27, 214309), 'op': <built-in function eq>} .
+2025-03-21 15:07:59.447 2644425 INFO aodh.evaluator [-] alarm 218b182d-0c0a-43d2-95cb-8058ccf9be79 transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_unknown
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_equivocal_from_unknown ... ok
+2025-03-21 15:07:59.452 2644426 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm 85a0937e-63c8-42f6-8e0f-20cd9c311e02 due to unmet condition={'field': 'traits.created_at', 'value': datetime.datetime(2015, 9, 1, 18, 52, 27, 214309), 'op': <built-in function eq>} .
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_datetime
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_datetime ... ok
-2026-04-22 19:26:09.728 3777453 INFO aodh.evaluator [-] alarm 89abdfd3-a8bd-43e5-b064-1c7de28b190b transitioning to insufficient data because Composite rule alarm with composition form: (rule1 or (rule2 and rule3)) transition to insufficient data, due to rules: rule1, rule2, rule3 state evaluated to unknown.
-2026-04-22 19:26:09.729 3777453 INFO aodh.evaluator [-] alarm 3726bbef-49e4-41f6-87d1-51c4fd0a62b7 transitioning to insufficient data because Composite rule alarm with composition form: (rule1 or rule2 or rule3) transition to insufficient data, due to rules: rule1, rule2, rule3 state evaluated to unknown.
-2026-04-22 19:26:09.730 3777453 INFO aodh.evaluator [-] alarm c0993b5b-f047-4b75-bec9-b03aa86b6122 transitioning to insufficient data because Composite rule alarm with composition form: (rule1 and rule2 and rule3) transition to insufficient data, due to rules: rule1, rule2, rule3 state evaluated to unknown.
-2026-04-22 19:26:09.731 3777453 INFO aodh.evaluator [-] alarm 951b611c-f75f-4cf7-9b3c-e18b469e81da transitioning to insufficient data because Composite rule alarm with composition form: (rule1 and rule2 and (rule3 or rule4 or rule5 or rule6)) transition to insufficient data, due to rules: rule1, rule2, rule3, rule4, rule5, rule6 state evaluated to unknown.
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_simple_insufficient
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_simple_insufficient ... ok
-2026-04-22 19:26:09.738 3777437 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm ec11ff34-74b5-4212-8e0a-732fdead3855 due to unmet condition={'field': 'traits.io_read_kbs', 'value': 123.456, 'op': <built-in function eq>} .
+2025-03-21 15:07:59.455 2644425 INFO aodh.evaluator [-] alarm 4a199505-dcfe-4247-af8d-6bdf5f5a4ce4 transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_evaluation_keep_alarm_attributes_constant
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_evaluation_keep_alarm_attributes_constant ... ok
+2025-03-21 15:07:59.463 2644426 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm c7d99146-8a49-4b89-9d39-73d08e531e3b due to unmet condition={'field': 'traits.io_read_kbs', 'value': 123.456, 'op': <built-in function eq>} .
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_float
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_float ... ok
-2026-04-22 19:26:09.746 3777453 INFO aodh.evaluator [-] alarm 482ec645-ee83-47c9-b50b-95091f045e4a transitioning to alarm because Composite rule alarm with composition form: (rule1 or (rule2 and rule3)) transition to alarm, due to rules: rule2, rule3 outside their threshold.
-2026-04-22 19:26:09.751 3777437 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm 3129ed1c-10e1-41b3-b614-621563f8a00b due to unmet condition={'field': 'traits.instance_type_id', 'value': 5, 'op': <built-in function eq>} .
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_unknown_state_with_sub_rules_trending_state
-aodh.tests.unit.evaluator.test_composite.CompositeTest.test_unknown_state_with_sub_rules_trending_state ... ok
-aodh.tests.unit.test_wsme_custom_type.TestWsmeCustomType.test_advenum_default
-aodh.tests.unit.test_wsme_custom_type.TestWsmeCustomType.test_advenum_default ... ok
+2025-03-21 15:07:59.470 2644426 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm 88dcbc95-7475-4582-bcb2-4c169846a069 due to unmet condition={'field': 'traits.instance_type_id', 'value': 5, 'op': <built-in function eq>} .
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_integer
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_integer ... ok
-2026-04-22 19:26:09.767 3777437 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm 450684dc-8242-4cf1-be1f-f5047f6d8038 due to unmet condition={'field': 'traits.state', 'value': 'stopped', 'op': <built-in function eq>} .
+2025-03-21 15:07:59.468 2644425 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
+2025-03-21 15:07:59.468 2644425 INFO aodh.evaluator [-] alarm 984c911a-2672-4eaa-9b0a-359b73f58b1e transitioning to insufficient data because No datapoint for granularity 60
+2025-03-21 15:07:59.470 2644425 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
+2025-03-21 15:07:59.471 2644425 INFO aodh.evaluator [-] alarm 984c911a-2672-4eaa-9b0a-359b73f58b1e transitioning to insufficient data because No datapoint for granularity 60
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_lag_configuration
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_lag_configuration ... ok
+2025-03-21 15:07:59.474 2644428 INFO aodh.notifier.heat [-] Notifying alarm fake_alarm_name fake_alarm_id of low priority from ok to alarm with action trust+autohealer://fake_trust_id:delete@ because no good reason.
+2025-03-21 15:07:59.474 2644428 INFO aodh.notifier.heat [-] Heat resource fake_resource_name is marked as unhealthy for alarm fake_alarm_id
+2025-03-21 15:07:59.475 2644428 INFO aodh.notifier.heat [-] Heat stack fake_stack_id is updated for alarm fake_alarm_id
+aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify
+aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify ... ok
+2025-03-21 15:07:59.478 2644428 INFO aodh.notifier.heat [-] Notifying alarm fake_alarm_name fake_alarm_id of low priority from ok to alarm with action trust+autohealer://fake_trust_id:delete@ because no good reason.
+2025-03-21 15:07:59.478 2644428 ERROR aodh.notifier.heat [-] stack_id and asg_id must exist to notify alarm fake_alarm_id
+aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify_stack_id_missing
+aodh.tests.unit.notifier.test_heat.TestTrustHeatAlarmNotifier.test_notify_stack_id_missing ... ok
+aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain
+aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain ... ok
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_no_state_change_outside_time_constraint
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_no_state_change_outside_time_constraint ... ok
+2025-03-21 15:07:59.479 2644426 INFO aodh.evaluator.event [-] Aborting evaluation of the alarm 1bdc6b3f-d0cc-47c1-b8d5-d6b8a41b2e1d due to unmet condition={'field': 'traits.state', 'value': 'stopped', 'op': <built-in function eq>} .
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_string
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_query_unmatched_string ... ok
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_uninterested_event_type
 aodh.tests.unit.evaluator.test_event.TestEventAlarmEvaluate.test_skip_uninterested_event_type ... ok
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_and_repeat_actions
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_and_repeat_actions ... ok
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_ok
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_from_known_state_ok ... ok
-2026-04-22 19:26:09.824 3777437 INFO aodh.evaluator [-] alarm be378911-3b7f-45cf-aaa0-fa7ef50245b1 transitioning to alarm because Transition to alarm due to 4 samples outside threshold, most recent: 6.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_ok_to_alarm
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_equivocal_ok_to_alarm ... ok
-2026-04-22 19:26:09.845 3777437 WARNING aodh.evaluator.gnocchi [-] alarm statistics retrieval failed: boom: Exception: boom
-2026-04-22 19:26:09.846 3777437 INFO aodh.evaluator [-] alarm 8ba5b905-12d2-4c71-bbfe-87511cb489e2 transitioning to ok because Transition to ok due to 3 samples inside threshold, most recent: 13.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_retry_transient_api_failure
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_retry_transient_api_failure ... ok
-2026-04-22 19:26:09.875 3777437 INFO aodh.evaluator [-] alarm 57ee1099-6143-41db-b984-75c31c0dde55 transitioning to ok because Transition to ok due to 4 samples inside threshold, most recent: 14.0
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_alarm_clear
-aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_alarm_clear ... ok
-2026-04-22 19:26:09.893 3777437 INFO aodh.evaluator [-] alarm bdf583e2-8e1b-4c26-950b-444c90203ad0 transitioning to alarm because Transition to alarm due to 4 samples outside threshold, most recent: 7.0
+2025-03-21 15:07:59.489 2644424 INFO aodh.evaluator [-] alarm fe0d03e1-91ad-4d84-a7a5-8775af4355df transitioning to alarm because Transition to alarm due to 4 samples outside threshold, most recent: 7.0
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_alarm_trip
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_alarm_trip ... ok
-2026-04-22 19:26:09.909 3777437 WARNING aodh.evaluator.threshold [-] Expecting 4 datapoints but only get 0
-2026-04-22 19:26:09.910 3777437 INFO aodh.evaluator [-] alarm d44da07a-e1a9-429a-aa22-238cf15d72cd transitioning to insufficient data because No datapoint for granularity 300
+aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_id
+aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_id ... ok
+aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_name
+aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_name ... ok
+2025-03-21 15:07:59.496 2644424 WARNING aodh.evaluator.threshold [-] Expecting 4 datapoints but only get 0
+2025-03-21 15:07:59.496 2644424 INFO aodh.evaluator [-] alarm dc11c540-2f58-4e0c-a0e4-9b9985dcd90b transitioning to insufficient data because No datapoint for granularity 300
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_insufficient
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_simple_insufficient ... ok
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_unequivocal_from_known_state_and_repeat_actions
 aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiAggregationMetricsThresholdEvaluate.test_unequivocal_from_known_state_and_repeat_actions ... ok
+2025-03-21 15:07:59.521 2644430 INFO aodh.evaluator [-] initiating evaluation cycle on 0 alarms
+aodh.tests.unit.test_query.TestQuery.test_get_value_boolean_expression_without_type
+aodh.tests.unit.test_query.TestQuery.test_get_value_boolean_expression_without_type ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_integer_expression_without_type
+aodh.tests.unit.test_query.TestQuery.test_get_value_integer_expression_without_type ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_type
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_type ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_value
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_value ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean_without_type
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean_without_type ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_datetime
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_datetime ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_float
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_float ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_float_without_type
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_float_without_type ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer_without_type
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer_without_type ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_string
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_string ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_string_without_type
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_string_without_type ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error ... ok
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error_colons
+aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error_colons ... ok
+aodh.tests.unit.test_notifier.TestAlarmNotifierService.test_init_host_queue
+aodh.tests.unit.test_notifier.TestAlarmNotifierService.test_init_host_queue ... ok
+2025-03-21 15:07:59.568 2644425 WARNING aodh.evaluator.gnocchi [-] alarm statistics retrieval failed: error2 (HTTP 501): gnocchiclient.exceptions.ClientException: error2 (HTTP 501)
+2025-03-21 15:07:59.569 2644425 INFO aodh.evaluator [-] alarm 98e9749e-d6d4-4b76-83fb-cd60a2f7eaec transitioning to ok because Transition to ok due to 5 samples inside threshold, most recent: 76.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_retry_transient_api_failure
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_retry_transient_api_failure ... ok
+2025-03-21 15:07:59.576 2644425 INFO aodh.evaluator [-] alarm e52ad5ce-233b-435d-bb19-5e7121c9e642 transitioning to ok because Transition to ok due to 5 samples inside threshold, most recent: 76.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_clear
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_clear ... ok
+2025-03-21 15:07:59.585 2644425 INFO aodh.evaluator [-] alarm f540a61d-1c4b-4e48-90c0-8203d42a280a transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_trip
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_alarm_trip ... ok
+2025-03-21 15:07:59.592 2644425 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
+2025-03-21 15:07:59.592 2644425 INFO aodh.evaluator [-] alarm 717b47ae-e042-47ef-abdf-75fbd5982250 transitioning to insufficient data because No datapoint for granularity 60
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_insufficient
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_simple_insufficient ... ok
+2025-03-21 15:07:59.601 2644425 INFO aodh.evaluator [-] alarm a0e9b0b8-7dd2-4fd4-a3aa-20d91266523f transitioning to alarm because Transition to alarm due to 5 samples outside threshold, most recent: 85.0
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_and_repeat_actions
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_and_repeat_actions ... ok
+2025-03-21 15:07:59.610 2644425 WARNING aodh.evaluator.threshold [-] Expecting 5 datapoints but only get 0
+2025-03-21 15:07:59.610 2644425 INFO aodh.evaluator [-] alarm cf055720-b7e4-4826-8517-923af1f8523f transitioning to insufficient data because No datapoint for granularity 60
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_inside_time_constraint
+aodh.tests.unit.evaluator.test_gnocchi.TestGnocchiResourceThresholdEvaluate.test_state_change_inside_time_constraint ... ok
+aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs
+aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs ... ok
+aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_list_of_dict
+aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_list_of_dict ... ok
+aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_separator
+aodh.tests.unit.test_api_v2_capabilities.TestCapabilities.test_recursive_keypairs_with_separator ... ok
+aodh.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks
+aodh.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarm_changes_filter_valid_fields
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarm_changes_filter_valid_fields ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarms_filter_valid_fields
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_get_alarms_filter_valid_fields ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_exclude_internal
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_exclude_internal ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_field
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_field ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_op
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_invalid_op ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_multi
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_multi ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_non_equality_on_metadata
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_non_equality_on_metadata ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_self_always_excluded
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_self_always_excluded ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_single
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_single ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp_invalid_op
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_timestamp_invalid_op ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_translation
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_sample_filter_translation ... ok
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_timestamp_validation
+aodh.tests.unit.test_query.TestQueryToKwArgs.test_timestamp_validation ... ok
+aodh.tests.unit.test_coordination.TestHashRing.test_hash_ring
+aodh.tests.unit.test_coordination.TestHashRing.test_hash_ring ... ok
+aodh.tests.unit.test_evaluator.TestPrometheusEvaluator.test_rule_evaluation
+aodh.tests.unit.test_evaluator.TestPrometheusEvaluator.test_rule_evaluation ... ok
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm ... ok
+2025-03-21 15:08:00.336 2644423 INFO aodh.coordination [-] Joined partitioning group group1
+2025-03-21 15:08:00.337 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_check_alarm_query_constraints
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_check_alarm_query_constraints ... ok
-2026-04-22 19:26:10.433 3777447 INFO aodh.evaluator [-] initiating evaluation cycle on 1 alarms
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator [-] Failed to evaluate alarm alarm_id1: Exception: Boom!
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator Traceback (most recent call last):
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator   File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/evaluator/__init__.py", line 287, in _evaluate_alarm
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator     self.evaluators[alarm.type].obj.evaluate(alarm)
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator     return self._mock_call(*args, **kwargs)
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator     return self._execute_mock_call(*args, **kwargs)
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator     raise result
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator Exception: Boom!
-2026-04-22 19:26:10.433 3777447 ERROR aodh.evaluator 
-2026-04-22 19:26:10.548 3777445 INFO aodh.coordination [-] Joined partitioning group group1
-2026-04-22 19:26:10.549 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-aodh.tests.unit.test_event.TestEventAlarmEvaluationService.test_batch_event_listener
-aodh.tests.unit.test_event.TestEventAlarmEvaluationService.test_batch_event_listener ... ok
-aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain
-aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain ... ok
-aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_id
-aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_id ... ok
-aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_name
-aodh.tests.unit.test_notifier.TestKeystoneClient.test_get_trusted_client_domain_name ... ok
+2025-03-21 15:08:00.528 2644430 INFO aodh.evaluator [-] initiating evaluation cycle on 1 alarms
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator [-] Failed to evaluate alarm alarm_id1: Exception: Boom!
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator Traceback (most recent call last):
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator   File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/evaluator/__init__.py", line 287, in _evaluate_alarm
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator     self.evaluators[alarm.type].obj.evaluate(alarm)
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator     return self._mock_call(*args, **kwargs)
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator     return self._execute_mock_call(*args, **kwargs)
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator     raise result
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator Exception: Boom!
+2025-03-21 15:08:00.528 2644430 ERROR aodh.evaluator 
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_invalid_action
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_invalid_action ... ok
-aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle
-aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle ... ok
-2026-04-22 19:26:11.472 3777447 INFO aodh.evaluator [-] initiating evaluation cycle on 1 alarms
-2026-04-22 19:26:11.552 3777445 INFO aodh.coordination [-] Joined partitioning group group2
+2025-03-21 15:08:01.338 2644423 INFO aodh.coordination [-] Joined partitioning group group2
 aodh.tests.unit.test_coordination.TestPartitioning.test_multiple_groups
 aodh.tests.unit.test_coordination.TestPartitioning.test_multiple_groups ... ok
-2026-04-22 19:26:11.572 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:01.356 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle
+aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle ... ok
+2025-03-21 15:08:01.540 2644430 INFO aodh.evaluator [-] initiating evaluation cycle on 1 alarms
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_invalid_url
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_invalid_url ... ok
-aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_no_coordination
-aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_no_coordination ... ok
-2026-04-22 19:26:12.572 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.573 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.573 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.573 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.573 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.573 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.573 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.573 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.574 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:12.575 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.575 3777445 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.357 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.358 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.358 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.358 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.359 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.359 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.359 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.360 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.360 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.360 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.361 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.361 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.361 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.361 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.362 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.362 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.362 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:02.363 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:02.363 2644423 INFO aodh.coordination [-] Joined partitioning group group
 aodh.tests.unit.test_coordination.TestPartitioning.test_partitioning
 aodh.tests.unit.test_coordination.TestPartitioning.test_partitioning ... ok
 aodh.tests.unit.test_coordination.TestPartitioning.test_reconnect
 aodh.tests.unit.test_coordination.TestPartitioning.test_reconnect ... ok
-2026-04-22 19:26:12.624 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:12.680 3777447 INFO aodh.evaluator [-] initiating evaluation cycle on 1 alarms
+2025-03-21 15:08:02.450 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_no_coordination
+aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_no_coordination ... ok
+2025-03-21 15:08:02.555 2644430 INFO aodh.evaluator [-] initiating evaluation cycle on 1 alarms
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_ok
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_ok ... ok
-2026-04-22 19:26:13.608 3777443 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-c1706146-c910-4e49-99e7-7fbfdcd58070' 
-2026-04-22 19:26:13.609 3777443 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281472764700256'> <MagicMock name='post().reason' id='281472764698240'>.
-2026-04-22 19:26:13.624 3777445 INFO aodh.coordination [-] Joined partitioning group group
-2026-04-22 19:26:13.625 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
-2026-04-22 19:26:13.625 3777445 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:03.364 2644420 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-857d14fd-3e02-4d35-9cb2-99a239f840d9' 
+2025-03-21 15:08:03.366 2644420 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281473371072096'> <MagicMock name='post().reason' id='281473371071424'>.
+2025-03-21 15:08:03.451 2644423 INFO aodh.coordination [-] Joined partitioning group group
+2025-03-21 15:08:03.451 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:03.452 2644423 INFO aodh.coordination [-] Joined partitioning group group
 aodh.tests.unit.test_coordination.TestPartitioning.test_single_group
 aodh.tests.unit.test_coordination.TestPartitioning.test_single_group ... ok
-2026-04-22 19:26:13.637 3777445 INFO aodh.coordination [-] Coordination backend started successfully.
+2025-03-21 15:08:03.462 2644423 INFO aodh.coordination [-] Coordination backend started successfully.
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_no_coordination_alarm_modified
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_no_coordination_alarm_modified ... ok
-2026-04-22 19:26:13.720 3777447 INFO aodh.evaluator [-] initiating evaluation cycle on 2 alarms
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator [-] Failed to evaluate alarm a: Exception: Boom!
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator Traceback (most recent call last):
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator   File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/evaluator/__init__.py", line 287, in _evaluate_alarm
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator     self.evaluators[alarm.type].obj.evaluate(alarm)
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator     return self._mock_call(*args, **kwargs)
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator     return self._execute_mock_call(*args, **kwargs)
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator     raise result
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator Exception: Boom!
-2026-04-22 19:26:13.721 3777447 ERROR aodh.evaluator 
+2025-03-21 15:08:03.577 2644430 INFO aodh.evaluator [-] initiating evaluation cycle on 2 alarms
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator [-] Failed to evaluate alarm a: Exception: Boom!
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator Traceback (most recent call last):
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator   File "/build/reproducible-path/aodh-20.0.0~rc1/aodh/evaluator/__init__.py", line 287, in _evaluate_alarm
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator     self.evaluators[alarm.type].obj.evaluate(alarm)
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator     return self._mock_call(*args, **kwargs)
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator     return self._execute_mock_call(*args, **kwargs)
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator            ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator   File "/usr/lib/python3.13/unittest/mock.py", line 1232, in _execute_mock_call
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator     raise result
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator Exception: Boom!
+2025-03-21 15:08:03.577 2644430 ERROR aodh.evaluator 
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_client_cert
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_client_cert ... ok
-2026-04-22 19:26:14.640 3777445 INFO aodh.coordination [-] Joined partitioning group 123
-2026-04-22 19:26:14.641 3777445 INFO aodh.coordination [-] Left partitioning group 123
+2025-03-21 15:08:04.380 2644420 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-983ed0e9-a191-44e3-9604-916121d94f82' 
+2025-03-21 15:08:04.383 2644420 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281473371073440'> <MagicMock name='post().reason' id='281473371073776'>.
+2025-03-21 15:08:04.463 2644423 INFO aodh.coordination [-] Joined partitioning group 123
+2025-03-21 15:08:04.463 2644423 INFO aodh.coordination [-] Left partitioning group 123
 aodh.tests.unit.test_coordination.TestPartitioning.test_stop
 aodh.tests.unit.test_coordination.TestPartitioning.test_stop ... ok
+aodh.tests.unit.test_wsme_custom_type.TestWsmeCustomType.test_advenum_default
+aodh.tests.unit.test_wsme_custom_type.TestWsmeCustomType.test_advenum_default ... ok
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_with_bad_alarm
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_with_bad_alarm ... ok
-aodh.tests.unit.test_evaluator.TestPrometheusEvaluator.test_rule_evaluation
-aodh.tests.unit.test_evaluator.TestPrometheusEvaluator.test_rule_evaluation ... ok
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_start_coordinated
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_start_coordinated ... ok
-2026-04-22 19:26:14.804 3777443 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-a99b9fa6-3ed2-45eb-bd9d-20f612f4a52d' 
-2026-04-22 19:26:14.805 3777443 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281472764698576'> <MagicMock name='post().reason' id='281472764700256'>.
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_start_coordinated_high_hb_interval
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_start_coordinated_high_hb_interval ... ok
-2026-04-22 19:26:14.860 3777447 INFO aodh.evaluator [-] initiating evaluation cycle on 0 alarms
+2025-03-21 15:08:04.704 2644430 INFO aodh.evaluator [-] initiating evaluation cycle on 0 alarms
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_start_singleton
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_start_singleton ... ok
-2026-04-22 19:26:14.912 3777447 INFO aodh.evaluator [-] initiating evaluation cycle on 2 alarms
-2026-04-22 19:26:14.913 3777447 WARNING aodh.evaluator [-] Skipping alarm a, unsupported type: not_existing_type
+2025-03-21 15:08:04.713 2644430 INFO aodh.evaluator [-] initiating evaluation cycle on 2 alarms
+2025-03-21 15:08:04.713 2644430 WARNING aodh.evaluator [-] Skipping alarm a, unsupported type: not_existing_type
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_client_cert_and_key
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_client_cert_and_key ... ok
-2026-04-22 19:26:15.840 3777443 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-99952d08-540a-4e58-9cb1-b3ea0f9e5d41' 
-2026-04-22 19:26:15.842 3777443 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281472775226432'> <MagicMock name='post().reason' id='281472764699584'>.
+2025-03-21 15:08:05.402 2644420 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-1aa9fe9b-e5e8-4ecd-894c-b660b1e83c58' 
+2025-03-21 15:08:05.404 2644420 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281473371072096'> <MagicMock name='post().reason' id='281473371074112'>.
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_unknown_extension_skipped
 aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_unknown_extension_skipped ... ok
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_server_verify_enable
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_server_verify_enable ... ok
-2026-04-22 19:26:16.921 3777443 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='aodh-alarm-ssl-verify=0', fragment='') because what ?. request-id: b'req-2a7d405b-50b5-4486-a5a1-34ecb24905cd' 
-2026-04-22 19:26:16.922 3777443 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281472764700592'> <MagicMock name='post().reason' id='281472866220896'>.
+2025-03-21 15:08:06.420 2644420 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='aodh-alarm-ssl-verify=0', fragment='') because what ?. request-id: b'req-49262952-eae9-4d94-8001-8ab2503e8df8' 
+2025-03-21 15:08:06.421 2644420 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281473371074448'> <MagicMock name='post().reason' id='281473371072096'>.
+aodh.tests.unit.test_event.TestEventAlarmEvaluationService.test_batch_event_listener
+aodh.tests.unit.test_event.TestEventAlarmEvaluationService.test_batch_event_listener ... ok
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_disable
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_disable ... ok
-2026-04-22 19:26:17.952 3777443 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-abc202e2-a8f1-4d7c-939d-7959743f247e' 
-2026-04-22 19:26:17.953 3777443 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281472764697232'> <MagicMock name='post().reason' id='281472764698240'>.
+2025-03-21 15:08:07.436 2644420 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-7d352540-e7a1-4a7f-bf31-cf752f0c2441' 
+2025-03-21 15:08:07.438 2644420 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281473371076464'> <MagicMock name='post().reason' id='281473371076800'>.
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_disable_by_cfg
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_disable_by_cfg ... ok
-2026-04-22 19:26:19.028 3777443 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='aodh-alarm-ssl-verify=1', fragment='') because what ?. request-id: b'req-29d567bd-d3d9-400c-bf6d-ffed64910f98' 
-2026-04-22 19:26:19.030 3777443 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281472763754688'> <MagicMock name='post().reason' id='281472764698240'>.
+2025-03-21 15:08:08.452 2644420 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action _ModifiedSplitResult(scheme='https', netloc='host', path='/action', query='aodh-alarm-ssl-verify=1', fragment='') because what ?. request-id: b'req-b7556f97-b32a-49e3-ba68-41b791f37e96' 
+2025-03-21 15:08:08.454 2644420 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281473371074112'> <MagicMock name='post().reason' id='281473371074784'>.
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_enable_by_user
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_enable_by_user ... ok
-2026-04-22 19:26:20.104 3777443 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action SplitResult(scheme='http', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-6d0b7852-966f-49b5-9116-3811c46aecfb' 
-2026-04-22 19:26:20.105 3777443 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281472767258512'> <MagicMock name='post().reason' id='281472767257504'>.
+2025-03-21 15:08:09.469 2644420 INFO aodh.notifier.rest [-] Notifying alarm testalarm foobar with severity critical from OK to ALARM with action SplitResult(scheme='http', netloc='host', path='/action', query='', fragment='') because what ?. request-id: b'req-7d2ebfe5-7d66-4e5d-85c7-e1122dd9b133' 
+2025-03-21 15:08:09.471 2644420 INFO aodh.notifier.rest [-] Notifying alarm <foobar> gets response: <MagicMock name='post().status_code' id='281473351270480'> <MagicMock name='post().reason' id='281473351270816'>.
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_trust_action
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_trust_action ... ok
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_with_batch_listener
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_with_batch_listener ... ok
-2026-04-22 19:26:22.340 3777443 INFO aodh.notifier.zaqar [-] Notifying alarm testalarm foobar of critical priority from OK to ALARM with action _ModifiedSplitResult(scheme='zaqar', netloc='', path='', query='subscriber=http://example.com/data&ttl=7200&signature=mysignature&expires=2016-06-29T01:49:56&paths=/v2/queues/beijing/messages&methods=GET,PATCH,POST,PUT&queue_name=foobar-critical&project_id=my_project_id', fragment='') because what ?.
+2025-03-21 15:08:11.555 2644420 INFO aodh.notifier.zaqar [-] Notifying alarm testalarm foobar of critical priority from OK to ALARM with action _ModifiedSplitResult(scheme='zaqar', netloc='', path='', query='subscriber=http://example.com/data&ttl=7200&signature=mysignature&expires=2016-06-29T01:49:56&paths=/v2/queues/beijing/messages&methods=GET,PATCH,POST,PUT&queue_name=foobar-critical&project_id=my_project_id', fragment='') because what ?.
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_presigned_zaqar_notifier_action
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_presigned_zaqar_notifier_action ... ok
-2026-04-22 19:26:23.421 3777443 INFO aodh.notifier.zaqar [-] Notifying alarm testalarm foobar of critical priority from OK to ALARM with action SplitResult(scheme='zaqar', netloc='', path='', query='queue_name=foobar-critical', fragment='') because what ?.
+2025-03-21 15:08:12.572 2644420 INFO aodh.notifier.zaqar [-] Notifying alarm testalarm foobar of critical priority from OK to ALARM with action SplitResult(scheme='zaqar', netloc='', path='', query='queue_name=foobar-critical', fragment='') because what ?.
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_trust_zaqar_notifier_action
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_trust_zaqar_notifier_action ... ok
-2026-04-22 19:26:24.508 3777443 INFO aodh.notifier.zaqar [-] Notifying alarm testalarm foobar of critical priority from OK to ALARM with action _ModifiedSplitResult(scheme='zaqar', netloc='', path='', query='topic=critical&subscriber=http://example.com/data&subscriber=mailto:foo@example.com&ttl=7200', fragment='') because what ?.
+2025-03-21 15:08:13.589 2644420 INFO aodh.notifier.zaqar [-] Notifying alarm testalarm foobar of critical priority from OK to ALARM with action _ModifiedSplitResult(scheme='zaqar', netloc='', path='', query='topic=critical&subscriber=http://example.com/data&subscriber=mailto:foo@example.com&ttl=7200', fragment='') because what ?.
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_zaqar_notifier_action
 aodh.tests.unit.test_notifier.TestAlarmNotifier.test_zaqar_notifier_action ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_boolean_expression_without_type
-aodh.tests.unit.test_query.TestQuery.test_get_value_boolean_expression_without_type ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_integer_expression_without_type
-aodh.tests.unit.test_query.TestQuery.test_get_value_integer_expression_without_type ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_type
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_type ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_value
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_bad_value ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean_without_type
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_boolean_without_type ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_datetime
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_datetime ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_float
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_float ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_float_without_type
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_float_without_type ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer_without_type
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_integer_without_type ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_string
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_string ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_string_without_type
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_string_without_type ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error ... ok
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error_colons
-aodh.tests.unit.test_query.TestQuery.test_get_value_with_syntax_error_colons ... ok
 
 ----------------------------------------------------------------------
-Ran 146 tests in 24.174s
+Ran 146 tests in 19.380s
 
 OK
 + stestr slowest
-Test id                                                                                                         Runtime (s)
---------------------------------------------------------------------------------------------------------------  -----------
-aodh.tests.unit.test_coordination.TestPartitioning.test_multiple_groups                                         2.012
-aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm                                               1.586
-aodh.tests.unit.test_event.TestEventAlarmEvaluationService.test_batch_event_listener                            1.286
-aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_evaluation_cycle_no_coordination_alarm_modified  1.212
-aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_client_cert_and_key      1.200
-aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_with_batch_listener                           1.156
-aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_ok                                1.084
-aodh.tests.unit.test_notifier.TestAlarmNotifier.test_presigned_zaqar_notifier_action                            1.084
-aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_disable_by_cfg    1.084
-aodh.tests.unit.test_notifier.TestAlarmNotifier.test_trust_zaqar_notifier_action                                1.084
+Test id                                                                                                     Runtime (s)
+----------------------------------------------------------------------------------------------------------  -----------
+aodh.tests.unit.test_coordination.TestPartitioning.test_multiple_groups                                     2.008
+aodh.tests.unit.test_evaluator.TestAlarmEvaluationService.test_check_alarm_query_constraints                1.114
+aodh.tests.unit.test_coordination.TestPartitioning.test_partitioning                                        1.098
+aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_with_batch_listener                       1.068
+aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm                                           1.055
+aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_client_cert_and_key  1.021
+aodh.tests.unit.test_event.TestEventAlarmEvaluationService.test_batch_event_listener                        1.018
+aodh.tests.unit.test_notifier.TestAlarmNotifier.test_zaqar_notifier_action                                  1.017
+aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_trust_action                              1.017
+aodh.tests.unit.test_notifier.TestAlarmNotifier.test_notify_alarm_rest_action_with_ssl_verify_disable       1.017
 + rm -rf .stestr
 for i in api-paste.ini app.wsgi ; do \
 	cp aodh/api/$i /build/reproducible-path/aodh-20.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/aodh/api ; \
@@ -3137,9 +3178,9 @@
 	--namespace oslo.reports \
 	--namespace keystonemiddleware.auth_token
 pkgos-readd-keystone-authtoken-missing-options /build/reproducible-path/aodh-20.0.0~rc1/debian/aodh-common/usr/share/aodh-common/aodh.conf keystone_authtoken aodh
-pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.LMSpex:[keystone_authtoken]/www_authenticate_uri
-pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.LMSpex:[keystone_authtoken]/auth_type
-pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.LMSpex:[keystone_authtoken]/region_name
+pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.jxCyBH:[keystone_authtoken]/www_authenticate_uri
+pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.jxCyBH:[keystone_authtoken]/auth_type
+pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.jxCyBH:[keystone_authtoken]/region_name
 # Use the policy.d folder
 pkgos-fix-config-default /build/reproducible-path/aodh-20.0.0~rc1/debian/aodh-common/usr/share/aodh-common/aodh.conf oslo_policy policy_dirs /etc/aodh/policy.d
 pkgos_inifile: Setting value in /build/reproducible-path/aodh-20.0.0~rc1/debian/aodh-common/usr/share/aodh-common/aodh.conf:[oslo_policy]/policy_dirs
@@ -3569,9 +3610,9 @@
 mkdir -p /build/reproducible-path/aodh-20.0.0~rc1/debian/aodh-doc/usr/share/doc/aodh-doc/html/_static
 touch /build/reproducible-path/aodh-20.0.0~rc1/debian/aodh-doc/usr/share/doc/aodh-doc/html/_static/toggle.js
 dh_sphinxdoc
-dh_sphinxdoc: warning: ignoring unknown JavaScript code: debian/aodh-doc/usr/share/doc/aodh-doc/html/_static/js/jquery-3.2.1.min.js
 dh_sphinxdoc: warning: ignoring unknown JavaScript code: debian/aodh-doc/usr/share/doc/aodh-doc/html/_static/js/docs.js
 dh_sphinxdoc: warning: ignoring unknown JavaScript code: debian/aodh-doc/usr/share/doc/aodh-doc/html/_static/js/bootstrap.min.js
+dh_sphinxdoc: warning: ignoring unknown JavaScript code: debian/aodh-doc/usr/share/doc/aodh-doc/html/_static/js/jquery-3.2.1.min.js
 dh_sphinxdoc: warning: ignoring unknown JavaScript code: debian/aodh-doc/usr/share/doc/aodh-doc/html/_static/js/navigation.js
 dh_sphinxdoc: warning: ignoring unknown JavaScript code: debian/aodh-doc/usr/share/doc/aodh-doc/html/_static/toggle.js
 make[1]: Leaving directory '/build/reproducible-path/aodh-20.0.0~rc1'
@@ -3612,33 +3653,38 @@
 	cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \
 	pkgos-gen-systemd-unit $i ; \
 done
-+ ls -1 debian/aodh-api.init.in debian/aodh-evaluator.init.in debian/aodh-expirer.init.in debian/aodh-listener.init.in debian/aodh-notifier.init.in
-+ + echo debian/aodh-api.init.in
-sed s/.init.in//
+++ ls -1 debian/aodh-api.init.in debian/aodh-evaluator.init.in debian/aodh-expirer.init.in debian/aodh-listener.init.in debian/aodh-notifier.init.in
++ for i in `ls -1 debian/*.init.in`
+++ echo debian/aodh-api.init.in
+++ sed s/.init.in//
 + MYINIT=debian/aodh-api
 + cp debian/aodh-api.init.in debian/aodh-api.init
 + cat /usr/share/openstack-pkg-tools/init-script-template
 + pkgos-gen-systemd-unit debian/aodh-api.init.in
-+ + echo debian/aodh-evaluator.init.in
-sed s/.init.in//
++ for i in `ls -1 debian/*.init.in`
+++ echo debian/aodh-evaluator.init.in
+++ sed s/.init.in//
 + MYINIT=debian/aodh-evaluator
 + cp debian/aodh-evaluator.init.in debian/aodh-evaluator.init
 + cat /usr/share/openstack-pkg-tools/init-script-template
 + pkgos-gen-systemd-unit debian/aodh-evaluator.init.in
-+ + sed s/.init.in//
-echo debian/aodh-expirer.init.in
++ for i in `ls -1 debian/*.init.in`
+++ echo debian/aodh-expirer.init.in
+++ sed s/.init.in//
 + MYINIT=debian/aodh-expirer
 + cp debian/aodh-expirer.init.in debian/aodh-expirer.init
 + cat /usr/share/openstack-pkg-tools/init-script-template
 + pkgos-gen-systemd-unit debian/aodh-expirer.init.in
-+ + echo debian/aodh-listener.init.in
-sed s/.init.in//
++ for i in `ls -1 debian/*.init.in`
+++ echo debian/aodh-listener.init.in
+++ sed s/.init.in//
 + MYINIT=debian/aodh-listener
 + cp debian/aodh-listener.init.in debian/aodh-listener.init
 + cat /usr/share/openstack-pkg-tools/init-script-template
 + pkgos-gen-systemd-unit debian/aodh-listener.init.in
-+ + sedecho debian/aodh-notifier.init.in
- s/.init.in//
++ for i in `ls -1 debian/*.init.in`
+++ echo debian/aodh-notifier.init.in
+++ sed s/.init.in//
 + MYINIT=debian/aodh-notifier
 + cp debian/aodh-notifier.init.in debian/aodh-notifier.init
 + cat /usr/share/openstack-pkg-tools/init-script-template
@@ -3648,7 +3694,7 @@
 	MYPKG=`echo $i | sed s/.service.in//` ; \
 	cp $MYPKG.service.in $MYPKG.service ; \
 done
-+ ls -1 debian/*.service.in
+++ ls -1 'debian/*.service.in'
 ls: cannot access 'debian/*.service.in': No such file or directory
 # Generate the systemd unit if there's no already existing .service.in
 set -e ; set -x ; for i in `ls debian/*.init.in` ; do \
@@ -3657,31 +3703,36 @@
 		pkgos-gen-systemd-unit $i ; \
 	fi \
 done
-+ ls debian/aodh-api.init.in debian/aodh-evaluator.init.in debian/aodh-expirer.init.in debian/aodh-listener.init.in debian/aodh-notifier.init.in
-+ sed s/.init.in/.service.in/
-+ echo debian/aodh-api.init.in
+++ ls debian/aodh-api.init.in debian/aodh-evaluator.init.in debian/aodh-expirer.init.in debian/aodh-listener.init.in debian/aodh-notifier.init.in
++ for i in `ls debian/*.init.in`
+++ echo debian/aodh-api.init.in
+++ sed s/.init.in/.service.in/
 + MYINIT=debian/aodh-api.service.in
-+ [ -e debian/aodh-api.service.in ]
++ '[' -e debian/aodh-api.service.in ']'
 + pkgos-gen-systemd-unit debian/aodh-api.init.in
-+ + echo debian/aodh-evaluator.init.in
-sed s/.init.in/.service.in/
++ for i in `ls debian/*.init.in`
+++ echo debian/aodh-evaluator.init.in
+++ sed s/.init.in/.service.in/
 + MYINIT=debian/aodh-evaluator.service.in
-+ [ -e debian/aodh-evaluator.service.in ]
++ '[' -e debian/aodh-evaluator.service.in ']'
 + pkgos-gen-systemd-unit debian/aodh-evaluator.init.in
-+ echo debian/aodh-expirer.init.in
-+ sed s/.init.in/.service.in/
++ for i in `ls debian/*.init.in`
+++ echo debian/aodh-expirer.init.in
+++ sed s/.init.in/.service.in/
 + MYINIT=debian/aodh-expirer.service.in
-+ [ -e debian/aodh-expirer.service.in ]
++ '[' -e debian/aodh-expirer.service.in ']'
 + pkgos-gen-systemd-unit debian/aodh-expirer.init.in
-+ + echo debian/aodh-listener.init.in
-sed s/.init.in/.service.in/
++ for i in `ls debian/*.init.in`
+++ echo debian/aodh-listener.init.in
+++ sed s/.init.in/.service.in/
 + MYINIT=debian/aodh-listener.service.in
-+ [ -e debian/aodh-listener.service.in ]
++ '[' -e debian/aodh-listener.service.in ']'
 + pkgos-gen-systemd-unit debian/aodh-listener.init.in
-+ + echo debian/aodh-notifier.init.in
-sed s/.init.in/.service.in/
++ for i in `ls debian/*.init.in`
+++ echo debian/aodh-notifier.init.in
+++ sed s/.init.in/.service.in/
 + MYINIT=debian/aodh-notifier.service.in
-+ [ -e debian/aodh-notifier.service.in ]
++ '[' -e debian/aodh-notifier.service.in ']'
 + pkgos-gen-systemd-unit debian/aodh-notifier.init.in
 dh_installinit --error-handler=true
 make[1]: Leaving directory '/build/reproducible-path/aodh-20.0.0~rc1'
@@ -3703,33 +3754,33 @@
 else \
 	dh_gencontrol -- -T/build/reproducible-path/aodh-20.0.0~rc1/debian/debian_control_vars ; \
 fi
-dpkg-gencontrol: warning: Depends field of package aodh-evaluator: substitution variable ${python3:Depends} used, but is not defined
+dpkg-gencontrol: warning: Depends field of package aodh-notifier: substitution variable ${python3:Depends} used, but is not defined
+dpkg-gencontrol: warning: package aodh-notifier: substitution variable ${ostack-lsb-base} unused, but is defined
+dpkg-gencontrol: warning: Depends field of package aodh-doc: substitution variable ${python3:Depends} used, but is not defined
 dpkg-gencontrol: warning: Depends field of package aodh-expirer: substitution variable ${python3:Depends} used, but is not defined
 dpkg-gencontrol: warning: Depends field of package aodh-api: substitution variable ${python3:Depends} used, but is not defined
 dpkg-gencontrol: warning: package aodh-expirer: substitution variable ${ostack-lsb-base} unused, but is defined
-dpkg-gencontrol: warning: Depends field of package aodh-listener: substitution variable ${python3:Depends} used, but is not defined
-dpkg-gencontrol: warning: package aodh-evaluator: substitution variable ${ostack-lsb-base} unused, but is defined
-dpkg-gencontrol: warning: Depends field of package aodh-doc: substitution variable ${python3:Depends} used, but is not defined
-dpkg-gencontrol: warning: package aodh-common: substitution variable ${ostack-lsb-base} unused, but is defined
-dpkg-gencontrol: warning: package aodh-api: substitution variable ${ostack-lsb-base} unused, but is defined
-dpkg-gencontrol: warning: package aodh-listener: substitution variable ${ostack-lsb-base} unused, but is defined
 dpkg-gencontrol: warning: package aodh-doc: substitution variable ${ostack-lsb-base} unused, but is defined
 dpkg-gencontrol: warning: package aodh-doc: substitution variable ${sphinxdoc:Built-Using} unused, but is defined
 dpkg-gencontrol: warning: package aodh-doc: substitution variable ${sphinxdoc:Depends} unused, but is defined
-dpkg-gencontrol: warning: Depends field of package aodh-notifier: substitution variable ${python3:Depends} used, but is not defined
-dpkg-gencontrol: warning: package aodh-notifier: substitution variable ${ostack-lsb-base} unused, but is defined
+dpkg-gencontrol: warning: package aodh-api: substitution variable ${ostack-lsb-base} unused, but is defined
+dpkg-gencontrol: warning: Depends field of package aodh-evaluator: substitution variable ${python3:Depends} used, but is not defined
+dpkg-gencontrol: warning: Depends field of package aodh-listener: substitution variable ${python3:Depends} used, but is not defined
+dpkg-gencontrol: warning: package aodh-evaluator: substitution variable ${ostack-lsb-base} unused, but is defined
+dpkg-gencontrol: warning: package aodh-listener: substitution variable ${ostack-lsb-base} unused, but is defined
+dpkg-gencontrol: warning: package aodh-common: substitution variable ${ostack-lsb-base} unused, but is defined
 dpkg-gencontrol: warning: package python3-aodh: substitution variable ${ostack-lsb-base} unused, but is defined
 make[1]: Leaving directory '/build/reproducible-path/aodh-20.0.0~rc1'
    dh_md5sums
    dh_builddeb
-dpkg-deb: building package 'aodh-notifier' in '../aodh-notifier_20.0.0~rc1-1_all.deb'.
+dpkg-deb: building package 'aodh-api' in '../aodh-api_20.0.0~rc1-1_all.deb'.
 dpkg-deb: building package 'aodh-common' in '../aodh-common_20.0.0~rc1-1_all.deb'.
 dpkg-deb: building package 'aodh-doc' in '../aodh-doc_20.0.0~rc1-1_all.deb'.
-dpkg-deb: building package 'aodh-api' in '../aodh-api_20.0.0~rc1-1_all.deb'.
-dpkg-deb: building package 'python3-aodh' in '../python3-aodh_20.0.0~rc1-1_all.deb'.
-dpkg-deb: building package 'aodh-expirer' in '../aodh-expirer_20.0.0~rc1-1_all.deb'.
 dpkg-deb: building package 'aodh-evaluator' in '../aodh-evaluator_20.0.0~rc1-1_all.deb'.
+dpkg-deb: building package 'aodh-expirer' in '../aodh-expirer_20.0.0~rc1-1_all.deb'.
+dpkg-deb: building package 'aodh-notifier' in '../aodh-notifier_20.0.0~rc1-1_all.deb'.
 dpkg-deb: building package 'aodh-listener' in '../aodh-listener_20.0.0~rc1-1_all.deb'.
+dpkg-deb: building package 'python3-aodh' in '../python3-aodh_20.0.0~rc1-1_all.deb'.
  dpkg-genbuildinfo --build=binary -O../aodh_20.0.0~rc1-1_arm64.buildinfo
  dpkg-genchanges --build=binary -O../aodh_20.0.0~rc1-1_arm64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -3738,12 +3789,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: including full source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/2618620/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/3741065 and its subdirectories
-I: Current time: Wed Apr 22 19:27:03 -12 2026
-I: pbuilder-time-stamp: 1776929223
+I: removing directory /srv/workspace/pbuilder/2618620 and its subdirectories
+I: Current time: Fri Mar 21 15:08:35 +14 2025
+I: pbuilder-time-stamp: 1742519315