I: pbuilder: network access will be disabled during build I: Current time: Thu Feb 18 06:37:41 +14 2021 I: pbuilder-time-stamp: 1613579861 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [watcher_1.12.0-3.dsc] I: copying [./watcher_1.12.0.orig.tar.xz] I: copying [./watcher_1.12.0-3.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Thu Apr 18 12:04:29 2019 +14 gpgv: using RSA key B4A0AAFCA86C86055D067614AB53E503586877A6 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./watcher_1.12.0-3.dsc dpkg-source: info: extracting watcher in watcher-1.12.0 dpkg-source: info: unpacking watcher_1.12.0.orig.tar.xz dpkg-source: info: unpacking watcher_1.12.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying also-package-alembic-migration.patch dpkg-source: info: applying switch-to-GreenThreadPoolExecutor.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/18344/tmp/hooks/D01_modify_environment starting debug: Running on cb3a. 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 Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by 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/18344/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/18344/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="0" [2]="3" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") BASH_VERSION='5.0.3(1)-release' BUILDDIR=/build BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=armhf DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=2' DIRSTACK=() DISTRIBUTION= EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=arm HOST_ARCH=armhf IFS=' ' INVOCATION_ID=8d706d6489464152a1238c5cc045eb52 LANG=C LANGUAGE=it_CH:it LC_ALL=C MACHTYPE=arm-unknown-linux-gnueabihf MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnueabihf 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=18344 PS4='+ ' 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/tmp.Y0V6bWsESk/pbuilderrc_aNXI --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.Y0V6bWsESk/b2 --logfile b2/build.log watcher_1.12.0-3.dsc' SUDO_GID=115 SUDO_UID=110 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://10.0.0.15:8000/ I: uname -a Linux i-capture-the-hostname 4.19.0-14-armmp-lpae #1 SMP Debian 4.19.171-2 (2021-01-30) armv7l GNU/Linux I: ls -l /bin total 3328 -rwxr-xr-x 1 root root 767656 Apr 18 2019 bash -rwxr-xr-x 3 root root 26052 Jul 11 2019 bunzip2 -rwxr-xr-x 3 root root 26052 Jul 11 2019 bzcat lrwxrwxrwx 1 root root 6 Jul 11 2019 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2227 Jul 11 2019 bzdiff lrwxrwxrwx 1 root root 6 Jul 11 2019 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Jun 25 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 11 2019 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3641 Jul 11 2019 bzgrep -rwxr-xr-x 3 root root 26052 Jul 11 2019 bzip2 -rwxr-xr-x 1 root root 9636 Jul 11 2019 bzip2recover lrwxrwxrwx 1 root root 6 Jul 11 2019 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 11 2019 bzmore -rwxr-xr-x 1 root root 22432 Mar 1 2019 cat -rwxr-xr-x 1 root root 38868 Mar 1 2019 chgrp -rwxr-xr-x 1 root root 38836 Mar 1 2019 chmod -rwxr-xr-x 1 root root 42972 Mar 1 2019 chown -rwxr-xr-x 1 root root 88376 Mar 1 2019 cp -rwxr-xr-x 1 root root 75516 Jan 18 2019 dash -rwxr-xr-x 1 root root 71648 Mar 1 2019 date -rwxr-xr-x 1 root root 51212 Mar 1 2019 dd -rwxr-xr-x 1 root root 55672 Mar 1 2019 df -rwxr-xr-x 1 root root 88444 Mar 1 2019 dir -rwxr-xr-x 1 root root 54872 Jan 10 2019 dmesg lrwxrwxrwx 1 root root 8 Sep 27 2018 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Sep 27 2018 domainname -> hostname -rwxr-xr-x 1 root root 22364 Mar 1 2019 echo -rwxr-xr-x 1 root root 28 Jan 8 2019 egrep -rwxr-xr-x 1 root root 18260 Mar 1 2019 false -rwxr-xr-x 1 root root 28 Jan 8 2019 fgrep -rwxr-xr-x 1 root root 47356 Jan 10 2019 findmnt -rwsr-xr-x 1 root root 21980 Apr 23 2020 fusermount -rwxr-xr-x 1 root root 124508 Jan 8 2019 grep -rwxr-xr-x 2 root root 2345 Jan 6 2019 gunzip -rwxr-xr-x 1 root root 6375 Jan 6 2019 gzexe -rwxr-xr-x 1 root root 64232 Jan 6 2019 gzip -rwxr-xr-x 1 root root 13784 Sep 27 2018 hostname -rwxr-xr-x 1 root root 43044 Mar 1 2019 ln -rwxr-xr-x 1 root root 34932 Jul 27 2018 login -rwxr-xr-x 1 root root 88444 Mar 1 2019 ls -rwxr-xr-x 1 root root 67036 Jan 10 2019 lsblk -rwxr-xr-x 1 root root 47168 Mar 1 2019 mkdir -rwxr-xr-x 1 root root 43040 Mar 1 2019 mknod -rwxr-xr-x 1 root root 26552 Mar 1 2019 mktemp -rwxr-xr-x 1 root root 26024 Jan 10 2019 more -rwsr-xr-x 1 root root 34268 Jan 10 2019 mount -rwxr-xr-x 1 root root 9688 Jan 10 2019 mountpoint -rwxr-xr-x 1 root root 84284 Mar 1 2019 mv lrwxrwxrwx 1 root root 8 Sep 27 2018 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Feb 15 2019 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 22416 Mar 1 2019 pwd lrwxrwxrwx 1 root root 4 Apr 18 2019 rbash -> bash -rwxr-xr-x 1 root root 26504 Mar 1 2019 readlink -rwxr-xr-x 1 root root 42968 Mar 1 2019 rm -rwxr-xr-x 1 root root 26496 Mar 1 2019 rmdir -rwxr-xr-x 1 root root 14136 Jan 22 2019 run-parts -rwxr-xr-x 1 root root 76012 Dec 23 2018 sed lrwxrwxrwx 1 root root 4 Feb 18 06:39 sh -> bash lrwxrwxrwx 1 root root 4 Feb 7 22:29 sh.distrib -> dash -rwxr-xr-x 1 root root 22384 Mar 1 2019 sleep -rwxr-xr-x 1 root root 51124 Mar 1 2019 stty -rwsr-xr-x 1 root root 42472 Jan 10 2019 su -rwxr-xr-x 1 root root 22392 Mar 1 2019 sync -rwxr-xr-x 1 root root 283324 Apr 24 2019 tar -rwxr-xr-x 1 root root 9808 Jan 22 2019 tempfile -rwxr-xr-x 1 root root 63464 Mar 1 2019 touch -rwxr-xr-x 1 root root 18260 Mar 1 2019 true -rwxr-xr-x 1 root root 9636 Apr 23 2020 ulockmgr_server -rwsr-xr-x 1 root root 21976 Jan 10 2019 umount -rwxr-xr-x 1 root root 22380 Mar 1 2019 uname -rwxr-xr-x 2 root root 2345 Jan 6 2019 uncompress -rwxr-xr-x 1 root root 88444 Mar 1 2019 vdir -rwxr-xr-x 1 root root 21980 Jan 10 2019 wdctl -rwxr-xr-x 1 root root 946 Jan 22 2019 which lrwxrwxrwx 1 root root 8 Sep 27 2018 ypdomainname -> hostname -rwxr-xr-x 1 root root 1983 Jan 6 2019 zcat -rwxr-xr-x 1 root root 1677 Jan 6 2019 zcmp -rwxr-xr-x 1 root root 5879 Jan 6 2019 zdiff -rwxr-xr-x 1 root root 29 Jan 6 2019 zegrep -rwxr-xr-x 1 root root 29 Jan 6 2019 zfgrep -rwxr-xr-x 1 root root 2080 Jan 6 2019 zforce -rwxr-xr-x 1 root root 7584 Jan 6 2019 zgrep -rwxr-xr-x 1 root root 2205 Jan 6 2019 zless -rwxr-xr-x 1 root root 1841 Jan 6 2019 zmore -rwxr-xr-x 1 root root 4552 Jan 6 2019 znew I: user script /srv/workspace/pbuilder/18344/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: armhf Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper (>= 10), dh-python, openstack-pkg-tools (>= 74~), po-debconf, python3-all, python3-pbr (>= 3.1.1), python3-setuptools, python3-sphinx (>= 1.6.2), python3-apscheduler (>= 3.5.1), python3-ceilometerclient (>= 2.9.0), python3-cinderclient (>= 1:3.5.0), python3-coverage (>= 4.5.1), python3-croniter (>= 0.3.20), python3-freezegun (>= 0.3.10), python3-futurist (>= 1.6.0), python3-glanceclient (>= 1:2.9.1), python3-gnocchiclient (>= 7.0.1), python3-hacking, python3-ironicclient (>= 2.3.0), python3-jsonpatch (>= 1.21), python3-jsonschema (>= 2.6.0), python3-keystoneauth1 (>= 3.4.0), python3-keystoneclient (>= 1:3.15.0), python3-keystonemiddleware (>= 4.21.0), python3-lxml (>= 4.1.1), python3-mock, python3-monascaclient (>= 1.12.0), python3-networkx (>= 1.11), python3-neutronclient (>= 1:6.7.0), python3-novaclient (>= 2:10.1.0), python3-openstackclient (>= 3.14.0), python3-openstackdocstheme (>= 1.20.0), python3-os-api-ref (>= 1.4.0), python3-os-testr (>= 1.0.0), python3-oslo.cache (>= 1.29.0), python3-oslo.concurrency (>= 3.26.0), python3-oslo.config (>= 1:5.2.0), python3-oslo.context (>= 2.20.0), python3-oslo.db (>= 4.35.0), python3-oslo.i18n (>= 3.20.0), python3-oslo.log (>= 3.37.0), python3-oslo.messaging (>= 5.36.0), python3-oslo.policy (>= 1.34.0), python3-oslo.reports (>= 1.27.0), python3-oslo.serialization (>= 2.25.0), python3-oslo.service (>= 1.30.0), python3-oslo.utils (>= 3.36.0), python3-oslo.versionedobjects (>= 1.32.0), python3-oslotest (>= 1:3.3.0), python3-pastedeploy, python3-pecan (>= 1.3.2), python3-prettytable, python3-six (>= 1.11.0), python3-sphinxcontrib-pecanwsme, python3-sqlalchemy (>= 1.2.5), python3-stestr (>= 2.0.0), python3-stevedore (>= 1.28.0), python3-taskflow (>= 3.1.0), python3-testscenarios (>= 0.5.0), python3-testtools (>= 2.3.0), python3-webob (>= 1.8.2), python3-wsme (>= 0.9.2) dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 18932 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper (>= 10); however: Package debhelper is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools (>= 74~); however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on po-debconf; however: Package po-debconf is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-pbr (>= 3.1.1); however: Package python3-pbr is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinx (>= 1.6.2); however: Package python3-sphinx is not installed. pbuilder-satisfydepends-dummy depends on python3-apscheduler (>= 3.5.1); however: Package python3-apscheduler is not installed. pbuilder-satisfydepends-dummy depends on python3-ceilometerclient (>= 2.9.0); however: Package python3-ceilometerclient is not installed. pbuilder-satisfydepends-dummy depends on python3-cinderclient (>= 1:3.5.0); however: Package python3-cinderclient is not installed. pbuilder-satisfydepends-dummy depends on python3-coverage (>= 4.5.1); however: Package python3-coverage is not installed. pbuilder-satisfydepends-dummy depends on python3-croniter (>= 0.3.20); however: Package python3-croniter is not installed. pbuilder-satisfydepends-dummy depends on python3-freezegun (>= 0.3.10); however: Package python3-freezegun is not installed. pbuilder-satisfydepends-dummy depends on python3-futurist (>= 1.6.0); however: Package python3-futurist is not installed. pbuilder-satisfydepends-dummy depends on python3-glanceclient (>= 1:2.9.1); however: Package python3-glanceclient is not installed. pbuilder-satisfydepends-dummy depends on python3-gnocchiclient (>= 7.0.1); however: Package python3-gnocchiclient is not installed. pbuilder-satisfydepends-dummy depends on python3-hacking; however: Package python3-hacking is not installed. pbuilder-satisfydepends-dummy depends on python3-ironicclient (>= 2.3.0); however: Package python3-ironicclient is not installed. pbuilder-satisfydepends-dummy depends on python3-jsonpatch (>= 1.21); however: Package python3-jsonpatch is not installed. pbuilder-satisfydepends-dummy depends on python3-jsonschema (>= 2.6.0); however: Package python3-jsonschema is not installed. pbuilder-satisfydepends-dummy depends on python3-keystoneauth1 (>= 3.4.0); however: Package python3-keystoneauth1 is not installed. pbuilder-satisfydepends-dummy depends on python3-keystoneclient (>= 1:3.15.0); however: Package python3-keystoneclient is not installed. pbuilder-satisfydepends-dummy depends on python3-keystonemiddleware (>= 4.21.0); however: Package python3-keystonemiddleware is not installed. pbuilder-satisfydepends-dummy depends on python3-lxml (>= 4.1.1); however: Package python3-lxml is not installed. pbuilder-satisfydepends-dummy depends on python3-mock; however: Package python3-mock is not installed. pbuilder-satisfydepends-dummy depends on python3-monascaclient (>= 1.12.0); however: Package python3-monascaclient is not installed. pbuilder-satisfydepends-dummy depends on python3-networkx (>= 1.11); however: Package python3-networkx is not installed. pbuilder-satisfydepends-dummy depends on python3-neutronclient (>= 1:6.7.0); however: Package python3-neutronclient is not installed. pbuilder-satisfydepends-dummy depends on python3-novaclient (>= 2:10.1.0); however: Package python3-novaclient is not installed. pbuilder-satisfydepends-dummy depends on python3-openstackclient (>= 3.14.0); however: Package python3-openstackclient is not installed. pbuilder-satisfydepends-dummy depends on python3-openstackdocstheme (>= 1.20.0); however: Package python3-openstackdocstheme is not installed. pbuilder-satisfydepends-dummy depends on python3-os-api-ref (>= 1.4.0); however: Package python3-os-api-ref is not installed. pbuilder-satisfydepends-dummy depends on python3-os-testr (>= 1.0.0); however: Package python3-os-testr is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.cache (>= 1.29.0); however: Package python3-oslo.cache is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.concurrency (>= 3.26.0); however: Package python3-oslo.concurrency is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.config (>= 1:5.2.0); however: Package python3-oslo.config is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.context (>= 2.20.0); however: Package python3-oslo.context is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.db (>= 4.35.0); however: Package python3-oslo.db is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.i18n (>= 3.20.0); however: Package python3-oslo.i18n is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.log (>= 3.37.0); however: Package python3-oslo.log is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.messaging (>= 5.36.0); however: Package python3-oslo.messaging is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.policy (>= 1.34.0); however: Package python3-oslo.policy is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.reports (>= 1.27.0); however: Package python3-oslo.reports is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.serialization (>= 2.25.0); however: Package python3-oslo.serialization is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.service (>= 1.30.0); however: Package python3-oslo.service is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.utils (>= 3.36.0); however: Package python3-oslo.utils is not installed. pbuilder-satisfydepends-dummy depends on python3-oslo.versionedobjects (>= 1.32.0); however: Package python3-oslo.versionedobjects is not installed. pbuilder-satisfydepends-dummy depends on python3-oslotest (>= 1:3.3.0); however: Package python3-oslotest is not installed. pbuilder-satisfydepends-dummy depends on python3-pastedeploy; however: Package python3-pastedeploy is not installed. pbuilder-satisfydepends-dummy depends on python3-pecan (>= 1.3.2); however: Package python3-pecan is not installed. pbuilder-satisfydepends-dummy depends on python3-prettytable; however: Package python3-prettytable is not installed. pbuilder-satisfydepends-dummy depends on python3-six (>= 1.11.0); however: Package python3-six is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinxcontrib-pecanwsme; however: Package python3-sphinxcontrib-pecanwsme is not installed. pbuilder-satisfydepends-dummy depends on python3-sqlalchemy (>= 1.2.5); however: Package python3-sqlalchemy is not installed. pbuilder-satisfydepends-dummy depends on python3-stestr (>= 2.0.0); however: Package python3-stestr is not installed. pbuilder-satisfydepends-dummy depends on python3-stevedore (>= 1.28.0); however: Package python3-stevedore is not installed. pbuilder-satisfydepends-dummy depends on python3-taskflow (>= 3.1.0); however: Package python3-taskflow is not installed. pbuilder-satisfydepends-dummy depends on python3-testscenarios (>= 0.5.0); however: Package python3-testscenarios is not installed. pbuilder-satisfydepends-dummy depends on python3-testtools (>= 2.3.0); however: Package python3-testtools is not installed. pbuilder-satisfydepends-dummy depends on python3-webob (>= 1.8.2); however: Package python3-webob is not installed. pbuilder-satisfydepends-dummy depends on python3-wsme (>= 0.9.2); however: Package python3-wsme is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: alembic{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdmainutils{a} ca-certificates{a} dbus{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} docutils-common{a} dwz{a} file{a} flake8{a} fonts-glyphicons-halflings{a} gettext{a} gettext-base{a} groff-base{a} ieee-data{a} intltool-debian{a} jq{a} libapparmor1{a} libarchive-zip-perl{a} libbsd0{a} libcroco3{a} libdbus-1-3{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libglib2.0-0{a} libgssapi-krb5-2{a} libice6{a} libicu63{a} libjq1{a} libjs-bootstrap{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap-2.4-2{a} libldap-common{a} libmagic-mgc{a} libmagic1{a} libmpdec2{a} libncurses6{a} libnorm1{a} libonig5{a} libpcre2-8-0{a} libpgm-5.2-0{a} libpipeline1{a} libpq5{a} libprocps7{a} libpsl5{a} libpython-stdlib{a} libpython2-stdlib{a} libpython2.7-minimal{a} libpython2.7-stdlib{a} libpython3-stdlib{a} libpython3.7-minimal{a} libpython3.7-stdlib{a} libreadline7{a} libsasl2-2{a} libsasl2-modules-db{a} libsigsegv2{a} libsm6{a} libsodium23{a} libssl1.1{a} libsubunit-perl{a} libtool{a} libuchardet0{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxml2{a} libxmu6{a} libxslt1.1{a} libxt6{a} libyaml-0-2{a} libzmq5{a} lsb-base{a} m4{a} man-db{a} mime-support{a} netbase{a} openssl{a} openstack-pkg-tools{a} po-debconf{a} procps{a} pycadf-common{a} pyflakes3{a} python{a} python-babel-localedata{a} python-extras{a} python-fixtures{a} python-linecache2{a} python-mimeparse{a} python-minimal{a} python-netaddr{a} python-os-api-ref-common{a} python-pastedeploy-tpl{a} python-pbr{a} python-pkg-resources{a} python-setuptools{a} python-six{a} python-subunit{a} python-testtools{a} python-traceback2{a} python-unittest2{a} python2{a} python2-minimal{a} python2.7{a} python2.7-minimal{a} python3{a} python3-alabaster{a} python3-alembic{a} python3-all{a} python3-amqp{a} python3-anyjson{a} python3-appdirs{a} python3-apscheduler{a} python3-asn1crypto{a} python3-automaton{a} python3-babel{a} python3-blinker{a} python3-bs4{a} python3-cachetools{a} python3-ceilometerclient{a} python3-certifi{a} python3-cffi-backend{a} python3-chardet{a} python3-cinderclient{a} python3-cliff{a} python3-cmd2{a} python3-contextlib2{a} python3-coverage{a} python3-croniter{a} python3-crypto{a} python3-cryptography{a} python3-dateutil{a} python3-dbus{a} python3-debtcollector{a} python3-decorator{a} python3-deprecation{a} python3-distutils{a} python3-docutils{a} python3-dogpile.cache{a} python3-dulwich{a} python3-editor{a} python3-entrypoints{a} python3-eventlet{a} python3-extras{a} python3-fasteners{a} python3-fixtures{a} python3-flake8{a} python3-freezegun{a} python3-funcsigs{a} python3-future{a} python3-futurist{a} python3-glanceclient{a} python3-gnocchiclient{a} python3-greenlet{a} python3-hacking{a} python3-idna{a} python3-imagesize{a} python3-ironicclient{a} python3-iso8601{a} python3-jinja2{a} python3-jmespath{a} python3-json-pointer{a} python3-jsonpatch{a} python3-jsonschema{a} python3-jwt{a} python3-kafka{a} python3-kazoo{a} python3-keyring{a} python3-keystoneauth1{a} python3-keystoneclient{a} python3-keystonemiddleware{a} python3-kombu{a} python3-lib2to3{a} python3-linecache2{a} python3-logutils{a} python3-lxml{a} python3-mako{a} python3-markupsafe{a} python3-mccabe{a} python3-memcache{a} python3-migrate{a} python3-mimeparse{a} python3-minimal{a} python3-mock{a} python3-monascaclient{a} python3-monotonic{a} python3-mox3{a} python3-msgpack{a} python3-munch{a} python3-netaddr{a} python3-netifaces{a} python3-networkx{a} python3-neutronclient{a} python3-novaclient{a} python3-oauthlib{a} python3-openssl{a} python3-openstackclient{a} python3-openstackdocstheme{a} python3-openstacksdk{a} python3-os-api-ref{a} python3-os-client-config{a} python3-os-service-types{a} python3-os-testr{a} python3-osc-lib{a} python3-oslo.cache{a} python3-oslo.concurrency{a} python3-oslo.config{a} python3-oslo.context{a} python3-oslo.db{a} python3-oslo.i18n{a} python3-oslo.log{a} python3-oslo.messaging{a} python3-oslo.middleware{a} python3-oslo.policy{a} python3-oslo.reports{a} python3-oslo.serialization{a} python3-oslo.service{a} python3-oslo.utils{a} python3-oslo.versionedobjects{a} python3-oslotest{a} python3-packaging{a} python3-paste{a} python3-pastedeploy{a} python3-pbr{a} python3-pecan{a} python3-pep8{a} python3-pkg-resources{a} python3-prettytable{a} python3-psutil{a} python3-psycopg2{a} python3-pycadf{a} python3-pycodestyle{a} python3-pyflakes{a} python3-pygments{a} python3-pyinotify{a} python3-pymysql{a} python3-pyparsing{a} python3-pyperclip{a} python3-repoze.lru{a} python3-requests{a} python3-requestsexceptions{a} python3-rfc3986{a} python3-roman{a} python3-routes{a} python3-secretstorage{a} python3-setuptools{a} python3-simplegeneric{a} python3-simplejson{a} python3-singledispatch{a} python3-six{a} python3-soupsieve{a} python3-sphinx{a} python3-sphinxcontrib-pecanwsme{a} python3-sphinxcontrib.httpdomain{a} python3-sqlalchemy{a} python3-sqlparse{a} python3-statsd{a} python3-stestr{a} python3-stevedore{a} python3-subunit{a} python3-taskflow{a} python3-tempita{a} python3-tenacity{a} python3-testresources{a} python3-testscenarios{a} python3-testtools{a} python3-traceback2{a} python3-tz{a} python3-tzlocal{a} python3-ujson{a} python3-unicodecsv{a} python3-unittest2{a} python3-urllib3{a} python3-vine{a} python3-voluptuous{a} python3-waitress{a} python3-warlock{a} python3-wcwidth{a} python3-webob{a} python3-webtest{a} python3-wrapt{a} python3-wsme{a} python3-yaml{a} python3-zmq{a} python3.7{a} python3.7-minimal{a} readline-common{a} sensible-utils{a} sgml-base{a} sphinx-common{a} subunit{a} wget{a} x11-common{a} xclip{a} xml-core{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest javascript-common krb5-locales libarchive-cpio-perl libglib2.0-data libgpm2 libjs-jquery-isonscreen libjs-jquery-tablesorter libjs-jquery-throttle-debounce libltdl-dev libmail-sendmail-perl libpaper-utils libsasl2-modules madison-lite pristine-tar psmisc publicsuffix pyflakes python-junitxml python3-fastimport python3-gdal python3-gi python3-html5lib python3-numpy python3-pastescript python3-pil python3-scipy python3-sqlalchemy-ext shared-mime-info xauth xdg-user-dirs 0 packages upgraded, 310 newly installed, 0 to remove and 0 not upgraded. Need to get 60.7 MB of archives. After unpacking 257 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian buster/main armhf libbsd0 armhf 0.9.1-2 [103 kB] Get: 2 http://deb.debian.org/debian buster/main armhf bsdmainutils armhf 11.1.2+b1 [186 kB] Get: 3 http://deb.debian.org/debian buster/main armhf libuchardet0 armhf 0.0.6-3 [62.2 kB] Get: 4 http://deb.debian.org/debian buster/main armhf groff-base armhf 1.22.4-3 [828 kB] Get: 5 http://deb.debian.org/debian buster/main armhf libpipeline1 armhf 1.5.1-2 [26.8 kB] Get: 6 http://deb.debian.org/debian buster/main armhf man-db armhf 2.8.5-2 [1240 kB] Get: 7 http://deb.debian.org/debian buster/main armhf libpython2.7-minimal armhf 2.7.16-2+deb10u1 [395 kB] Get: 8 http://deb.debian.org/debian buster/main armhf python2.7-minimal armhf 2.7.16-2+deb10u1 [1171 kB] Get: 9 http://deb.debian.org/debian buster/main armhf python2-minimal armhf 2.7.16-1 [41.4 kB] Get: 10 http://deb.debian.org/debian buster/main armhf python-minimal armhf 2.7.16-1 [21.0 kB] Get: 11 http://deb.debian.org/debian buster/main armhf libssl1.1 armhf 1.1.1d-0+deb10u4 [1299 kB] Get: 12 http://deb.debian.org/debian buster/main armhf mime-support all 3.62 [37.2 kB] Get: 13 http://deb.debian.org/debian buster/main armhf libexpat1 armhf 2.2.6-2+deb10u1 [78.0 kB] Get: 14 http://deb.debian.org/debian buster/main armhf readline-common all 7.0-5 [70.6 kB] Get: 15 http://deb.debian.org/debian buster/main armhf libreadline7 armhf 7.0-5 [131 kB] Get: 16 http://deb.debian.org/debian buster/main armhf libpython2.7-stdlib armhf 2.7.16-2+deb10u1 [1837 kB] Get: 17 http://deb.debian.org/debian buster/main armhf python2.7 armhf 2.7.16-2+deb10u1 [305 kB] Get: 18 http://deb.debian.org/debian buster/main armhf libpython2-stdlib armhf 2.7.16-1 [20.8 kB] Get: 19 http://deb.debian.org/debian buster/main armhf libpython-stdlib armhf 2.7.16-1 [20.8 kB] Get: 20 http://deb.debian.org/debian buster/main armhf python2 armhf 2.7.16-1 [41.6 kB] Get: 21 http://deb.debian.org/debian buster/main armhf python armhf 2.7.16-1 [22.8 kB] Get: 22 http://deb.debian.org/debian buster/main armhf libpython3.7-minimal armhf 3.7.3-2+deb10u2 [582 kB] Get: 23 http://deb.debian.org/debian buster/main armhf python3.7-minimal armhf 3.7.3-2+deb10u2 [1466 kB] Get: 24 http://deb.debian.org/debian buster/main armhf python3-minimal armhf 3.7.3-1 [36.6 kB] Get: 25 http://deb.debian.org/debian buster/main armhf libmpdec2 armhf 2.4.2-2 [69.3 kB] Get: 26 http://deb.debian.org/debian buster/main armhf libpython3.7-stdlib armhf 3.7.3-2+deb10u2 [1660 kB] Get: 27 http://deb.debian.org/debian buster/main armhf python3.7 armhf 3.7.3-2+deb10u2 [330 kB] Get: 28 http://deb.debian.org/debian buster/main armhf libpython3-stdlib armhf 3.7.3-1 [20.0 kB] Get: 29 http://deb.debian.org/debian buster/main armhf python3 armhf 3.7.3-1 [61.5 kB] Get: 30 http://deb.debian.org/debian buster/main armhf python3-pyparsing all 2.2.0+dfsg1-2 [89.6 kB] Get: 31 http://deb.debian.org/debian buster/main armhf libxau6 armhf 1:1.0.8-1+b2 [19.1 kB] Get: 32 http://deb.debian.org/debian buster/main armhf libxdmcp6 armhf 1:1.1.2-3 [24.9 kB] Get: 33 http://deb.debian.org/debian buster/main armhf libxcb1 armhf 1.13.1-2 [132 kB] Get: 34 http://deb.debian.org/debian buster/main armhf libx11-data all 2:1.6.7-1+deb10u1 [294 kB] Get: 35 http://deb.debian.org/debian buster/main armhf libx11-6 armhf 2:1.6.7-1+deb10u1 [698 kB] Get: 36 http://deb.debian.org/debian buster/main armhf libxext6 armhf 2:1.3.3-1+b2 [48.1 kB] Get: 37 http://deb.debian.org/debian buster/main armhf lsb-base all 10.2019051400 [28.4 kB] Get: 38 http://deb.debian.org/debian buster/main armhf x11-common all 1:7.7+19 [251 kB] Get: 39 http://deb.debian.org/debian buster/main armhf libice6 armhf 2:1.0.9-2 [51.7 kB] Get: 40 http://deb.debian.org/debian buster/main armhf libsm6 armhf 2:1.2.3-1 [33.0 kB] Get: 41 http://deb.debian.org/debian buster/main armhf libxt6 armhf 1:1.1.5-1+b3 [159 kB] Get: 42 http://deb.debian.org/debian buster/main armhf libxmu6 armhf 2:1.1.2-2+b3 [52.7 kB] Get: 43 http://deb.debian.org/debian buster/main armhf xclip armhf 0.13-1 [22.3 kB] Get: 44 http://deb.debian.org/debian buster/main armhf python3-pyperclip all 1.6.4-1 [9936 B] Get: 45 http://deb.debian.org/debian buster/main armhf python3-six all 1.12.0-1 [15.7 kB] Get: 46 http://deb.debian.org/debian buster/main armhf python3-wcwidth all 0.1.7+dfsg1-3 [15.0 kB] Get: 47 http://deb.debian.org/debian buster/main armhf python3-cmd2 all 0.8.5-2 [56.7 kB] Get: 48 http://deb.debian.org/debian buster/main armhf sgml-base all 1.29 [14.8 kB] Get: 49 http://deb.debian.org/debian buster/main armhf netbase all 5.6 [19.4 kB] Get: 50 http://deb.debian.org/debian buster/main armhf libncurses6 armhf 6.1+20181013-2+deb10u2 [79.8 kB] Get: 51 http://deb.debian.org/debian buster/main armhf libprocps7 armhf 2:3.3.15-2 [58.7 kB] Get: 52 http://deb.debian.org/debian buster/main armhf procps armhf 2:3.3.15-2 [248 kB] Get: 53 http://deb.debian.org/debian buster/main armhf sensible-utils all 0.0.12 [15.8 kB] Get: 54 http://deb.debian.org/debian buster/main armhf libapparmor1 armhf 2.13.2-10 [89.6 kB] Get: 55 http://deb.debian.org/debian buster/main armhf libdbus-1-3 armhf 1.12.20-0+deb10u1 [191 kB] Get: 56 http://deb.debian.org/debian buster/main armhf dbus armhf 1.12.20-0+deb10u1 [218 kB] Get: 57 http://deb.debian.org/debian buster/main armhf libmagic-mgc armhf 1:5.35-4+deb10u2 [242 kB] Get: 58 http://deb.debian.org/debian buster/main armhf libmagic1 armhf 1:5.35-4+deb10u2 [110 kB] Get: 59 http://deb.debian.org/debian buster/main armhf file armhf 1:5.35-4+deb10u2 [65.6 kB] Get: 60 http://deb.debian.org/debian buster/main armhf gettext-base armhf 0.19.8.1-9 [118 kB] Get: 61 http://deb.debian.org/debian buster/main armhf libpcre2-8-0 armhf 10.32-5 [190 kB] Get: 62 http://deb.debian.org/debian buster/main armhf libpsl5 armhf 0.20.2-2 [52.4 kB] Get: 63 http://deb.debian.org/debian buster/main armhf wget armhf 1.20.1-1.1 [881 kB] Get: 64 http://deb.debian.org/debian buster/main armhf python3-pkg-resources all 40.8.0-1 [153 kB] Get: 65 http://deb.debian.org/debian buster/main armhf python3-dateutil all 2.7.3-3 [64.5 kB] Get: 66 http://deb.debian.org/debian buster/main armhf python3-lib2to3 all 3.7.3-1 [76.7 kB] Get: 67 http://deb.debian.org/debian buster/main armhf python3-distutils all 3.7.3-1 [142 kB] Get: 68 http://deb.debian.org/debian buster/main armhf python3-editor all 1.0.3-1 [4928 B] Get: 69 http://deb.debian.org/debian buster/main armhf python3-markupsafe armhf 1.1.0-1 [14.2 kB] Get: 70 http://deb.debian.org/debian buster/main armhf python3-mako all 1.0.7+ds1-1 [61.5 kB] Get: 71 http://deb.debian.org/debian buster/main armhf python3-sqlalchemy all 1.2.18+ds1-2 [727 kB] Get: 72 http://deb.debian.org/debian buster/main armhf python3-alembic all 1.0.0-3 [110 kB] Get: 73 http://deb.debian.org/debian buster/main armhf libjs-jquery all 3.3.1~dfsg-3 [332 kB] Get: 74 http://deb.debian.org/debian buster/main armhf libjs-underscore all 1.9.1~dfsg-1 [99.4 kB] Get: 75 http://deb.debian.org/debian buster/main armhf libjs-sphinxdoc all 1.8.4-1 [95.9 kB] Get: 76 http://deb.debian.org/debian buster/main armhf alembic all 1.0.0-3 [370 kB] Get: 77 http://deb.debian.org/debian buster/main armhf libsigsegv2 armhf 2.12-2 [32.1 kB] Get: 78 http://deb.debian.org/debian buster/main armhf m4 armhf 1.4.18-2 [190 kB] Get: 79 http://deb.debian.org/debian buster/main armhf autoconf all 2.69-11 [341 kB] Get: 80 http://deb.debian.org/debian buster/main armhf autotools-dev all 20180224.1 [77.0 kB] Get: 81 http://deb.debian.org/debian buster/main armhf automake all 1:1.16.1-4 [771 kB] Get: 82 http://deb.debian.org/debian buster/main armhf autopoint all 0.19.8.1-9 [434 kB] Get: 83 http://deb.debian.org/debian buster/main armhf openssl armhf 1.1.1d-0+deb10u4 [817 kB] Get: 84 http://deb.debian.org/debian buster/main armhf ca-certificates all 20200601~deb10u2 [166 kB] Get: 85 http://deb.debian.org/debian buster/main armhf libtool all 2.4.6-9 [547 kB] Get: 86 http://deb.debian.org/debian buster/main armhf dh-autoreconf all 19 [16.9 kB] Get: 87 http://deb.debian.org/debian buster/main armhf libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 88 http://deb.debian.org/debian buster/main armhf libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 89 http://deb.debian.org/debian buster/main armhf dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 90 http://deb.debian.org/debian buster/main armhf libelf1 armhf 0.176-1.1 [158 kB] Get: 91 http://deb.debian.org/debian buster/main armhf dwz armhf 0.12-3 [72.0 kB] Get: 92 http://deb.debian.org/debian buster/main armhf libglib2.0-0 armhf 2.58.3-2+deb10u2 [1101 kB] Get: 93 http://deb.debian.org/debian buster/main armhf libicu63 armhf 63.1-6+deb10u1 [8005 kB] Get: 94 http://deb.debian.org/debian buster/main armhf libxml2 armhf 2.9.4+dfsg1-7+deb10u1 [597 kB] Get: 95 http://deb.debian.org/debian buster/main armhf libcroco3 armhf 0.6.12-3 [133 kB] Get: 96 http://deb.debian.org/debian buster/main armhf gettext armhf 0.19.8.1-9 [1242 kB] Get: 97 http://deb.debian.org/debian buster/main armhf intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 98 http://deb.debian.org/debian buster/main armhf po-debconf all 1.0.21 [248 kB] Get: 99 http://deb.debian.org/debian buster/main armhf debhelper all 12.1.1 [1016 kB] Get: 100 http://deb.debian.org/debian buster/main armhf dh-python all 3.20190308 [99.3 kB] Get: 101 http://deb.debian.org/debian buster/main armhf xml-core all 0.18+nmu1 [23.8 kB] Get: 102 http://deb.debian.org/debian buster/main armhf docutils-common all 0.14+dfsg-4 [167 kB] Get: 103 http://deb.debian.org/debian buster/main armhf python3-mccabe all 0.6.1-2 [9358 B] Get: 104 http://deb.debian.org/debian buster/main armhf python3-pyflakes all 2.0.0-1 [49.0 kB] Get: 105 http://deb.debian.org/debian buster/main armhf python3-setuptools all 40.8.0-1 [306 kB] Get: 106 http://deb.debian.org/debian buster/main armhf python3-pycodestyle all 2.4.0-2 [44.2 kB] Get: 107 http://deb.debian.org/debian buster/main armhf python3-flake8 all 3.6.0-1 [62.6 kB] Get: 108 http://deb.debian.org/debian buster/main armhf flake8 all 3.6.0-1 [18.2 kB] Get: 109 http://deb.debian.org/debian buster/main armhf fonts-glyphicons-halflings all 1.009~3.4.1+dfsg-1 [164 kB] Get: 110 http://deb.debian.org/debian buster/main armhf ieee-data all 20180805.1 [1590 kB] Get: 111 http://deb.debian.org/debian buster/main armhf libonig5 armhf 6.9.1-1 [153 kB] Get: 112 http://deb.debian.org/debian buster/main armhf libjq1 armhf 1.5+dfsg-2+b1 [122 kB] Get: 113 http://deb.debian.org/debian buster/main armhf jq armhf 1.5+dfsg-2+b1 [59.6 kB] Get: 114 http://deb.debian.org/debian buster/main armhf libkeyutils1 armhf 1.6-6 [13.9 kB] Get: 115 http://deb.debian.org/debian buster/main armhf libkrb5support0 armhf 1.17-3+deb10u1 [62.3 kB] Get: 116 http://deb.debian.org/debian buster/main armhf libk5crypto3 armhf 1.17-3+deb10u1 [119 kB] Get: 117 http://deb.debian.org/debian buster/main armhf libkrb5-3 armhf 1.17-3+deb10u1 [323 kB] Get: 118 http://deb.debian.org/debian buster/main armhf libgssapi-krb5-2 armhf 1.17-3+deb10u1 [137 kB] Get: 119 http://deb.debian.org/debian buster/main armhf libjs-bootstrap all 3.4.1+dfsg-1 [173 kB] Get: 120 http://deb.debian.org/debian buster/main armhf libsasl2-modules-db armhf 2.1.27+dfsg-1+deb10u1 [67.4 kB] Get: 121 http://deb.debian.org/debian buster/main armhf libsasl2-2 armhf 2.1.27+dfsg-1+deb10u1 [98.9 kB] Get: 122 http://deb.debian.org/debian buster/main armhf libldap-common all 2.4.47+dfsg-3+deb10u4 [89.8 kB] Get: 123 http://deb.debian.org/debian buster/main armhf libldap-2.4-2 armhf 2.4.47+dfsg-3+deb10u4 [202 kB] Get: 124 http://deb.debian.org/debian buster/main armhf libnorm1 armhf 1.5.8+dfsg2-1 [243 kB] Get: 125 http://deb.debian.org/debian buster/main armhf libpgm-5.2-0 armhf 5.2.122~dfsg-3 [155 kB] Get: 126 http://deb.debian.org/debian buster/main armhf libpq5 armhf 11.10-0+deb10u1 [153 kB] Get: 127 http://deb.debian.org/debian buster/main armhf libsodium23 armhf 1.0.17-1 [144 kB] Get: 128 http://deb.debian.org/debian buster/main armhf libsubunit-perl all 1.3.0-1 [8748 B] Get: 129 http://deb.debian.org/debian buster/main armhf libxslt1.1 armhf 1.1.32-2.2~deb10u1 [217 kB] Get: 130 http://deb.debian.org/debian buster/main armhf libyaml-0-2 armhf 0.2.1-1 [40.6 kB] Get: 131 http://deb.debian.org/debian buster/main armhf libzmq5 armhf 4.3.1-4+deb10u2 [209 kB] Get: 132 http://deb.debian.org/debian buster/main armhf openstack-pkg-tools all 91 [97.9 kB] Get: 133 http://deb.debian.org/debian buster/main armhf pycadf-common all 2.7.0-2 [5332 B] Get: 134 http://deb.debian.org/debian buster/main armhf pyflakes3 all 2.0.0-1 [11.0 kB] Get: 135 http://deb.debian.org/debian buster/main armhf python-babel-localedata all 2.6.0+dfsg.1-1 [4083 kB] Get: 136 http://deb.debian.org/debian buster/main armhf python-extras all 1.0.0-3 [7884 B] Get: 137 http://deb.debian.org/debian buster/main armhf python-pkg-resources all 40.8.0-1 [182 kB] Get: 138 http://deb.debian.org/debian buster/main armhf python-setuptools all 40.8.0-1 [382 kB] Get: 139 http://deb.debian.org/debian buster/main armhf python-six all 1.12.0-1 [15.7 kB] Get: 140 http://deb.debian.org/debian buster/main armhf python-pbr all 4.2.0-5 [56.5 kB] Get: 141 http://deb.debian.org/debian buster/main armhf python-linecache2 all 1.0.0-3 [12.3 kB] Get: 142 http://deb.debian.org/debian buster/main armhf python-mimeparse all 0.1.4-3.1 [6128 B] Get: 143 http://deb.debian.org/debian buster/main armhf python-traceback2 all 1.4.0-5 [16.3 kB] Get: 144 http://deb.debian.org/debian buster/main armhf python-unittest2 all 1.1.0-6.1 [75.7 kB] Get: 145 http://deb.debian.org/debian buster/main armhf python-testtools all 2.3.0-5 [125 kB] Get: 146 http://deb.debian.org/debian buster/main armhf python-fixtures all 3.0.0-2 [32.3 kB] Get: 147 http://deb.debian.org/debian buster/main armhf python-netaddr all 0.7.19-1 [229 kB] Get: 148 http://deb.debian.org/debian buster/main armhf python-os-api-ref-common all 1.5.0+dfsg1-4 [9828 B] Get: 149 http://deb.debian.org/debian buster/main armhf python-pastedeploy-tpl all 2.0.1-1 [8516 B] Get: 150 http://deb.debian.org/debian buster/main armhf python-subunit all 1.3.0-1 [64.5 kB] Get: 151 http://deb.debian.org/debian buster/main armhf python3-alabaster all 0.7.8-1 [18.4 kB] Get: 152 http://deb.debian.org/debian buster/main armhf python3-all armhf 3.7.3-1 [1068 B] Get: 153 http://deb.debian.org/debian buster/main armhf python3-vine all 1.1.4+dfsg-2 [15.7 kB] Get: 154 http://deb.debian.org/debian buster/main armhf python3-amqp all 2.4.0-2 [41.8 kB] Get: 155 http://deb.debian.org/debian buster/main armhf python3-anyjson all 0.3.3-1 [8290 B] Get: 156 http://deb.debian.org/debian buster/main armhf python3-appdirs all 1.4.3-1 [12.0 kB] Get: 157 http://deb.debian.org/debian buster/main armhf python3-tz all 2019.1-1 [27.1 kB] Get: 158 http://deb.debian.org/debian buster/main armhf python3-tzlocal all 1.5.1-1 [16.4 kB] Get: 159 http://deb.debian.org/debian buster/main armhf python3-apscheduler all 3.5.3-1 [37.5 kB] Get: 160 http://deb.debian.org/debian buster/main armhf python3-asn1crypto all 0.24.0-1 [78.2 kB] Get: 161 http://deb.debian.org/debian buster/main armhf python3-pbr all 4.2.0-5 [56.5 kB] Get: 162 http://deb.debian.org/debian buster/main armhf python3-wrapt armhf 1.10.11-1 [34.7 kB] Get: 163 http://deb.debian.org/debian buster/main armhf python3-debtcollector all 1.20.0-2 [13.6 kB] Get: 164 http://deb.debian.org/debian buster/main armhf python3-prettytable all 0.7.2-4 [22.8 kB] Get: 165 http://deb.debian.org/debian buster/main armhf python3-automaton all 1.15.0-1 [14.9 kB] Get: 166 http://deb.debian.org/debian buster/main armhf python3-babel all 2.6.0+dfsg.1-1 [96.7 kB] Get: 167 http://deb.debian.org/debian buster/main armhf python3-blinker all 1.4+dfsg1-0.2 [14.0 kB] Get: 168 http://deb.debian.org/debian buster/main armhf python3-soupsieve all 1.8+dfsg-1 [27.6 kB] Get: 169 http://deb.debian.org/debian buster/main armhf python3-bs4 all 4.7.1-1 [94.1 kB] Get: 170 http://deb.debian.org/debian buster/main armhf python3-cachetools all 3.1.0-2 [11.6 kB] Get: 171 http://deb.debian.org/debian buster/main armhf python3-iso8601 all 0.1.11-1 [9780 B] Get: 172 http://deb.debian.org/debian buster/main armhf python3-lxml armhf 4.3.2-1+deb10u2 [1084 kB] Get: 173 http://deb.debian.org/debian buster/main armhf python3-cffi-backend armhf 1.12.2-1 [70.2 kB] Get: 174 http://deb.debian.org/debian buster/main armhf python3-cryptography armhf 2.6.1-3+deb10u2 [189 kB] Get: 175 http://deb.debian.org/debian buster/main armhf python3-jwt all 1.7.0-2 [20.5 kB] Get: 176 http://deb.debian.org/debian buster/main armhf python3-oauthlib all 2.1.0-1 [75.9 kB] Get: 177 http://deb.debian.org/debian buster/main armhf python3-os-service-types all 1.3.0-2 [11.8 kB] Get: 178 http://deb.debian.org/debian buster/main armhf python3-certifi all 2018.8.24-1 [140 kB] Get: 179 http://deb.debian.org/debian buster/main armhf python3-chardet all 3.0.4-3 [80.5 kB] Get: 180 http://deb.debian.org/debian buster/main armhf python3-idna all 2.6-1 [34.3 kB] Get: 181 http://deb.debian.org/debian buster/main armhf python3-urllib3 all 1.24.1-1 [97.1 kB] Get: 182 http://deb.debian.org/debian buster/main armhf python3-requests all 2.21.0-1 [66.9 kB] Get: 183 http://deb.debian.org/debian buster/main armhf python3-stevedore all 1.29.0-2 [19.7 kB] Get: 184 http://deb.debian.org/debian buster/main armhf python3-keystoneauth1 all 3.10.0-2 [142 kB] Get: 185 http://deb.debian.org/debian buster/main armhf python3-oslo.i18n all 3.21.0-2 [19.9 kB] Get: 186 http://deb.debian.org/debian buster/main armhf python3-msgpack armhf 0.5.6-1+b1 [93.8 kB] Get: 187 http://deb.debian.org/debian buster/main armhf python3-funcsigs all 1.0.2-4 [13.8 kB] Get: 188 http://deb.debian.org/debian buster/main armhf python3-monotonic all 1.1-2 [5292 B] Get: 189 http://deb.debian.org/debian buster/main armhf python3-netaddr all 0.7.19-1 [228 kB] Get: 190 http://deb.debian.org/debian buster/main armhf python3-netifaces armhf 0.10.4-1+b1 [15.7 kB] Get: 191 http://deb.debian.org/debian buster/main armhf python3-oslo.utils all 3.36.5-0+deb10u1 [57.8 kB] Get: 192 http://deb.debian.org/debian buster/main armhf python3-oslo.serialization all 2.27.0-2 [15.7 kB] Get: 193 http://deb.debian.org/debian buster/main armhf python3-ceilometerclient all 2.9.0-2 [64.7 kB] Get: 194 http://deb.debian.org/debian buster/main armhf python3-simplejson armhf 3.16.0-1 [58.2 kB] Get: 195 http://deb.debian.org/debian buster/main armhf python3-cinderclient all 1:4.0.1-2 [139 kB] Get: 196 http://deb.debian.org/debian buster/main armhf python3-roman all 2.0.0-3 [8768 B] Get: 197 http://deb.debian.org/debian buster/main armhf python3-docutils all 0.14+dfsg-4 [378 kB] Get: 198 http://deb.debian.org/debian buster/main armhf python3-unicodecsv all 0.14.1-1 [11.4 kB] Get: 199 http://deb.debian.org/debian buster/main armhf python3-yaml armhf 3.13-2 [113 kB] Get: 200 http://deb.debian.org/debian buster/main armhf python3-cliff all 2.13.0-1 [41.6 kB] Get: 201 http://deb.debian.org/debian buster/main armhf python3-contextlib2 all 0.5.5-1 [12.4 kB] Get: 202 http://deb.debian.org/debian buster/main armhf python3-coverage armhf 4.5.2+dfsg.1-1 [143 kB] Get: 203 http://deb.debian.org/debian buster/main armhf python3-croniter all 0.3.24-2 [17.3 kB] Get: 204 http://deb.debian.org/debian buster/main armhf python3-crypto armhf 2.6.1-9+b1 [257 kB] Get: 205 http://deb.debian.org/debian buster/main armhf python3-dbus armhf 1.2.8-3 [96.3 kB] Get: 206 http://deb.debian.org/debian buster/main armhf python3-decorator all 4.3.0-1.1 [14.5 kB] Get: 207 http://deb.debian.org/debian buster/main armhf python3-packaging all 19.0-1 [20.5 kB] Get: 208 http://deb.debian.org/debian buster/main armhf python3-deprecation all 2.0.6-1 [13.5 kB] Get: 209 http://deb.debian.org/debian buster/main armhf python3-dogpile.cache all 0.6.2-6 [33.5 kB] Get: 210 http://deb.debian.org/debian buster/main armhf python3-dulwich armhf 0.19.11-2 [263 kB] Get: 211 http://deb.debian.org/debian buster/main armhf python3-entrypoints all 0.3-1 [5508 B] Get: 212 http://deb.debian.org/debian buster/main armhf python3-greenlet armhf 0.4.15-2 [15.1 kB] Get: 213 http://deb.debian.org/debian buster/main armhf python3-eventlet all 0.20.0-6 [235 kB] Get: 214 http://deb.debian.org/debian buster/main armhf python3-extras all 1.0.0-3 [7968 B] Get: 215 http://deb.debian.org/debian buster/main armhf python3-fasteners all 0.12.0-3 [14.5 kB] Get: 216 http://deb.debian.org/debian buster/main armhf python3-linecache2 all 1.0.0-3 [12.4 kB] Get: 217 http://deb.debian.org/debian buster/main armhf python3-mimeparse all 0.1.4-3.1 [6204 B] Get: 218 http://deb.debian.org/debian buster/main armhf python3-traceback2 all 1.4.0-5 [16.4 kB] Get: 219 http://deb.debian.org/debian buster/main armhf python3-unittest2 all 1.1.0-6.1 [69.4 kB] Get: 220 http://deb.debian.org/debian buster/main armhf python3-testtools all 2.3.0-5 [125 kB] Get: 221 http://deb.debian.org/debian buster/main armhf python3-fixtures all 3.0.0-2 [32.4 kB] Get: 222 http://deb.debian.org/debian buster/main armhf python3-freezegun all 0.3.11-0.1 [10.6 kB] Get: 223 http://deb.debian.org/debian buster/main armhf python3-future all 0.16.0-1 [346 kB] Get: 224 http://deb.debian.org/debian buster/main armhf python3-futurist all 1.6.0-2 [24.2 kB] Get: 225 http://deb.debian.org/debian buster/main armhf python3-openssl all 19.0.0-1 [52.1 kB] Get: 226 http://deb.debian.org/debian buster/main armhf python3-json-pointer all 1.10-1 [13.8 kB] Get: 227 http://deb.debian.org/debian buster/main armhf python3-jsonpatch all 1.21-1 [12.2 kB] Get: 228 http://deb.debian.org/debian buster/main armhf python3-jsonschema all 2.6.0-4 [33.5 kB] Get: 229 http://deb.debian.org/debian buster/main armhf python3-warlock all 1.2.0-2 [8796 B] Get: 230 http://deb.debian.org/debian buster/main armhf python3-glanceclient all 1:2.13.1-1 [126 kB] Get: 231 http://deb.debian.org/debian buster/main armhf python3-ujson armhf 1.35-3 [20.2 kB] Get: 232 http://deb.debian.org/debian buster/main armhf python3-gnocchiclient all 7.0.2-2 [31.7 kB] Get: 233 http://deb.debian.org/debian buster/main armhf python3-pep8 all 1.7.1-3 [39.4 kB] Get: 234 http://deb.debian.org/debian buster/main armhf python3-hacking all 1.1.0-2 [21.3 kB] Get: 235 http://deb.debian.org/debian buster/main armhf python3-imagesize all 1.0.0-1 [4960 B] Get: 236 http://deb.debian.org/debian buster/main armhf python3-secretstorage all 2.3.1-2 [14.2 kB] Get: 237 http://deb.debian.org/debian buster/main armhf python3-keyring all 17.1.1-1 [43.1 kB] Get: 238 http://deb.debian.org/debian buster/main armhf python3-oslo.context all 2.21.0-2 [13.4 kB] Get: 239 http://deb.debian.org/debian buster/main armhf python3-pyinotify all 0.9.6-1 [26.9 kB] Get: 240 http://deb.debian.org/debian buster/main armhf python3-oslo.log all 3.39.0-2 [40.1 kB] Get: 241 http://deb.debian.org/debian buster/main armhf python3-rfc3986 all 0.3.1-2 [14.9 kB] Get: 242 http://deb.debian.org/debian buster/main armhf python3-oslo.config all 1:6.4.1-1 [108 kB] Get: 243 http://deb.debian.org/debian buster/main armhf python3-keystoneclient all 1:3.17.0-2 [200 kB] Get: 244 http://deb.debian.org/debian buster/main armhf python3-jmespath all 0.9.4-1 [18.5 kB] Get: 245 http://deb.debian.org/debian buster/main armhf python3-munch all 2.3.2-1 [7868 B] Get: 246 http://deb.debian.org/debian buster/main armhf python3-requestsexceptions all 1.4.0-1 [4140 B] Get: 247 http://deb.debian.org/debian buster/main armhf python3-openstacksdk all 0.17.2-2 [432 kB] Get: 248 http://deb.debian.org/debian buster/main armhf python3-os-client-config all 1.31.2-2 [17.9 kB] Get: 249 http://deb.debian.org/debian buster/main armhf python3-osc-lib all 1.11.1-2 [48.8 kB] Get: 250 http://deb.debian.org/debian buster/main armhf python3-neutronclient all 1:6.9.1-1 [175 kB] Get: 251 http://deb.debian.org/debian buster/main armhf python3-novaclient all 2:11.0.0-2 [238 kB] Get: 252 http://deb.debian.org/debian buster/main armhf python3-openstackclient all 3.16.2-1 [374 kB] Get: 253 http://deb.debian.org/debian buster/main armhf python3-ironicclient all 2.5.0-2 [135 kB] Get: 254 http://deb.debian.org/debian buster/main armhf python3-jinja2 all 2.10-2 [106 kB] Get: 255 http://deb.debian.org/debian buster/main armhf python3-kafka all 1.4.3-1 [166 kB] Get: 256 http://deb.debian.org/debian buster/main armhf python3-pygments all 2.3.1+dfsg-1 [594 kB] Get: 257 http://deb.debian.org/debian buster/main armhf python3-kazoo all 2.5.0-1 [101 kB] Get: 258 http://deb.debian.org/debian buster/main armhf python3-memcache all 1.59-1 [26.1 kB] Get: 259 http://deb.debian.org/debian buster/main armhf python3-oslo.cache all 1.30.3-1 [28.6 kB] Get: 260 http://deb.debian.org/debian buster/main armhf python3-pycadf all 2.7.0-2 [18.9 kB] Get: 261 http://deb.debian.org/debian buster/main armhf python3-webob all 1:1.8.5-1 [89.2 kB] Get: 262 http://deb.debian.org/debian buster/main armhf python3-keystonemiddleware all 5.2.0-2 [71.9 kB] Get: 263 http://deb.debian.org/debian buster/main armhf python3-kombu all 4.2.1-3 [163 kB] Get: 264 http://deb.debian.org/debian buster/main armhf python3-logutils all 0.3.3-5 [17.3 kB] Get: 265 http://deb.debian.org/debian buster/main armhf python3-sqlparse all 0.2.4-1 [33.5 kB] Get: 266 http://deb.debian.org/debian buster/main armhf python3-tempita all 0.5.2-2 [13.9 kB] Get: 267 http://deb.debian.org/debian buster/main armhf python3-migrate all 0.11.0-5 [79.2 kB] Get: 268 http://deb.debian.org/debian buster/main armhf python3-mock all 2.0.0-4 [60.3 kB] Get: 269 http://deb.debian.org/debian buster/main armhf python3-monascaclient all 1.12.1-2 [21.9 kB] Get: 270 http://deb.debian.org/debian buster/main armhf python3-mox3 all 0.24.0-1 [32.5 kB] Get: 271 http://deb.debian.org/debian buster/main armhf python3-networkx all 2.2-1 [818 kB] Get: 272 http://deb.debian.org/debian buster/main armhf sphinx-common all 1.8.4-1 [500 kB] Get: 273 http://deb.debian.org/debian buster/main armhf python3-sphinx all 1.8.4-1 [481 kB] Get: 274 http://deb.debian.org/debian buster/main armhf python3-openstackdocstheme all 1.20.0-3 [864 kB] Get: 275 http://deb.debian.org/debian buster/main armhf python3-os-api-ref all 1.5.0+dfsg1-4 [16.9 kB] Get: 276 http://deb.debian.org/debian buster/main armhf python3-voluptuous all 0.11.1-1 [33.2 kB] Get: 277 http://deb.debian.org/debian buster/main armhf python3-subunit all 1.3.0-1 [64.3 kB] Get: 278 http://deb.debian.org/debian buster/main armhf subunit all 1.3.0-1 [13.1 kB] Get: 279 http://deb.debian.org/debian buster/main armhf python3-stestr all 2.1.0-2 [48.3 kB] Get: 280 http://deb.debian.org/debian buster/main armhf python3-os-testr all 1.0.0-4 [25.4 kB] Get: 281 http://deb.debian.org/debian buster/main armhf python3-oslo.concurrency all 3.27.0-3 [26.9 kB] Get: 282 http://deb.debian.org/debian buster/main armhf python3-testresources all 2.0.0-2 [27.2 kB] Get: 283 http://deb.debian.org/debian buster/main armhf python3-testscenarios all 0.5.0-2 [13.4 kB] Get: 284 http://deb.debian.org/debian buster/main armhf python3-oslo.db all 4.40.0-3 [111 kB] Get: 285 http://deb.debian.org/debian buster/main armhf python3-statsd all 3.2.1-2 [11.4 kB] Get: 286 http://deb.debian.org/debian buster/main armhf python3-oslo.middleware all 3.36.0-2 [30.6 kB] Get: 287 http://deb.debian.org/debian buster/main armhf python3-paste all 3.0.6+dfsg-1 [475 kB] Get: 288 http://deb.debian.org/debian buster/main armhf python3-pastedeploy all 2.0.1-1 [18.8 kB] Get: 289 http://deb.debian.org/debian buster/main armhf python3-repoze.lru all 0.7-1 [11.7 kB] Get: 290 http://deb.debian.org/debian buster/main armhf python3-routes all 2.4.1-1 [38.2 kB] Get: 291 http://deb.debian.org/debian buster/main armhf python3-oslo.service all 1.31.8-1 [40.3 kB] Get: 292 http://deb.debian.org/debian buster/main armhf python3-tenacity all 4.12.0-2 [34.1 kB] Get: 293 http://deb.debian.org/debian buster/main armhf python3-zmq armhf 17.1.2-2+deb10u1 [248 kB] Get: 294 http://deb.debian.org/debian buster/main armhf python3-oslo.messaging all 8.1.4-1+deb10u1 [166 kB] Get: 295 http://deb.debian.org/debian buster/main armhf python3-oslo.policy all 1.38.1-2 [43.6 kB] Get: 296 http://deb.debian.org/debian buster/main armhf python3-psutil armhf 5.5.1-1 [165 kB] Get: 297 http://deb.debian.org/debian buster/main armhf python3-oslo.reports all 1.28.0-2 [25.2 kB] Get: 298 http://deb.debian.org/debian buster/main armhf python3-oslo.versionedobjects all 1.33.3-2 [55.9 kB] Get: 299 http://deb.debian.org/debian buster/main armhf python3-oslotest all 1:3.6.0-2 [19.2 kB] Get: 300 http://deb.debian.org/debian buster/main armhf python3-simplegeneric all 0.8.1-2 [11.1 kB] Get: 301 http://deb.debian.org/debian buster/main armhf python3-singledispatch all 3.4.0.3-2 [6866 B] Get: 302 http://deb.debian.org/debian buster/main armhf python3-waitress all 1.2.0~b2-2 [76.7 kB] Get: 303 http://deb.debian.org/debian buster/main armhf python3-webtest all 2.0.32-1 [35.5 kB] Get: 304 http://deb.debian.org/debian buster/main armhf python3-pecan all 1.3.2-2 [103 kB] Get: 305 http://deb.debian.org/debian buster/main armhf python3-psycopg2 armhf 2.7.7-1 [150 kB] Get: 306 http://deb.debian.org/debian buster/main armhf python3-pymysql all 0.9.3-1 [43.4 kB] Get: 307 http://deb.debian.org/debian buster/main armhf python3-sphinxcontrib.httpdomain all 1.5.0-2 [17.4 kB] Get: 308 http://deb.debian.org/debian buster/main armhf python3-sphinxcontrib-pecanwsme all 0.8.0-7 [6808 B] Get: 309 http://deb.debian.org/debian buster/main armhf python3-taskflow all 3.2.0-3 [214 kB] Get: 310 http://deb.debian.org/debian buster/main armhf python3-wsme all 0.9.3-2 [66.3 kB] Fetched 60.7 MB in 20s (3007 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:armhf. (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 ... 18932 files and directories currently installed.) Preparing to unpack .../00-libbsd0_0.9.1-2_armhf.deb ... Unpacking libbsd0:armhf (0.9.1-2) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../01-bsdmainutils_11.1.2+b1_armhf.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:armhf. Preparing to unpack .../02-libuchardet0_0.0.6-3_armhf.deb ... Unpacking libuchardet0:armhf (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../03-groff-base_1.22.4-3_armhf.deb ... Unpacking groff-base (1.22.4-3) ... Selecting previously unselected package libpipeline1:armhf. Preparing to unpack .../04-libpipeline1_1.5.1-2_armhf.deb ... Unpacking libpipeline1:armhf (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../05-man-db_2.8.5-2_armhf.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package libpython2.7-minimal:armhf. Preparing to unpack .../06-libpython2.7-minimal_2.7.16-2+deb10u1_armhf.deb ... Unpacking libpython2.7-minimal:armhf (2.7.16-2+deb10u1) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../07-python2.7-minimal_2.7.16-2+deb10u1_armhf.deb ... Unpacking python2.7-minimal (2.7.16-2+deb10u1) ... Selecting previously unselected package python2-minimal. Preparing to unpack .../08-python2-minimal_2.7.16-1_armhf.deb ... Unpacking python2-minimal (2.7.16-1) ... Selecting previously unselected package python-minimal. Preparing to unpack .../09-python-minimal_2.7.16-1_armhf.deb ... Unpacking python-minimal (2.7.16-1) ... Selecting previously unselected package libssl1.1:armhf. Preparing to unpack .../10-libssl1.1_1.1.1d-0+deb10u4_armhf.deb ... Unpacking libssl1.1:armhf (1.1.1d-0+deb10u4) ... Selecting previously unselected package mime-support. Preparing to unpack .../11-mime-support_3.62_all.deb ... Unpacking mime-support (3.62) ... Selecting previously unselected package libexpat1:armhf. Preparing to unpack .../12-libexpat1_2.2.6-2+deb10u1_armhf.deb ... Unpacking libexpat1:armhf (2.2.6-2+deb10u1) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_7.0-5_all.deb ... Unpacking readline-common (7.0-5) ... Selecting previously unselected package libreadline7:armhf. Preparing to unpack .../14-libreadline7_7.0-5_armhf.deb ... Unpacking libreadline7:armhf (7.0-5) ... Selecting previously unselected package libpython2.7-stdlib:armhf. Preparing to unpack .../15-libpython2.7-stdlib_2.7.16-2+deb10u1_armhf.deb ... Unpacking libpython2.7-stdlib:armhf (2.7.16-2+deb10u1) ... Selecting previously unselected package python2.7. Preparing to unpack .../16-python2.7_2.7.16-2+deb10u1_armhf.deb ... Unpacking python2.7 (2.7.16-2+deb10u1) ... Selecting previously unselected package libpython2-stdlib:armhf. Preparing to unpack .../17-libpython2-stdlib_2.7.16-1_armhf.deb ... Unpacking libpython2-stdlib:armhf (2.7.16-1) ... Selecting previously unselected package libpython-stdlib:armhf. Preparing to unpack .../18-libpython-stdlib_2.7.16-1_armhf.deb ... Unpacking libpython-stdlib:armhf (2.7.16-1) ... Setting up libpython2.7-minimal:armhf (2.7.16-2+deb10u1) ... Setting up python2.7-minimal (2.7.16-2+deb10u1) ... Setting up python2-minimal (2.7.16-1) ... Selecting previously unselected package python2. (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 ... 20397 files and directories currently installed.) Preparing to unpack .../python2_2.7.16-1_armhf.deb ... Unpacking python2 (2.7.16-1) ... Setting up python-minimal (2.7.16-1) ... Selecting previously unselected package python. (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 ... 20430 files and directories currently installed.) Preparing to unpack .../python_2.7.16-1_armhf.deb ... Unpacking python (2.7.16-1) ... Selecting previously unselected package libpython3.7-minimal:armhf. Preparing to unpack .../libpython3.7-minimal_3.7.3-2+deb10u2_armhf.deb ... Unpacking libpython3.7-minimal:armhf (3.7.3-2+deb10u2) ... Selecting previously unselected package python3.7-minimal. Preparing to unpack .../python3.7-minimal_3.7.3-2+deb10u2_armhf.deb ... Unpacking python3.7-minimal (3.7.3-2+deb10u2) ... Setting up libssl1.1:armhf (1.1.1d-0+deb10u4) ... Setting up libpython3.7-minimal:armhf (3.7.3-2+deb10u2) ... Setting up libexpat1:armhf (2.2.6-2+deb10u1) ... Setting up python3.7-minimal (3.7.3-2+deb10u2) ... Selecting previously unselected package python3-minimal. (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 ... 20684 files and directories currently installed.) Preparing to unpack .../python3-minimal_3.7.3-1_armhf.deb ... Unpacking python3-minimal (3.7.3-1) ... Selecting previously unselected package libmpdec2:armhf. Preparing to unpack .../libmpdec2_2.4.2-2_armhf.deb ... Unpacking libmpdec2:armhf (2.4.2-2) ... Selecting previously unselected package libpython3.7-stdlib:armhf. Preparing to unpack .../libpython3.7-stdlib_3.7.3-2+deb10u2_armhf.deb ... Unpacking libpython3.7-stdlib:armhf (3.7.3-2+deb10u2) ... Selecting previously unselected package python3.7. Preparing to unpack .../python3.7_3.7.3-2+deb10u2_armhf.deb ... Unpacking python3.7 (3.7.3-2+deb10u2) ... Selecting previously unselected package libpython3-stdlib:armhf. Preparing to unpack .../libpython3-stdlib_3.7.3-1_armhf.deb ... Unpacking libpython3-stdlib:armhf (3.7.3-1) ... Setting up python3-minimal (3.7.3-1) ... Selecting previously unselected package python3. (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 ... 21096 files and directories currently installed.) Preparing to unpack .../000-python3_3.7.3-1_armhf.deb ... Unpacking python3 (3.7.3-1) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../001-python3-pyparsing_2.2.0+dfsg1-2_all.deb ... Unpacking python3-pyparsing (2.2.0+dfsg1-2) ... Selecting previously unselected package libxau6:armhf. Preparing to unpack .../002-libxau6_1%3a1.0.8-1+b2_armhf.deb ... Unpacking libxau6:armhf (1:1.0.8-1+b2) ... Selecting previously unselected package libxdmcp6:armhf. Preparing to unpack .../003-libxdmcp6_1%3a1.1.2-3_armhf.deb ... Unpacking libxdmcp6:armhf (1:1.1.2-3) ... Selecting previously unselected package libxcb1:armhf. Preparing to unpack .../004-libxcb1_1.13.1-2_armhf.deb ... Unpacking libxcb1:armhf (1.13.1-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../005-libx11-data_2%3a1.6.7-1+deb10u1_all.deb ... Unpacking libx11-data (2:1.6.7-1+deb10u1) ... Selecting previously unselected package libx11-6:armhf. Preparing to unpack .../006-libx11-6_2%3a1.6.7-1+deb10u1_armhf.deb ... Unpacking libx11-6:armhf (2:1.6.7-1+deb10u1) ... Selecting previously unselected package libxext6:armhf. Preparing to unpack .../007-libxext6_2%3a1.3.3-1+b2_armhf.deb ... Unpacking libxext6:armhf (2:1.3.3-1+b2) ... Selecting previously unselected package lsb-base. Preparing to unpack .../008-lsb-base_10.2019051400_all.deb ... Unpacking lsb-base (10.2019051400) ... Selecting previously unselected package x11-common. Preparing to unpack .../009-x11-common_1%3a7.7+19_all.deb ... Unpacking x11-common (1:7.7+19) ... Selecting previously unselected package libice6:armhf. Preparing to unpack .../010-libice6_2%3a1.0.9-2_armhf.deb ... Unpacking libice6:armhf (2:1.0.9-2) ... Selecting previously unselected package libsm6:armhf. Preparing to unpack .../011-libsm6_2%3a1.2.3-1_armhf.deb ... Unpacking libsm6:armhf (2:1.2.3-1) ... Selecting previously unselected package libxt6:armhf. Preparing to unpack .../012-libxt6_1%3a1.1.5-1+b3_armhf.deb ... Unpacking libxt6:armhf (1:1.1.5-1+b3) ... Selecting previously unselected package libxmu6:armhf. Preparing to unpack .../013-libxmu6_2%3a1.1.2-2+b3_armhf.deb ... Unpacking libxmu6:armhf (2:1.1.2-2+b3) ... Selecting previously unselected package xclip. Preparing to unpack .../014-xclip_0.13-1_armhf.deb ... Unpacking xclip (0.13-1) ... Selecting previously unselected package python3-pyperclip. Preparing to unpack .../015-python3-pyperclip_1.6.4-1_all.deb ... Unpacking python3-pyperclip (1.6.4-1) ... Selecting previously unselected package python3-six. Preparing to unpack .../016-python3-six_1.12.0-1_all.deb ... Unpacking python3-six (1.12.0-1) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../017-python3-wcwidth_0.1.7+dfsg1-3_all.deb ... Unpacking python3-wcwidth (0.1.7+dfsg1-3) ... Selecting previously unselected package python3-cmd2. Preparing to unpack .../018-python3-cmd2_0.8.5-2_all.deb ... Unpacking python3-cmd2 (0.8.5-2) ... Selecting previously unselected package sgml-base. Preparing to unpack .../019-sgml-base_1.29_all.deb ... Unpacking sgml-base (1.29) ... Selecting previously unselected package netbase. Preparing to unpack .../020-netbase_5.6_all.deb ... Unpacking netbase (5.6) ... Selecting previously unselected package libncurses6:armhf. Preparing to unpack .../021-libncurses6_6.1+20181013-2+deb10u2_armhf.deb ... Unpacking libncurses6:armhf (6.1+20181013-2+deb10u2) ... Selecting previously unselected package libprocps7:armhf. Preparing to unpack .../022-libprocps7_2%3a3.3.15-2_armhf.deb ... Unpacking libprocps7:armhf (2:3.3.15-2) ... Selecting previously unselected package procps. Preparing to unpack .../023-procps_2%3a3.3.15-2_armhf.deb ... Unpacking procps (2:3.3.15-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../024-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package libapparmor1:armhf. Preparing to unpack .../025-libapparmor1_2.13.2-10_armhf.deb ... Unpacking libapparmor1:armhf (2.13.2-10) ... Selecting previously unselected package libdbus-1-3:armhf. Preparing to unpack .../026-libdbus-1-3_1.12.20-0+deb10u1_armhf.deb ... Unpacking libdbus-1-3:armhf (1.12.20-0+deb10u1) ... Selecting previously unselected package dbus. Preparing to unpack .../027-dbus_1.12.20-0+deb10u1_armhf.deb ... Unpacking dbus (1.12.20-0+deb10u1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../028-libmagic-mgc_1%3a5.35-4+deb10u2_armhf.deb ... Unpacking libmagic-mgc (1:5.35-4+deb10u2) ... Selecting previously unselected package libmagic1:armhf. Preparing to unpack .../029-libmagic1_1%3a5.35-4+deb10u2_armhf.deb ... Unpacking libmagic1:armhf (1:5.35-4+deb10u2) ... Selecting previously unselected package file. Preparing to unpack .../030-file_1%3a5.35-4+deb10u2_armhf.deb ... Unpacking file (1:5.35-4+deb10u2) ... Selecting previously unselected package gettext-base. Preparing to unpack .../031-gettext-base_0.19.8.1-9_armhf.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package libpcre2-8-0:armhf. Preparing to unpack .../032-libpcre2-8-0_10.32-5_armhf.deb ... Unpacking libpcre2-8-0:armhf (10.32-5) ... Selecting previously unselected package libpsl5:armhf. Preparing to unpack .../033-libpsl5_0.20.2-2_armhf.deb ... Unpacking libpsl5:armhf (0.20.2-2) ... Selecting previously unselected package wget. Preparing to unpack .../034-wget_1.20.1-1.1_armhf.deb ... Unpacking wget (1.20.1-1.1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../035-python3-pkg-resources_40.8.0-1_all.deb ... Unpacking python3-pkg-resources (40.8.0-1) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../036-python3-dateutil_2.7.3-3_all.deb ... Unpacking python3-dateutil (2.7.3-3) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../037-python3-lib2to3_3.7.3-1_all.deb ... Unpacking python3-lib2to3 (3.7.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../038-python3-distutils_3.7.3-1_all.deb ... Unpacking python3-distutils (3.7.3-1) ... Selecting previously unselected package python3-editor. Preparing to unpack .../039-python3-editor_1.0.3-1_all.deb ... Unpacking python3-editor (1.0.3-1) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../040-python3-markupsafe_1.1.0-1_armhf.deb ... Unpacking python3-markupsafe (1.1.0-1) ... Selecting previously unselected package python3-mako. Preparing to unpack .../041-python3-mako_1.0.7+ds1-1_all.deb ... Unpacking python3-mako (1.0.7+ds1-1) ... Selecting previously unselected package python3-sqlalchemy. Preparing to unpack .../042-python3-sqlalchemy_1.2.18+ds1-2_all.deb ... Unpacking python3-sqlalchemy (1.2.18+ds1-2) ... Selecting previously unselected package python3-alembic. Preparing to unpack .../043-python3-alembic_1.0.0-3_all.deb ... Unpacking python3-alembic (1.0.0-3) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../044-libjs-jquery_3.3.1~dfsg-3_all.deb ... Unpacking libjs-jquery (3.3.1~dfsg-3) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../045-libjs-underscore_1.9.1~dfsg-1_all.deb ... Unpacking libjs-underscore (1.9.1~dfsg-1) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../046-libjs-sphinxdoc_1.8.4-1_all.deb ... Unpacking libjs-sphinxdoc (1.8.4-1) ... Selecting previously unselected package alembic. Preparing to unpack .../047-alembic_1.0.0-3_all.deb ... Unpacking alembic (1.0.0-3) ... Selecting previously unselected package libsigsegv2:armhf. Preparing to unpack .../048-libsigsegv2_2.12-2_armhf.deb ... Unpacking libsigsegv2:armhf (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../049-m4_1.4.18-2_armhf.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../050-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../051-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../052-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../053-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package openssl. Preparing to unpack .../054-openssl_1.1.1d-0+deb10u4_armhf.deb ... Unpacking openssl (1.1.1d-0+deb10u4) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../055-ca-certificates_20200601~deb10u2_all.deb ... Unpacking ca-certificates (20200601~deb10u2) ... Selecting previously unselected package libtool. Preparing to unpack .../056-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../057-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../058-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../059-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../060-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:armhf. Preparing to unpack .../061-libelf1_0.176-1.1_armhf.deb ... Unpacking libelf1:armhf (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../062-dwz_0.12-3_armhf.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libglib2.0-0:armhf. Preparing to unpack .../063-libglib2.0-0_2.58.3-2+deb10u2_armhf.deb ... Unpacking libglib2.0-0:armhf (2.58.3-2+deb10u2) ... Selecting previously unselected package libicu63:armhf. Preparing to unpack .../064-libicu63_63.1-6+deb10u1_armhf.deb ... Unpacking libicu63:armhf (63.1-6+deb10u1) ... Selecting previously unselected package libxml2:armhf. Preparing to unpack .../065-libxml2_2.9.4+dfsg1-7+deb10u1_armhf.deb ... Unpacking libxml2:armhf (2.9.4+dfsg1-7+deb10u1) ... Selecting previously unselected package libcroco3:armhf. Preparing to unpack .../066-libcroco3_0.6.12-3_armhf.deb ... Unpacking libcroco3:armhf (0.6.12-3) ... Selecting previously unselected package gettext. Preparing to unpack .../067-gettext_0.19.8.1-9_armhf.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../068-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../069-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../070-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package dh-python. Preparing to unpack .../071-dh-python_3.20190308_all.deb ... Unpacking dh-python (3.20190308) ... Selecting previously unselected package xml-core. Preparing to unpack .../072-xml-core_0.18+nmu1_all.deb ... Unpacking xml-core (0.18+nmu1) ... Selecting previously unselected package docutils-common. Preparing to unpack .../073-docutils-common_0.14+dfsg-4_all.deb ... Unpacking docutils-common (0.14+dfsg-4) ... Selecting previously unselected package python3-mccabe. Preparing to unpack .../074-python3-mccabe_0.6.1-2_all.deb ... Unpacking python3-mccabe (0.6.1-2) ... Selecting previously unselected package python3-pyflakes. Preparing to unpack .../075-python3-pyflakes_2.0.0-1_all.deb ... Unpacking python3-pyflakes (2.0.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../076-python3-setuptools_40.8.0-1_all.deb ... Unpacking python3-setuptools (40.8.0-1) ... Selecting previously unselected package python3-pycodestyle. Preparing to unpack .../077-python3-pycodestyle_2.4.0-2_all.deb ... Unpacking python3-pycodestyle (2.4.0-2) ... Selecting previously unselected package python3-flake8. Preparing to unpack .../078-python3-flake8_3.6.0-1_all.deb ... Unpacking python3-flake8 (3.6.0-1) ... Selecting previously unselected package flake8. Preparing to unpack .../079-flake8_3.6.0-1_all.deb ... Unpacking flake8 (3.6.0-1) ... Selecting previously unselected package fonts-glyphicons-halflings. Preparing to unpack .../080-fonts-glyphicons-halflings_1.009~3.4.1+dfsg-1_all.deb ... Unpacking fonts-glyphicons-halflings (1.009~3.4.1+dfsg-1) ... Selecting previously unselected package ieee-data. Preparing to unpack .../081-ieee-data_20180805.1_all.deb ... Unpacking ieee-data (20180805.1) ... Selecting previously unselected package libonig5:armhf. Preparing to unpack .../082-libonig5_6.9.1-1_armhf.deb ... Unpacking libonig5:armhf (6.9.1-1) ... Selecting previously unselected package libjq1:armhf. Preparing to unpack .../083-libjq1_1.5+dfsg-2+b1_armhf.deb ... Unpacking libjq1:armhf (1.5+dfsg-2+b1) ... Selecting previously unselected package jq. Preparing to unpack .../084-jq_1.5+dfsg-2+b1_armhf.deb ... Unpacking jq (1.5+dfsg-2+b1) ... Selecting previously unselected package libkeyutils1:armhf. Preparing to unpack .../085-libkeyutils1_1.6-6_armhf.deb ... Unpacking libkeyutils1:armhf (1.6-6) ... Selecting previously unselected package libkrb5support0:armhf. Preparing to unpack .../086-libkrb5support0_1.17-3+deb10u1_armhf.deb ... Unpacking libkrb5support0:armhf (1.17-3+deb10u1) ... Selecting previously unselected package libk5crypto3:armhf. Preparing to unpack .../087-libk5crypto3_1.17-3+deb10u1_armhf.deb ... Unpacking libk5crypto3:armhf (1.17-3+deb10u1) ... Selecting previously unselected package libkrb5-3:armhf. Preparing to unpack .../088-libkrb5-3_1.17-3+deb10u1_armhf.deb ... Unpacking libkrb5-3:armhf (1.17-3+deb10u1) ... Selecting previously unselected package libgssapi-krb5-2:armhf. Preparing to unpack .../089-libgssapi-krb5-2_1.17-3+deb10u1_armhf.deb ... Unpacking libgssapi-krb5-2:armhf (1.17-3+deb10u1) ... Selecting previously unselected package libjs-bootstrap. Preparing to unpack .../090-libjs-bootstrap_3.4.1+dfsg-1_all.deb ... Unpacking libjs-bootstrap (3.4.1+dfsg-1) ... Selecting previously unselected package libsasl2-modules-db:armhf. Preparing to unpack .../091-libsasl2-modules-db_2.1.27+dfsg-1+deb10u1_armhf.deb ... Unpacking libsasl2-modules-db:armhf (2.1.27+dfsg-1+deb10u1) ... Selecting previously unselected package libsasl2-2:armhf. Preparing to unpack .../092-libsasl2-2_2.1.27+dfsg-1+deb10u1_armhf.deb ... Unpacking libsasl2-2:armhf (2.1.27+dfsg-1+deb10u1) ... Selecting previously unselected package libldap-common. Preparing to unpack .../093-libldap-common_2.4.47+dfsg-3+deb10u4_all.deb ... Unpacking libldap-common (2.4.47+dfsg-3+deb10u4) ... Selecting previously unselected package libldap-2.4-2:armhf. Preparing to unpack .../094-libldap-2.4-2_2.4.47+dfsg-3+deb10u4_armhf.deb ... Unpacking libldap-2.4-2:armhf (2.4.47+dfsg-3+deb10u4) ... Selecting previously unselected package libnorm1:armhf. Preparing to unpack .../095-libnorm1_1.5.8+dfsg2-1_armhf.deb ... Unpacking libnorm1:armhf (1.5.8+dfsg2-1) ... Selecting previously unselected package libpgm-5.2-0:armhf. Preparing to unpack .../096-libpgm-5.2-0_5.2.122~dfsg-3_armhf.deb ... Unpacking libpgm-5.2-0:armhf (5.2.122~dfsg-3) ... Selecting previously unselected package libpq5:armhf. Preparing to unpack .../097-libpq5_11.10-0+deb10u1_armhf.deb ... Unpacking libpq5:armhf (11.10-0+deb10u1) ... Selecting previously unselected package libsodium23:armhf. Preparing to unpack .../098-libsodium23_1.0.17-1_armhf.deb ... Unpacking libsodium23:armhf (1.0.17-1) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../099-libsubunit-perl_1.3.0-1_all.deb ... Unpacking libsubunit-perl (1.3.0-1) ... Selecting previously unselected package libxslt1.1:armhf. Preparing to unpack .../100-libxslt1.1_1.1.32-2.2~deb10u1_armhf.deb ... Unpacking libxslt1.1:armhf (1.1.32-2.2~deb10u1) ... Selecting previously unselected package libyaml-0-2:armhf. Preparing to unpack .../101-libyaml-0-2_0.2.1-1_armhf.deb ... Unpacking libyaml-0-2:armhf (0.2.1-1) ... Selecting previously unselected package libzmq5:armhf. Preparing to unpack .../102-libzmq5_4.3.1-4+deb10u2_armhf.deb ... Unpacking libzmq5:armhf (4.3.1-4+deb10u2) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../103-openstack-pkg-tools_91_all.deb ... Unpacking openstack-pkg-tools (91) ... Selecting previously unselected package pycadf-common. Preparing to unpack .../104-pycadf-common_2.7.0-2_all.deb ... Unpacking pycadf-common (2.7.0-2) ... Selecting previously unselected package pyflakes3. Preparing to unpack .../105-pyflakes3_2.0.0-1_all.deb ... Unpacking pyflakes3 (2.0.0-1) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../106-python-babel-localedata_2.6.0+dfsg.1-1_all.deb ... Unpacking python-babel-localedata (2.6.0+dfsg.1-1) ... Selecting previously unselected package python-extras. Preparing to unpack .../107-python-extras_1.0.0-3_all.deb ... Unpacking python-extras (1.0.0-3) ... Selecting previously unselected package python-pkg-resources. Preparing to unpack .../108-python-pkg-resources_40.8.0-1_all.deb ... Unpacking python-pkg-resources (40.8.0-1) ... Selecting previously unselected package python-setuptools. Preparing to unpack .../109-python-setuptools_40.8.0-1_all.deb ... Unpacking python-setuptools (40.8.0-1) ... Selecting previously unselected package python-six. Preparing to unpack .../110-python-six_1.12.0-1_all.deb ... Unpacking python-six (1.12.0-1) ... Selecting previously unselected package python-pbr. Preparing to unpack .../111-python-pbr_4.2.0-5_all.deb ... Unpacking python-pbr (4.2.0-5) ... Selecting previously unselected package python-linecache2. Preparing to unpack .../112-python-linecache2_1.0.0-3_all.deb ... Unpacking python-linecache2 (1.0.0-3) ... Selecting previously unselected package python-mimeparse. Preparing to unpack .../113-python-mimeparse_0.1.4-3.1_all.deb ... Unpacking python-mimeparse (0.1.4-3.1) ... Selecting previously unselected package python-traceback2. Preparing to unpack .../114-python-traceback2_1.4.0-5_all.deb ... Unpacking python-traceback2 (1.4.0-5) ... Selecting previously unselected package python-unittest2. Preparing to unpack .../115-python-unittest2_1.1.0-6.1_all.deb ... Unpacking python-unittest2 (1.1.0-6.1) ... Selecting previously unselected package python-testtools. Preparing to unpack .../116-python-testtools_2.3.0-5_all.deb ... Unpacking python-testtools (2.3.0-5) ... Selecting previously unselected package python-fixtures. Preparing to unpack .../117-python-fixtures_3.0.0-2_all.deb ... Unpacking python-fixtures (3.0.0-2) ... Selecting previously unselected package python-netaddr. Preparing to unpack .../118-python-netaddr_0.7.19-1_all.deb ... Unpacking python-netaddr (0.7.19-1) ... Selecting previously unselected package python-os-api-ref-common. Preparing to unpack .../119-python-os-api-ref-common_1.5.0+dfsg1-4_all.deb ... Unpacking python-os-api-ref-common (1.5.0+dfsg1-4) ... Selecting previously unselected package python-pastedeploy-tpl. Preparing to unpack .../120-python-pastedeploy-tpl_2.0.1-1_all.deb ... Unpacking python-pastedeploy-tpl (2.0.1-1) ... Selecting previously unselected package python-subunit. Preparing to unpack .../121-python-subunit_1.3.0-1_all.deb ... Unpacking python-subunit (1.3.0-1) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../122-python3-alabaster_0.7.8-1_all.deb ... Unpacking python3-alabaster (0.7.8-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../123-python3-all_3.7.3-1_armhf.deb ... Unpacking python3-all (3.7.3-1) ... Selecting previously unselected package python3-vine. Preparing to unpack .../124-python3-vine_1.1.4+dfsg-2_all.deb ... Unpacking python3-vine (1.1.4+dfsg-2) ... Selecting previously unselected package python3-amqp. Preparing to unpack .../125-python3-amqp_2.4.0-2_all.deb ... Unpacking python3-amqp (2.4.0-2) ... Selecting previously unselected package python3-anyjson. Preparing to unpack .../126-python3-anyjson_0.3.3-1_all.deb ... Unpacking python3-anyjson (0.3.3-1) ... Selecting previously unselected package python3-appdirs. Preparing to unpack .../127-python3-appdirs_1.4.3-1_all.deb ... Unpacking python3-appdirs (1.4.3-1) ... Selecting previously unselected package python3-tz. Preparing to unpack .../128-python3-tz_2019.1-1_all.deb ... Unpacking python3-tz (2019.1-1) ... Selecting previously unselected package python3-tzlocal. Preparing to unpack .../129-python3-tzlocal_1.5.1-1_all.deb ... Unpacking python3-tzlocal (1.5.1-1) ... Selecting previously unselected package python3-apscheduler. Preparing to unpack .../130-python3-apscheduler_3.5.3-1_all.deb ... Unpacking python3-apscheduler (3.5.3-1) ... Selecting previously unselected package python3-asn1crypto. Preparing to unpack .../131-python3-asn1crypto_0.24.0-1_all.deb ... Unpacking python3-asn1crypto (0.24.0-1) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../132-python3-pbr_4.2.0-5_all.deb ... Unpacking python3-pbr (4.2.0-5) ... Selecting previously unselected package python3-wrapt. Preparing to unpack .../133-python3-wrapt_1.10.11-1_armhf.deb ... Unpacking python3-wrapt (1.10.11-1) ... Selecting previously unselected package python3-debtcollector. Preparing to unpack .../134-python3-debtcollector_1.20.0-2_all.deb ... Unpacking python3-debtcollector (1.20.0-2) ... Selecting previously unselected package python3-prettytable. Preparing to unpack .../135-python3-prettytable_0.7.2-4_all.deb ... Unpacking python3-prettytable (0.7.2-4) ... Selecting previously unselected package python3-automaton. Preparing to unpack .../136-python3-automaton_1.15.0-1_all.deb ... Unpacking python3-automaton (1.15.0-1) ... Selecting previously unselected package python3-babel. Preparing to unpack .../137-python3-babel_2.6.0+dfsg.1-1_all.deb ... Unpacking python3-babel (2.6.0+dfsg.1-1) ... Selecting previously unselected package python3-blinker. Preparing to unpack .../138-python3-blinker_1.4+dfsg1-0.2_all.deb ... Unpacking python3-blinker (1.4+dfsg1-0.2) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../139-python3-soupsieve_1.8+dfsg-1_all.deb ... Unpacking python3-soupsieve (1.8+dfsg-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../140-python3-bs4_4.7.1-1_all.deb ... Unpacking python3-bs4 (4.7.1-1) ... Selecting previously unselected package python3-cachetools. Preparing to unpack .../141-python3-cachetools_3.1.0-2_all.deb ... Unpacking python3-cachetools (3.1.0-2) ... Selecting previously unselected package python3-iso8601. Preparing to unpack .../142-python3-iso8601_0.1.11-1_all.deb ... Unpacking python3-iso8601 (0.1.11-1) ... Selecting previously unselected package python3-lxml:armhf. Preparing to unpack .../143-python3-lxml_4.3.2-1+deb10u2_armhf.deb ... Unpacking python3-lxml:armhf (4.3.2-1+deb10u2) ... Selecting previously unselected package python3-cffi-backend. Preparing to unpack .../144-python3-cffi-backend_1.12.2-1_armhf.deb ... Unpacking python3-cffi-backend (1.12.2-1) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../145-python3-cryptography_2.6.1-3+deb10u2_armhf.deb ... Unpacking python3-cryptography (2.6.1-3+deb10u2) ... Selecting previously unselected package python3-jwt. Preparing to unpack .../146-python3-jwt_1.7.0-2_all.deb ... Unpacking python3-jwt (1.7.0-2) ... Selecting previously unselected package python3-oauthlib. Preparing to unpack .../147-python3-oauthlib_2.1.0-1_all.deb ... Unpacking python3-oauthlib (2.1.0-1) ... Selecting previously unselected package python3-os-service-types. Preparing to unpack .../148-python3-os-service-types_1.3.0-2_all.deb ... Unpacking python3-os-service-types (1.3.0-2) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../149-python3-certifi_2018.8.24-1_all.deb ... Unpacking python3-certifi (2018.8.24-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../150-python3-chardet_3.0.4-3_all.deb ... Unpacking python3-chardet (3.0.4-3) ... Selecting previously unselected package python3-idna. Preparing to unpack .../151-python3-idna_2.6-1_all.deb ... Unpacking python3-idna (2.6-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../152-python3-urllib3_1.24.1-1_all.deb ... Unpacking python3-urllib3 (1.24.1-1) ... Selecting previously unselected package python3-requests. Preparing to unpack .../153-python3-requests_2.21.0-1_all.deb ... Unpacking python3-requests (2.21.0-1) ... Selecting previously unselected package python3-stevedore. Preparing to unpack .../154-python3-stevedore_1.29.0-2_all.deb ... Unpacking python3-stevedore (1.29.0-2) ... Selecting previously unselected package python3-keystoneauth1. Preparing to unpack .../155-python3-keystoneauth1_3.10.0-2_all.deb ... Unpacking python3-keystoneauth1 (3.10.0-2) ... Selecting previously unselected package python3-oslo.i18n. Preparing to unpack .../156-python3-oslo.i18n_3.21.0-2_all.deb ... Unpacking python3-oslo.i18n (3.21.0-2) ... Selecting previously unselected package python3-msgpack. Preparing to unpack .../157-python3-msgpack_0.5.6-1+b1_armhf.deb ... Unpacking python3-msgpack (0.5.6-1+b1) ... Selecting previously unselected package python3-funcsigs. Preparing to unpack .../158-python3-funcsigs_1.0.2-4_all.deb ... Unpacking python3-funcsigs (1.0.2-4) ... Selecting previously unselected package python3-monotonic. Preparing to unpack .../159-python3-monotonic_1.1-2_all.deb ... Unpacking python3-monotonic (1.1-2) ... Selecting previously unselected package python3-netaddr. Preparing to unpack .../160-python3-netaddr_0.7.19-1_all.deb ... Unpacking python3-netaddr (0.7.19-1) ... Selecting previously unselected package python3-netifaces. Preparing to unpack .../161-python3-netifaces_0.10.4-1+b1_armhf.deb ... Unpacking python3-netifaces (0.10.4-1+b1) ... Selecting previously unselected package python3-oslo.utils. Preparing to unpack .../162-python3-oslo.utils_3.36.5-0+deb10u1_all.deb ... Unpacking python3-oslo.utils (3.36.5-0+deb10u1) ... Selecting previously unselected package python3-oslo.serialization. Preparing to unpack .../163-python3-oslo.serialization_2.27.0-2_all.deb ... Unpacking python3-oslo.serialization (2.27.0-2) ... Selecting previously unselected package python3-ceilometerclient. Preparing to unpack .../164-python3-ceilometerclient_2.9.0-2_all.deb ... Unpacking python3-ceilometerclient (2.9.0-2) ... Selecting previously unselected package python3-simplejson. Preparing to unpack .../165-python3-simplejson_3.16.0-1_armhf.deb ... Unpacking python3-simplejson (3.16.0-1) ... Selecting previously unselected package python3-cinderclient. Preparing to unpack .../166-python3-cinderclient_1%3a4.0.1-2_all.deb ... Unpacking python3-cinderclient (1:4.0.1-2) ... Selecting previously unselected package python3-roman. Preparing to unpack .../167-python3-roman_2.0.0-3_all.deb ... Unpacking python3-roman (2.0.0-3) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../168-python3-docutils_0.14+dfsg-4_all.deb ... Unpacking python3-docutils (0.14+dfsg-4) ... Selecting previously unselected package python3-unicodecsv. Preparing to unpack .../169-python3-unicodecsv_0.14.1-1_all.deb ... Unpacking python3-unicodecsv (0.14.1-1) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../170-python3-yaml_3.13-2_armhf.deb ... Unpacking python3-yaml (3.13-2) ... Selecting previously unselected package python3-cliff. Preparing to unpack .../171-python3-cliff_2.13.0-1_all.deb ... Unpacking python3-cliff (2.13.0-1) ... Selecting previously unselected package python3-contextlib2. Preparing to unpack .../172-python3-contextlib2_0.5.5-1_all.deb ... Unpacking python3-contextlib2 (0.5.5-1) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../173-python3-coverage_4.5.2+dfsg.1-1_armhf.deb ... Unpacking python3-coverage (4.5.2+dfsg.1-1) ... Selecting previously unselected package python3-croniter. Preparing to unpack .../174-python3-croniter_0.3.24-2_all.deb ... Unpacking python3-croniter (0.3.24-2) ... Selecting previously unselected package python3-crypto. Preparing to unpack .../175-python3-crypto_2.6.1-9+b1_armhf.deb ... Unpacking python3-crypto (2.6.1-9+b1) ... Selecting previously unselected package python3-dbus. Preparing to unpack .../176-python3-dbus_1.2.8-3_armhf.deb ... Unpacking python3-dbus (1.2.8-3) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../177-python3-decorator_4.3.0-1.1_all.deb ... Unpacking python3-decorator (4.3.0-1.1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../178-python3-packaging_19.0-1_all.deb ... Unpacking python3-packaging (19.0-1) ... Selecting previously unselected package python3-deprecation. Preparing to unpack .../179-python3-deprecation_2.0.6-1_all.deb ... Unpacking python3-deprecation (2.0.6-1) ... Selecting previously unselected package python3-dogpile.cache. Preparing to unpack .../180-python3-dogpile.cache_0.6.2-6_all.deb ... Unpacking python3-dogpile.cache (0.6.2-6) ... Selecting previously unselected package python3-dulwich. Preparing to unpack .../181-python3-dulwich_0.19.11-2_armhf.deb ... Unpacking python3-dulwich (0.19.11-2) ... Selecting previously unselected package python3-entrypoints. Preparing to unpack .../182-python3-entrypoints_0.3-1_all.deb ... Unpacking python3-entrypoints (0.3-1) ... Selecting previously unselected package python3-greenlet. Preparing to unpack .../183-python3-greenlet_0.4.15-2_armhf.deb ... Unpacking python3-greenlet (0.4.15-2) ... Selecting previously unselected package python3-eventlet. Preparing to unpack .../184-python3-eventlet_0.20.0-6_all.deb ... Unpacking python3-eventlet (0.20.0-6) ... Selecting previously unselected package python3-extras. Preparing to unpack .../185-python3-extras_1.0.0-3_all.deb ... Unpacking python3-extras (1.0.0-3) ... Selecting previously unselected package python3-fasteners. Preparing to unpack .../186-python3-fasteners_0.12.0-3_all.deb ... Unpacking python3-fasteners (0.12.0-3) ... Selecting previously unselected package python3-linecache2. Preparing to unpack .../187-python3-linecache2_1.0.0-3_all.deb ... Unpacking python3-linecache2 (1.0.0-3) ... Selecting previously unselected package python3-mimeparse. Preparing to unpack .../188-python3-mimeparse_0.1.4-3.1_all.deb ... Unpacking python3-mimeparse (0.1.4-3.1) ... Selecting previously unselected package python3-traceback2. Preparing to unpack .../189-python3-traceback2_1.4.0-5_all.deb ... Unpacking python3-traceback2 (1.4.0-5) ... Selecting previously unselected package python3-unittest2. Preparing to unpack .../190-python3-unittest2_1.1.0-6.1_all.deb ... Unpacking python3-unittest2 (1.1.0-6.1) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../191-python3-testtools_2.3.0-5_all.deb ... Unpacking python3-testtools (2.3.0-5) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../192-python3-fixtures_3.0.0-2_all.deb ... Unpacking python3-fixtures (3.0.0-2) ... Selecting previously unselected package python3-freezegun. Preparing to unpack .../193-python3-freezegun_0.3.11-0.1_all.deb ... Unpacking python3-freezegun (0.3.11-0.1) ... Selecting previously unselected package python3-future. Preparing to unpack .../194-python3-future_0.16.0-1_all.deb ... Unpacking python3-future (0.16.0-1) ... Selecting previously unselected package python3-futurist. Preparing to unpack .../195-python3-futurist_1.6.0-2_all.deb ... Unpacking python3-futurist (1.6.0-2) ... Selecting previously unselected package python3-openssl. Preparing to unpack .../196-python3-openssl_19.0.0-1_all.deb ... Unpacking python3-openssl (19.0.0-1) ... Selecting previously unselected package python3-json-pointer. Preparing to unpack .../197-python3-json-pointer_1.10-1_all.deb ... Unpacking python3-json-pointer (1.10-1) ... Selecting previously unselected package python3-jsonpatch. Preparing to unpack .../198-python3-jsonpatch_1.21-1_all.deb ... Unpacking python3-jsonpatch (1.21-1) ... Selecting previously unselected package python3-jsonschema. Preparing to unpack .../199-python3-jsonschema_2.6.0-4_all.deb ... Unpacking python3-jsonschema (2.6.0-4) ... Selecting previously unselected package python3-warlock. Preparing to unpack .../200-python3-warlock_1.2.0-2_all.deb ... Unpacking python3-warlock (1.2.0-2) ... Selecting previously unselected package python3-glanceclient. Preparing to unpack .../201-python3-glanceclient_1%3a2.13.1-1_all.deb ... Unpacking python3-glanceclient (1:2.13.1-1) ... Selecting previously unselected package python3-ujson. Preparing to unpack .../202-python3-ujson_1.35-3_armhf.deb ... Unpacking python3-ujson (1.35-3) ... Selecting previously unselected package python3-gnocchiclient. Preparing to unpack .../203-python3-gnocchiclient_7.0.2-2_all.deb ... Unpacking python3-gnocchiclient (7.0.2-2) ... Selecting previously unselected package python3-pep8. Preparing to unpack .../204-python3-pep8_1.7.1-3_all.deb ... Unpacking python3-pep8 (1.7.1-3) ... Selecting previously unselected package python3-hacking. Preparing to unpack .../205-python3-hacking_1.1.0-2_all.deb ... Unpacking python3-hacking (1.1.0-2) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../206-python3-imagesize_1.0.0-1_all.deb ... Unpacking python3-imagesize (1.0.0-1) ... Selecting previously unselected package python3-secretstorage. Preparing to unpack .../207-python3-secretstorage_2.3.1-2_all.deb ... Unpacking python3-secretstorage (2.3.1-2) ... Selecting previously unselected package python3-keyring. Preparing to unpack .../208-python3-keyring_17.1.1-1_all.deb ... Unpacking python3-keyring (17.1.1-1) ... Selecting previously unselected package python3-oslo.context. Preparing to unpack .../209-python3-oslo.context_2.21.0-2_all.deb ... Unpacking python3-oslo.context (2.21.0-2) ... Selecting previously unselected package python3-pyinotify. Preparing to unpack .../210-python3-pyinotify_0.9.6-1_all.deb ... Unpacking python3-pyinotify (0.9.6-1) ... Selecting previously unselected package python3-oslo.log. Preparing to unpack .../211-python3-oslo.log_3.39.0-2_all.deb ... Unpacking python3-oslo.log (3.39.0-2) ... Selecting previously unselected package python3-rfc3986. Preparing to unpack .../212-python3-rfc3986_0.3.1-2_all.deb ... Unpacking python3-rfc3986 (0.3.1-2) ... Selecting previously unselected package python3-oslo.config. Preparing to unpack .../213-python3-oslo.config_1%3a6.4.1-1_all.deb ... Unpacking python3-oslo.config (1:6.4.1-1) ... Selecting previously unselected package python3-keystoneclient. Preparing to unpack .../214-python3-keystoneclient_1%3a3.17.0-2_all.deb ... Unpacking python3-keystoneclient (1:3.17.0-2) ... Selecting previously unselected package python3-jmespath. Preparing to unpack .../215-python3-jmespath_0.9.4-1_all.deb ... Unpacking python3-jmespath (0.9.4-1) ... Selecting previously unselected package python3-munch. Preparing to unpack .../216-python3-munch_2.3.2-1_all.deb ... Unpacking python3-munch (2.3.2-1) ... Selecting previously unselected package python3-requestsexceptions. Preparing to unpack .../217-python3-requestsexceptions_1.4.0-1_all.deb ... Unpacking python3-requestsexceptions (1.4.0-1) ... Selecting previously unselected package python3-openstacksdk. Preparing to unpack .../218-python3-openstacksdk_0.17.2-2_all.deb ... Unpacking python3-openstacksdk (0.17.2-2) ... Selecting previously unselected package python3-os-client-config. Preparing to unpack .../219-python3-os-client-config_1.31.2-2_all.deb ... Unpacking python3-os-client-config (1.31.2-2) ... Selecting previously unselected package python3-osc-lib. Preparing to unpack .../220-python3-osc-lib_1.11.1-2_all.deb ... Unpacking python3-osc-lib (1.11.1-2) ... Selecting previously unselected package python3-neutronclient. Preparing to unpack .../221-python3-neutronclient_1%3a6.9.1-1_all.deb ... Unpacking python3-neutronclient (1:6.9.1-1) ... Selecting previously unselected package python3-novaclient. Preparing to unpack .../222-python3-novaclient_2%3a11.0.0-2_all.deb ... Unpacking python3-novaclient (2:11.0.0-2) ... Selecting previously unselected package python3-openstackclient. Preparing to unpack .../223-python3-openstackclient_3.16.2-1_all.deb ... Unpacking python3-openstackclient (3.16.2-1) ... Selecting previously unselected package python3-ironicclient. Preparing to unpack .../224-python3-ironicclient_2.5.0-2_all.deb ... Unpacking python3-ironicclient (2.5.0-2) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../225-python3-jinja2_2.10-2_all.deb ... Unpacking python3-jinja2 (2.10-2) ... Selecting previously unselected package python3-kafka. Preparing to unpack .../226-python3-kafka_1.4.3-1_all.deb ... Unpacking python3-kafka (1.4.3-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../227-python3-pygments_2.3.1+dfsg-1_all.deb ... Unpacking python3-pygments (2.3.1+dfsg-1) ... Selecting previously unselected package python3-kazoo. Preparing to unpack .../228-python3-kazoo_2.5.0-1_all.deb ... Unpacking python3-kazoo (2.5.0-1) ... Selecting previously unselected package python3-memcache. Preparing to unpack .../229-python3-memcache_1.59-1_all.deb ... Unpacking python3-memcache (1.59-1) ... Selecting previously unselected package python3-oslo.cache. Preparing to unpack .../230-python3-oslo.cache_1.30.3-1_all.deb ... Unpacking python3-oslo.cache (1.30.3-1) ... Selecting previously unselected package python3-pycadf. Preparing to unpack .../231-python3-pycadf_2.7.0-2_all.deb ... Unpacking python3-pycadf (2.7.0-2) ... Selecting previously unselected package python3-webob. Preparing to unpack .../232-python3-webob_1%3a1.8.5-1_all.deb ... Unpacking python3-webob (1:1.8.5-1) ... Selecting previously unselected package python3-keystonemiddleware. Preparing to unpack .../233-python3-keystonemiddleware_5.2.0-2_all.deb ... Unpacking python3-keystonemiddleware (5.2.0-2) ... Selecting previously unselected package python3-kombu. Preparing to unpack .../234-python3-kombu_4.2.1-3_all.deb ... Unpacking python3-kombu (4.2.1-3) ... Selecting previously unselected package python3-logutils. Preparing to unpack .../235-python3-logutils_0.3.3-5_all.deb ... Unpacking python3-logutils (0.3.3-5) ... Selecting previously unselected package python3-sqlparse. Preparing to unpack .../236-python3-sqlparse_0.2.4-1_all.deb ... Unpacking python3-sqlparse (0.2.4-1) ... Selecting previously unselected package python3-tempita. Preparing to unpack .../237-python3-tempita_0.5.2-2_all.deb ... Unpacking python3-tempita (0.5.2-2) ... Selecting previously unselected package python3-migrate. Preparing to unpack .../238-python3-migrate_0.11.0-5_all.deb ... Unpacking python3-migrate (0.11.0-5) ... Selecting previously unselected package python3-mock. Preparing to unpack .../239-python3-mock_2.0.0-4_all.deb ... Unpacking python3-mock (2.0.0-4) ... Selecting previously unselected package python3-monascaclient. Preparing to unpack .../240-python3-monascaclient_1.12.1-2_all.deb ... Unpacking python3-monascaclient (1.12.1-2) ... Selecting previously unselected package python3-mox3. Preparing to unpack .../241-python3-mox3_0.24.0-1_all.deb ... Unpacking python3-mox3 (0.24.0-1) ... Selecting previously unselected package python3-networkx. Preparing to unpack .../242-python3-networkx_2.2-1_all.deb ... Unpacking python3-networkx (2.2-1) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../243-sphinx-common_1.8.4-1_all.deb ... Unpacking sphinx-common (1.8.4-1) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../244-python3-sphinx_1.8.4-1_all.deb ... Unpacking python3-sphinx (1.8.4-1) ... Selecting previously unselected package python3-openstackdocstheme. Preparing to unpack .../245-python3-openstackdocstheme_1.20.0-3_all.deb ... Unpacking python3-openstackdocstheme (1.20.0-3) ... Selecting previously unselected package python3-os-api-ref. Preparing to unpack .../246-python3-os-api-ref_1.5.0+dfsg1-4_all.deb ... Unpacking python3-os-api-ref (1.5.0+dfsg1-4) ... Selecting previously unselected package python3-voluptuous. Preparing to unpack .../247-python3-voluptuous_0.11.1-1_all.deb ... Unpacking python3-voluptuous (0.11.1-1) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../248-python3-subunit_1.3.0-1_all.deb ... Unpacking python3-subunit (1.3.0-1) ... Selecting previously unselected package subunit. Preparing to unpack .../249-subunit_1.3.0-1_all.deb ... Unpacking subunit (1.3.0-1) ... Selecting previously unselected package python3-stestr. Preparing to unpack .../250-python3-stestr_2.1.0-2_all.deb ... Unpacking python3-stestr (2.1.0-2) ... Selecting previously unselected package python3-os-testr. Preparing to unpack .../251-python3-os-testr_1.0.0-4_all.deb ... Unpacking python3-os-testr (1.0.0-4) ... Selecting previously unselected package python3-oslo.concurrency. Preparing to unpack .../252-python3-oslo.concurrency_3.27.0-3_all.deb ... Unpacking python3-oslo.concurrency (3.27.0-3) ... Selecting previously unselected package python3-testresources. Preparing to unpack .../253-python3-testresources_2.0.0-2_all.deb ... Unpacking python3-testresources (2.0.0-2) ... Selecting previously unselected package python3-testscenarios. Preparing to unpack .../254-python3-testscenarios_0.5.0-2_all.deb ... Unpacking python3-testscenarios (0.5.0-2) ... Selecting previously unselected package python3-oslo.db. Preparing to unpack .../255-python3-oslo.db_4.40.0-3_all.deb ... Unpacking python3-oslo.db (4.40.0-3) ... Selecting previously unselected package python3-statsd. Preparing to unpack .../256-python3-statsd_3.2.1-2_all.deb ... Unpacking python3-statsd (3.2.1-2) ... Selecting previously unselected package python3-oslo.middleware. Preparing to unpack .../257-python3-oslo.middleware_3.36.0-2_all.deb ... Unpacking python3-oslo.middleware (3.36.0-2) ... Selecting previously unselected package python3-paste. Preparing to unpack .../258-python3-paste_3.0.6+dfsg-1_all.deb ... Unpacking python3-paste (3.0.6+dfsg-1) ... Selecting previously unselected package python3-pastedeploy. Preparing to unpack .../259-python3-pastedeploy_2.0.1-1_all.deb ... Unpacking python3-pastedeploy (2.0.1-1) ... Selecting previously unselected package python3-repoze.lru. Preparing to unpack .../260-python3-repoze.lru_0.7-1_all.deb ... Unpacking python3-repoze.lru (0.7-1) ... Selecting previously unselected package python3-routes. Preparing to unpack .../261-python3-routes_2.4.1-1_all.deb ... Unpacking python3-routes (2.4.1-1) ... Selecting previously unselected package python3-oslo.service. Preparing to unpack .../262-python3-oslo.service_1.31.8-1_all.deb ... Unpacking python3-oslo.service (1.31.8-1) ... Selecting previously unselected package python3-tenacity. Preparing to unpack .../263-python3-tenacity_4.12.0-2_all.deb ... Unpacking python3-tenacity (4.12.0-2) ... Selecting previously unselected package python3-zmq. Preparing to unpack .../264-python3-zmq_17.1.2-2+deb10u1_armhf.deb ... Unpacking python3-zmq (17.1.2-2+deb10u1) ... Selecting previously unselected package python3-oslo.messaging. Preparing to unpack .../265-python3-oslo.messaging_8.1.4-1+deb10u1_all.deb ... Unpacking python3-oslo.messaging (8.1.4-1+deb10u1) ... Selecting previously unselected package python3-oslo.policy. Preparing to unpack .../266-python3-oslo.policy_1.38.1-2_all.deb ... Unpacking python3-oslo.policy (1.38.1-2) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../267-python3-psutil_5.5.1-1_armhf.deb ... Unpacking python3-psutil (5.5.1-1) ... Selecting previously unselected package python3-oslo.reports. Preparing to unpack .../268-python3-oslo.reports_1.28.0-2_all.deb ... Unpacking python3-oslo.reports (1.28.0-2) ... Selecting previously unselected package python3-oslo.versionedobjects. Preparing to unpack .../269-python3-oslo.versionedobjects_1.33.3-2_all.deb ... Unpacking python3-oslo.versionedobjects (1.33.3-2) ... Selecting previously unselected package python3-oslotest. Preparing to unpack .../270-python3-oslotest_1%3a3.6.0-2_all.deb ... Unpacking python3-oslotest (1:3.6.0-2) ... Selecting previously unselected package python3-simplegeneric. Preparing to unpack .../271-python3-simplegeneric_0.8.1-2_all.deb ... Unpacking python3-simplegeneric (0.8.1-2) ... Selecting previously unselected package python3-singledispatch. Preparing to unpack .../272-python3-singledispatch_3.4.0.3-2_all.deb ... Unpacking python3-singledispatch (3.4.0.3-2) ... Selecting previously unselected package python3-waitress. Preparing to unpack .../273-python3-waitress_1.2.0~b2-2_all.deb ... Unpacking python3-waitress (1.2.0~b2-2) ... Selecting previously unselected package python3-webtest. Preparing to unpack .../274-python3-webtest_2.0.32-1_all.deb ... Unpacking python3-webtest (2.0.32-1) ... Selecting previously unselected package python3-pecan. Preparing to unpack .../275-python3-pecan_1.3.2-2_all.deb ... Unpacking python3-pecan (1.3.2-2) ... Selecting previously unselected package python3-psycopg2. Preparing to unpack .../276-python3-psycopg2_2.7.7-1_armhf.deb ... Unpacking python3-psycopg2 (2.7.7-1) ... Selecting previously unselected package python3-pymysql. Preparing to unpack .../277-python3-pymysql_0.9.3-1_all.deb ... Unpacking python3-pymysql (0.9.3-1) ... Selecting previously unselected package python3-sphinxcontrib.httpdomain. Preparing to unpack .../278-python3-sphinxcontrib.httpdomain_1.5.0-2_all.deb ... Unpacking python3-sphinxcontrib.httpdomain (1.5.0-2) ... Selecting previously unselected package python3-sphinxcontrib-pecanwsme. Preparing to unpack .../279-python3-sphinxcontrib-pecanwsme_0.8.0-7_all.deb ... Unpacking python3-sphinxcontrib-pecanwsme (0.8.0-7) ... Selecting previously unselected package python3-taskflow. Preparing to unpack .../280-python3-taskflow_3.2.0-3_all.deb ... Unpacking python3-taskflow (3.2.0-3) ... Selecting previously unselected package python3-wsme. Preparing to unpack .../281-python3-wsme_0.9.3-2_all.deb ... Unpacking python3-wsme (0.9.3-2) ... Setting up libpipeline1:armhf (1.5.1-2) ... Setting up lsb-base (10.2019051400) ... Setting up libxau6:armhf (1:1.0.8-1+b2) ... Setting up libsubunit-perl (1.3.0-1) ... Setting up libkeyutils1:armhf (1.6-6) ... Setting up libapparmor1:armhf (2.13.2-10) ... Setting up libpsl5:armhf (0.20.2-2) ... Setting up libsodium23:armhf (1.0.17-1) ... Setting up mime-support (3.62) ... Setting up libmagic-mgc (1:5.35-4+deb10u2) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libyaml-0-2:armhf (0.2.1-1) ... Setting up libglib2.0-0:armhf (2.58.3-2+deb10u2) ... No schema files found: doing nothing. Setting up fonts-glyphicons-halflings (1.009~3.4.1+dfsg-1) ... Setting up libprocps7:armhf (2:3.3.15-2) ... Setting up libnorm1:armhf (1.5.8+dfsg2-1) ... Setting up x11-common (1:7.7+19) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libmagic1:armhf (1:5.35-4+deb10u2) ... Setting up gettext-base (0.19.8.1-9) ... Setting up file (1:5.35-4+deb10u2) ... Setting up libldap-common (2.4.47+dfsg-3+deb10u4) ... Setting up libicu63:armhf (63.1-6+deb10u1) ... Setting up python-babel-localedata (2.6.0+dfsg.1-1) ... Setting up libkrb5support0:armhf (1.17-3+deb10u1) ... Setting up libsasl2-modules-db:armhf (2.1.27+dfsg-1+deb10u1) ... Setting up autotools-dev (20180224.1) ... Setting up python-pastedeploy-tpl (2.0.1-1) ... Setting up libx11-data (2:1.6.7-1+deb10u1) ... Setting up libncurses6:armhf (6.1+20181013-2+deb10u2) ... Setting up libdbus-1-3:armhf (1.12.20-0+deb10u1) ... Setting up dbus (1.12.20-0+deb10u1) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libsigsegv2:armhf (2.12-2) ... Setting up autopoint (0.19.8.1-9) ... Setting up libpcre2-8-0:armhf (10.32-5) ... Setting up libk5crypto3:armhf (1.17-3+deb10u1) ... Setting up libsasl2-2:armhf (2.1.27+dfsg-1+deb10u1) ... Setting up pycadf-common (2.7.0-2) ... Setting up sensible-utils (0.0.12) ... Setting up libuchardet0:armhf (0.0.6-3) ... Setting up procps (2:3.3.15-2) ... update-alternatives: using /usr/bin/w.procps to provide /usr/bin/w (w) in auto mode Setting up netbase (5.6) ... Setting up sgml-base (1.29) ... Setting up libkrb5-3:armhf (1.17-3+deb10u1) ... Setting up libmpdec2:armhf (2.4.2-2) ... Setting up libjs-jquery (3.3.1~dfsg-3) ... Setting up openssl (1.1.1d-0+deb10u4) ... Setting up libbsd0:armhf (0.9.1-2) ... Setting up libelf1:armhf (0.176-1.1) ... Setting up readline-common (7.0-5) ... Setting up libxml2:armhf (2.9.4+dfsg1-7+deb10u1) ... Setting up libonig5:armhf (6.9.1-1) ... Setting up libjs-bootstrap (3.4.1+dfsg-1) ... Setting up libreadline7:armhf (7.0-5) ... Setting up libpgm-5.2-0:armhf (5.2.122~dfsg-3) ... Setting up libjs-underscore (1.9.1~dfsg-1) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up libice6:armhf (2:1.0.9-2) ... Setting up libxdmcp6:armhf (1:1.1.2-3) ... Setting up libpython3.7-stdlib:armhf (3.7.3-2+deb10u2) ... Setting up libxcb1:armhf (1.13.1-2) ... Setting up wget (1.20.1-1.1) ... Setting up libtool (2.4.6-9) ... Setting up libjq1:armhf (1.5+dfsg-2+b1) ... Setting up libldap-2.4-2:armhf (2.4.47+dfsg-3+deb10u4) ... Setting up m4 (1.4.18-2) ... Setting up libpython2.7-stdlib:armhf (2.7.16-2+deb10u1) ... Setting up ca-certificates (20200601~deb10u2) ... Updating certificates in /etc/ssl/certs... 137 added, 0 removed; done. Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up python-os-api-ref-common (1.5.0+dfsg1-4) ... Setting up libgssapi-krb5-2:armhf (1.17-3+deb10u1) ... Setting up libcroco3:armhf (0.6.12-3) ... Setting up libjs-sphinxdoc (1.8.4-1) ... Setting up autoconf (2.69-11) ... Setting up dwz (0.12-3) ... Setting up ieee-data (20180805.1) ... Setting up groff-base (1.22.4-3) ... Setting up xml-core (0.18+nmu1) ... Setting up jq (1.5+dfsg-2+b1) ... Setting up libxslt1.1:armhf (1.1.32-2.2~deb10u1) ... Setting up libx11-6:armhf (2:1.6.7-1+deb10u1) ... Setting up libsm6:armhf (2:1.2.3-1) ... Setting up libpython3-stdlib:armhf (3.7.3-1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up python3.7 (3.7.3-2+deb10u2) ... Setting up gettext (0.19.8.1-9) ... Setting up libzmq5:armhf (4.3.1-4+deb10u2) ... Setting up python2.7 (2.7.16-2+deb10u1) ... Setting up libpython2-stdlib:armhf (2.7.16-1) ... Setting up libpq5:armhf (11.10-0+deb10u1) ... Setting up libxext6:armhf (2:1.3.3-1+b2) ... Setting up python3 (3.7.3-1) ... Setting up python3-contextlib2 (0.5.5-1) ... Setting up python3-kafka (1.4.3-1) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-markupsafe (1.1.0-1) ... Setting up python2 (2.7.16-1) ... Setting up python3-ujson (1.35-3) ... Setting up python3-psutil (5.5.1-1) ... Setting up python3-tz (2019.1-1) ... Setting up python3-sqlalchemy (1.2.18+ds1-2) ... Setting up python3-vine (1.1.4+dfsg-2) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up python3-monotonic (1.1-2) ... Setting up python3-dogpile.cache (0.6.2-6) ... Setting up python3-six (1.12.0-1) ... Setting up python3-simplejson (3.16.0-1) ... Setting up libpython-stdlib:armhf (2.7.16-1) ... Setting up python3-roman (2.0.0-3) ... Setting up python3-decorator (4.3.0-1.1) ... Setting up python3-pycodestyle (2.4.0-2) ... Setting up python3-jinja2 (2.10-2) ... Setting up python3-pygments (2.3.1+dfsg-1) ... Setting up python3-tempita (0.5.2-2) ... Setting up python3-iso8601 (0.1.11-1) ... Setting up python3-sqlparse (0.2.4-1) ... Setting up python3-wcwidth (0.1.7+dfsg1-3) ... Setting up python3-rfc3986 (0.3.1-2) ... Setting up python3-pyparsing (2.2.0+dfsg1-2) ... Setting up python3-certifi (2018.8.24-1) ... Setting up python3-linecache2 (1.0.0-3) ... Setting up python3-jmespath (0.9.4-1) ... Setting up python3-funcsigs (1.0.2-4) ... Setting up python3-zmq (17.1.2-2+deb10u1) ... Setting up sphinx-common (1.8.4-1) ... Setting up python3-greenlet (0.4.15-2) ... Setting up python3-idna (2.6-1) ... Setting up python3-wrapt (1.10.11-1) ... Setting up python3-psycopg2 (2.7.7-1) ... Setting up python3-pymysql (0.9.3-1) ... Setting up python3-fasteners (0.12.0-3) ... Setting up libxt6:armhf (1:1.1.5-1+b3) ... Setting up python3-urllib3 (1.24.1-1) ... Setting up python3-unicodecsv (0.14.1-1) ... Setting up python3-netifaces (0.10.4-1+b1) ... Setting up python3-netaddr (0.7.19-1) ... Setting up python3-json-pointer (1.10-1) ... update-alternatives: using /usr/bin/python3-jsonpointer to provide /usr/bin/jsonpointer (jsonpointer) in auto mode Setting up python3-lxml:armhf (4.3.2-1+deb10u2) ... Setting up python3-dulwich (0.19.11-2) ... Setting up python3-amqp (2.4.0-2) ... Setting up python3-crypto (2.6.1-9+b1) ... Setting up python3-dateutil (2.7.3-3) ... Setting up python3-mccabe (0.6.1-2) ... Setting up python3-anyjson (0.3.3-1) ... Setting up python3-msgpack (0.5.6-1+b1) ... Setting up python3-singledispatch (3.4.0.3-2) ... Setting up python3-voluptuous (0.11.1-1) ... Setting up python3-logutils (0.3.3-5) ... Setting up python3-tzlocal (1.5.1-1) ... Setting up python3-simplegeneric (0.8.1-2) ... Setting up python3-prettytable (0.7.2-4) ... Setting up python3-lib2to3 (3.7.3-1) ... Setting up python3-appdirs (1.4.3-1) ... Setting up python (2.7.16-1) ... Setting up python3-asn1crypto (0.24.0-1) ... Setting up python3-soupsieve (1.8+dfsg-1) ... Setting up python3-mimeparse (0.1.4-3.1) ... Setting up python3-freezegun (0.3.11-0.1) ... Setting up python3-cffi-backend (1.12.2-1) ... Setting up python3-mako (1.0.7+ds1-1) ... Setting up python3-webob (1:1.8.5-1) ... Setting up python3-imagesize (1.0.0-1) ... Setting up python3-blinker (1.4+dfsg1-0.2) ... Setting up python-extras (1.0.0-3) ... Setting up python3-pkg-resources (40.8.0-1) ... Setting up python3-entrypoints (0.3-1) ... Setting up python3-distutils (3.7.3-1) ... Setting up dh-python (3.20190308) ... Setting up python3-dbus (1.2.8-3) ... Setting up libxmu6:armhf (2:1.1.2-2+b3) ... Setting up python3-waitress (1.2.0~b2-2) ... update-alternatives: using /usr/bin/waitress-serve-python3 to provide /usr/bin/waitress-serve (waitress-serve) in auto mode Setting up python3-setuptools (40.8.0-1) ... Setting up python3-repoze.lru (0.7-1) ... Setting up python3-jwt (1.7.0-2) ... Setting up python3-cachetools (3.1.0-2) ... Setting up python3-babel (2.6.0+dfsg.1-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-pbr (4.2.0-5) ... update-alternatives: using /usr/bin/python3-pbr to provide /usr/bin/pbr (pbr) in auto mode Setting up python3-statsd (3.2.1-2) ... Setting up python-pkg-resources (40.8.0-1) ... Setting up python3-alabaster (0.7.8-1) ... Setting up po-debconf (1.0.21) ... Setting up python3-jsonpatch (1.21-1) ... update-alternatives: using /usr/bin/python3-jsondiff to provide /usr/bin/jsondiff (jsondiff) in auto mode update-alternatives: using /usr/bin/python3-jsonpatch to provide /usr/bin/jsonpatch (jsonpatch) in auto mode Setting up python3-tenacity (4.12.0-2) ... Setting up python3-pyinotify (0.9.6-1) ... Setting up python3-pyflakes (2.0.0-1) ... Setting up python3-extras (1.0.0-3) ... Setting up python3-memcache (1.59-1) ... Setting up python3-croniter (0.3.24-2) ... Setting up python3-traceback2 (1.4.0-5) ... Setting up python3-all (3.7.3-1) ... Setting up python3-requestsexceptions (1.4.0-1) ... Setting up python3-coverage (4.5.2+dfsg.1-1) ... Setting up python3-yaml (3.13-2) ... Setting up python3-futurist (1.6.0-2) ... Setting up python3-debtcollector (1.20.0-2) ... Setting up python-linecache2 (1.0.0-3) ... Setting up python-mimeparse (0.1.4-3.1) ... Setting up python3-networkx (2.2-1) ... Setting up python3-kombu (4.2.1-3) ... Setting up python3-munch (2.3.2-1) ... Setting up openstack-pkg-tools (91) ... Setting up python3-bs4 (4.7.1-1) ... Setting up python3-apscheduler (3.5.3-1) ... Setting up python3-flake8 (3.6.0-1) ... Setting up python3-mock (2.0.0-4) ... Setting up python-six (1.12.0-1) ... Setting up python3-routes (2.4.1-1) ... Setting up python3-eventlet (0.20.0-6) ... Setting up python3-packaging (19.0-1) ... Setting up python3-chardet (3.0.4-3) ... Setting up python3-paste (3.0.6+dfsg-1) ... Setting up python3-jsonschema (2.6.0-4) ... update-alternatives: using /usr/bin/python3-jsonschema to provide /usr/bin/jsonschema (jsonschema) in auto mode Setting up python3-kazoo (2.5.0-1) ... Setting up python3-cryptography (2.6.1-3+deb10u2) ... Setting up python3-requests (2.21.0-1) ... Setting up python3-unittest2 (1.1.0-6.1) ... update-alternatives: using /usr/bin/python3-unit2 to provide /usr/bin/unit2 (unit2) in auto mode Setting up xclip (0.13-1) ... Setting up python-setuptools (40.8.0-1) ... Setting up python3-deprecation (2.0.6-1) ... Setting up python3-oslo.context (2.21.0-2) ... Setting up python3-automaton (1.15.0-1) ... Setting up python3-os-service-types (1.3.0-2) ... Setting up python3-stevedore (1.29.0-2) ... Setting up python-pbr (4.2.0-5) ... update-alternatives: using /usr/bin/python2-pbr to provide /usr/bin/pbr (pbr) in auto mode Setting up python3-future (0.16.0-1) ... update-alternatives: using /usr/bin/python3-futurize to provide /usr/bin/futurize (futurize) in auto mode update-alternatives: using /usr/bin/python3-pasteurize to provide /usr/bin/pasteurize (pasteurize) in auto mode Setting up python-netaddr (0.7.19-1) ... Setting up python3-migrate (0.11.0-5) ... update-alternatives: using /usr/bin/python3-migrate to provide /usr/bin/migrate (migrate) in auto mode update-alternatives: using /usr/bin/python3-migrate-repository to provide /usr/bin/migrate-repository (migrate-repository) in auto mode Setting up python3-oslo.i18n (3.21.0-2) ... Setting up python3-editor (1.0.3-1) ... Setting up python3-pep8 (1.7.1-3) ... Setting up pyflakes3 (2.0.0-1) ... Setting up python3-testresources (2.0.0-2) ... Setting up python3-wsme (0.9.3-2) ... Setting up python3-warlock (1.2.0-2) ... Setting up python3-openssl (19.0.0-1) ... Setting up python-traceback2 (1.4.0-5) ... Setting up python3-pastedeploy (2.0.1-1) ... Setting up python3-pyperclip (1.6.4-1) ... Setting up python3-oslo.utils (3.36.5-0+deb10u1) ... Setting up flake8 (3.6.0-1) ... Setting up python3-oauthlib (2.1.0-1) ... Setting up python3-secretstorage (2.3.1-2) ... Setting up python3-cmd2 (0.8.5-2) ... Setting up python3-alembic (1.0.0-3) ... Setting up python3-keyring (17.1.1-1) ... Setting up python3-webtest (2.0.32-1) ... Setting up python-unittest2 (1.1.0-6.1) ... update-alternatives: using /usr/bin/python2-unit2 to provide /usr/bin/unit2 (unit2) in auto mode Setting up python3-keystoneauth1 (3.10.0-2) ... Setting up alembic (1.0.0-3) ... Setting up python3-hacking (1.1.0-2) ... Setting up python3-pecan (1.3.2-2) ... update-alternatives: using /usr/bin/python3-pecan to provide /usr/bin/pecan (pecan) in auto mode update-alternatives: using /usr/bin/python3-gunicorn_pecan to provide /usr/bin/gunicorn_pecan (gunicorn_pecan) in auto mode Setting up python3-oslo.serialization (2.27.0-2) ... Setting up python3-novaclient (2:11.0.0-2) ... update-alternatives: using /usr/bin/python3-nova to provide /usr/bin/nova (nova) in auto mode Setting up python3-glanceclient (1:2.13.1-1) ... update-alternatives: using /usr/bin/python3-glance to provide /usr/bin/glance (glance) in auto mode Setting up python3-openstacksdk (0.17.2-2) ... Setting up python3-taskflow (3.2.0-3) ... Setting up python3-cinderclient (1:4.0.1-2) ... update-alternatives: using /usr/bin/python3-cinder to provide /usr/bin/cinder (cinder) in auto mode Setting up python3-ceilometerclient (2.9.0-2) ... update-alternatives: using /usr/bin/python3-ceilometer to provide /usr/bin/ceilometer (ceilometer) in auto mode Setting up python3-os-client-config (1.31.2-2) ... Setting up python3-oslo.reports (1.28.0-2) ... Setting up python-testtools (2.3.0-5) ... Setting up dh-autoreconf (19) ... Setting up python3-fixtures (3.0.0-2) ... Setting up python-subunit (1.3.0-1) ... Setting up python3-testtools (2.3.0-5) ... Setting up python-fixtures (3.0.0-2) ... Setting up debhelper (12.1.1) ... Setting up python3-subunit (1.3.0-1) ... Setting up python3-mox3 (0.24.0-1) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Setting up python3-testscenarios (0.5.0-2) ... Setting up subunit (1.3.0-1) ... Processing triggers for libc-bin (2.28-10) ... Processing triggers for sgml-base (1.29) ... Setting up docutils-common (0.14+dfsg-4) ... Processing triggers for sgml-base (1.29) ... Setting up python3-docutils (0.14+dfsg-4) ... update-alternatives: using /usr/share/docutils/scripts/python3/rst-buildhtml to provide /usr/bin/rst-buildhtml (rst-buildhtml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2html to provide /usr/bin/rst2html (rst2html) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2html4 to provide /usr/bin/rst2html4 (rst2html4) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2html5 to provide /usr/bin/rst2html5 (rst2html5) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2latex to provide /usr/bin/rst2latex (rst2latex) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2man to provide /usr/bin/rst2man (rst2man) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2odt to provide /usr/bin/rst2odt (rst2odt) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2odt_prepstyles to provide /usr/bin/rst2odt_prepstyles (rst2odt_prepstyles) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2pseudoxml to provide /usr/bin/rst2pseudoxml (rst2pseudoxml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2s5 to provide /usr/bin/rst2s5 (rst2s5) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2xetex to provide /usr/bin/rst2xetex (rst2xetex) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rst2xml to provide /usr/bin/rst2xml (rst2xml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python3/rstpep2html to provide /usr/bin/rstpep2html (rstpep2html) in auto mode Setting up python3-cliff (2.13.0-1) ... Setting up python3-oslo.config (1:6.4.1-1) ... update-alternatives: using /usr/bin/python3-oslo-config-generator to provide /usr/bin/oslo-config-generator (oslo-config-generator) in auto mode Setting up python3-oslo.middleware (3.36.0-2) ... Setting up python3-keystoneclient (1:3.17.0-2) ... Setting up python3-oslo.db (4.40.0-3) ... Setting up python3-osc-lib (1.11.1-2) ... Setting up python3-oslo.concurrency (3.27.0-3) ... update-alternatives: using /usr/bin/python3-lockutils-wrapper to provide /usr/bin/lockutils-wrapper (lockutils-wrapper) in auto mode Setting up python3-sphinx (1.8.4-1) ... update-alternatives: using /usr/share/sphinx/scripts/python3/sphinx-apidoc to provide /usr/bin/sphinx-apidoc (sphinx-apidoc) in auto mode update-alternatives: using /usr/share/sphinx/scripts/python3/sphinx-autogen to provide /usr/bin/sphinx-autogen (sphinx-autogen) in auto mode update-alternatives: using /usr/share/sphinx/scripts/python3/sphinx-build to provide /usr/bin/sphinx-build (sphinx-build) in auto mode update-alternatives: using /usr/share/sphinx/scripts/python3/sphinx-quickstart to provide /usr/bin/sphinx-quickstart (sphinx-quickstart) in auto mode Setting up python3-oslo.log (3.39.0-2) ... update-alternatives: using /usr/bin/python3-convert-json to provide /usr/bin/convert-json (convert-json) in auto mode Setting up python3-pycadf (2.7.0-2) ... Setting up python3-gnocchiclient (7.0.2-2) ... update-alternatives: using /usr/bin/python3-gnocchi to provide /usr/bin/gnocchi (gnocchi) in auto mode Setting up python3-oslo.policy (1.38.1-2) ... update-alternatives: using /usr/bin/python3-oslopolicy-checker to provide /usr/bin/oslopolicy-checker (oslopolicy-checker) in auto mode update-alternatives: using /usr/bin/python3-oslopolicy-list-redundant to provide /usr/bin/oslopolicy-list-redundant (oslopolicy-list-redundant) in auto mode update-alternatives: using /usr/bin/python3-oslopolicy-policy-generator to provide /usr/bin/oslopolicy-policy-generator (oslopolicy-policy-generator) in auto mode update-alternatives: using /usr/bin/python3-oslopolicy-sample-generator to provide /usr/bin/oslopolicy-sample-generator (oslopolicy-sample-generator) in auto mode Setting up python3-monascaclient (1.12.1-2) ... update-alternatives: using /usr/bin/python3-monasca to provide /usr/bin/monasca (monasca) in auto mode Setting up python3-stestr (2.1.0-2) ... update-alternatives: using /usr/bin/python3-stestr to provide /usr/bin/stestr (stestr) in auto mode Setting up python3-sphinxcontrib.httpdomain (1.5.0-2) ... Setting up python3-sphinxcontrib-pecanwsme (0.8.0-7) ... Setting up python3-oslo.service (1.31.8-1) ... Setting up python3-oslotest (1:3.6.0-2) ... update-alternatives: using /usr/bin/python3-oslo_debug_helper to provide /usr/bin/oslo_debug_helper (oslo_debug_helper) in auto mode update-alternatives: using /usr/bin/python3-oslo_run_pre_release_tests to provide /usr/bin/oslo_run_pre_release_tests (oslo_run_pre_release_tests) in auto mode update-alternatives: using /usr/bin/python3-oslo_run_cross_tests to provide /usr/bin/oslo_run_cross_tests (oslo_run_cross_tests) in auto mode Setting up python3-oslo.messaging (8.1.4-1+deb10u1) ... update-alternatives: using /usr/bin/python3-oslo-messaging-send-notification to provide /usr/bin/oslo-messaging-send-notification (oslo-messaging-send-notification) in auto mode update-alternatives: using /usr/bin/python3-oslo-messaging-zmq-broker to provide /usr/bin/oslo-messaging-zmq-broker (oslo-messaging-zmq-broker) in auto mode Setting up python3-openstackdocstheme (1.20.0-3) ... Setting up python3-neutronclient (1:6.9.1-1) ... update-alternatives: using /usr/bin/python3-neutron to provide /usr/bin/neutron (neutron) in auto mode Setting up python3-oslo.cache (1.30.3-1) ... Setting up python3-os-testr (1.0.0-4) ... update-alternatives: using /usr/bin/python3-ostestr to provide /usr/bin/ostestr (ostestr) in auto mode update-alternatives: using /usr/bin/python3-subunit-trace to provide /usr/bin/subunit-trace (subunit-trace) in auto mode update-alternatives: using /usr/bin/python3-subunit2html to provide /usr/bin/subunit2html (subunit2html) in auto mode update-alternatives: using /usr/bin/python3-generate-subunit to provide /usr/bin/generate-subunit (generate-subunit) in auto mode Setting up python3-oslo.versionedobjects (1.33.3-2) ... Setting up python3-keystonemiddleware (5.2.0-2) ... Setting up python3-openstackclient (3.16.2-1) ... update-alternatives: using /usr/bin/python3-openstack to provide /usr/bin/openstack (openstack) in auto mode Setting up python3-os-api-ref (1.5.0+dfsg1-4) ... Setting up python3-ironicclient (2.5.0-2) ... update-alternatives: using /usr/bin/python3-ironic to provide /usr/bin/ironic (ironic) in auto mode Processing triggers for ca-certificates (20200601~deb10u2) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/watcher-1.12.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package watcher dpkg-buildpackage: info: source version 1.12.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture armhf dpkg-source: info: using options from watcher-1.12.0/debian/source/options: --extend-diff-ignore=^[.]gitreview$ fakeroot debian/rules clean pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions dh clean --buildsystem=python_distutils --with python3,systemd,sphinxdoc debian/rules override_dh_auto_clean make[1]: Entering directory '/build/watcher-1.12.0' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions python3 setup.py clean running clean make[1]: Leaving directory '/build/watcher-1.12.0' dh_autoreconf_clean -O--buildsystem=python_distutils debian/rules override_dh_clean make[1]: Entering directory '/build/watcher-1.12.0' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions dh_clean rm -f debian/watcher-common.config debian/watcher-common.postinst debian/watcher-api.config debian/watcher-api.postinst rm -rf debian/*.upstart debian/*.service rm -rf debian/watcher-common.postrm debian/*.templates debian/po make[1]: Leaving directory '/build/watcher-1.12.0' debian/rules build pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions dh build --buildsystem=python_distutils --with python3,systemd,sphinxdoc dh_update_autotools_config -O--buildsystem=python_distutils dh_autoreconf -O--buildsystem=python_distutils dh_auto_configure -O--buildsystem=python_distutils dh_auto_configure: Please use the third-party "pybuild" build system instead of python-distutils dh_auto_configure: This feature will be removed in compat 12. debian/rules override_dh_auto_build make[1]: Entering directory '/build/watcher-1.12.0' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func watcher-common.config /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func watcher-common.postinst /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func watcher-api.config /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func watcher-api.postinst /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_postrm watcher-common.postrm pkgos-merge-templates watcher-api watcher endpoint Merging cs.po... Merging da.po... Merging de.po... Merging es.po... Merging fr.po... Merging gl.po... Merging it.po... Merging ja.po... Merging nl.po... Merging pl.po... Merging pt.po... Merging pt_BR.po... Merging ru.po... Merging sv.po... Merging zh_CN.po... pkgos-merge-templates watcher-common watcher db rabbit ksat Merging cs.po... Merging da.po... Merging de.po... Merging es.po... Merging fr.po... Merging gl.po... Merging it.po... Merging ja.po... Merging nl.po... Merging pl.po... Merging pt.po... Merging pt_BR.po... Merging ru.po... Merging sv.po... Merging zh_CN.po... make[1]: Leaving directory '/build/watcher-1.12.0' debian/rules override_dh_auto_test make[1]: Entering directory '/build/watcher-1.12.0' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/watcher-1.12.0' create-stamp debian/debhelper-build-stamp fakeroot debian/rules binary pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions dh binary --buildsystem=python_distutils --with python3,systemd,sphinxdoc dh_testroot -O--buildsystem=python_distutils dh_prep -O--buildsystem=python_distutils debian/rules override_dh_auto_install make[1]: Entering directory '/build/watcher-1.12.0' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/watcher-1.12.0' debian/rules override_dh_install make[1]: Entering directory '/build/watcher-1.12.0' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions pkgos-dh_auto_install --no-py2 + PKGOS_USE_PY2=yes + PKGOS_USE_PY3=yes + for i in $@ + case "${1}" in + PKGOS_USE_PY2=no + shift ++ dpkg-parsechangelog -SSource + SRC_PKG_NAME=watcher ++ sed s/python-// ++ echo watcher + PY_MODULE_NAME=watcher + '[' no = yes ']' + '[' yes = yes ']' ++ py3versions -vr + PYTHON3S=3.7 + '[' no = yes ']' + '[' yes = yes ']' + for pyvers in ${PYTHON3S} ++ pwd + python3.7 setup.py install --install-layout=deb --root /build/watcher-1.12.0/debian/python3-watcher running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.1s) running build running build_py creating build creating build/lib creating build/lib/watcher creating build/lib/watcher/tests creating build/lib/watcher/tests/decision_engine creating build/lib/watcher/tests/decision_engine/event_consumer copying watcher/tests/decision_engine/event_consumer/__init__.py -> build/lib/watcher/tests/decision_engine/event_consumer creating build/lib/watcher/decision_engine creating build/lib/watcher/decision_engine/strategy creating build/lib/watcher/decision_engine/strategy/context copying watcher/decision_engine/strategy/context/default.py -> build/lib/watcher/decision_engine/strategy/context copying watcher/decision_engine/strategy/context/base.py -> build/lib/watcher/decision_engine/strategy/context copying watcher/decision_engine/strategy/context/__init__.py -> build/lib/watcher/decision_engine/strategy/context creating build/lib/watcher/decision_engine/goal creating build/lib/watcher/decision_engine/goal/efficacy copying watcher/decision_engine/goal/efficacy/indicators.py -> build/lib/watcher/decision_engine/goal/efficacy copying watcher/decision_engine/goal/efficacy/specs.py -> build/lib/watcher/decision_engine/goal/efficacy copying watcher/decision_engine/goal/efficacy/base.py -> build/lib/watcher/decision_engine/goal/efficacy copying watcher/decision_engine/goal/efficacy/__init__.py -> build/lib/watcher/decision_engine/goal/efficacy creating build/lib/watcher/tests/datasource copying watcher/tests/datasource/test_monasca_helper.py -> build/lib/watcher/tests/datasource copying watcher/tests/datasource/test_manager.py -> build/lib/watcher/tests/datasource copying watcher/tests/datasource/__init__.py -> build/lib/watcher/tests/datasource copying watcher/tests/datasource/test_ceilometer_helper.py -> build/lib/watcher/tests/datasource copying watcher/tests/datasource/test_gnocchi_helper.py -> build/lib/watcher/tests/datasource creating build/lib/watcher/applier creating build/lib/watcher/applier/messaging copying watcher/applier/messaging/trigger.py -> build/lib/watcher/applier/messaging copying watcher/applier/messaging/__init__.py -> build/lib/watcher/applier/messaging copying watcher/applier/sync.py -> build/lib/watcher/applier copying watcher/applier/default.py -> build/lib/watcher/applier copying watcher/applier/manager.py -> build/lib/watcher/applier copying watcher/applier/base.py -> build/lib/watcher/applier copying watcher/applier/__init__.py -> build/lib/watcher/applier copying watcher/applier/rpcapi.py -> build/lib/watcher/applier creating build/lib/watcher/decision_engine/audit copying watcher/decision_engine/audit/oneshot.py -> build/lib/watcher/decision_engine/audit copying watcher/decision_engine/audit/base.py -> build/lib/watcher/decision_engine/audit copying watcher/decision_engine/audit/__init__.py -> build/lib/watcher/decision_engine/audit copying watcher/decision_engine/audit/continuous.py -> build/lib/watcher/decision_engine/audit creating build/lib/watcher/tests/decision_engine/scope copying watcher/tests/decision_engine/scope/fake_scopes.py -> build/lib/watcher/tests/decision_engine/scope copying watcher/tests/decision_engine/scope/test_storage.py -> build/lib/watcher/tests/decision_engine/scope copying watcher/tests/decision_engine/scope/__init__.py -> build/lib/watcher/tests/decision_engine/scope copying watcher/tests/decision_engine/scope/test_compute.py -> build/lib/watcher/tests/decision_engine/scope copying watcher/tests/conf_fixture.py -> build/lib/watcher/tests copying watcher/tests/base.py -> build/lib/watcher/tests copying watcher/tests/policy_fixture.py -> build/lib/watcher/tests copying watcher/tests/__init__.py -> build/lib/watcher/tests copying watcher/tests/config.py -> build/lib/watcher/tests copying watcher/tests/fake_policy.py -> build/lib/watcher/tests copying watcher/tests/fakes.py -> build/lib/watcher/tests creating build/lib/watcher/notifications copying watcher/notifications/goal.py -> build/lib/watcher/notifications copying watcher/notifications/action_plan.py -> build/lib/watcher/notifications copying watcher/notifications/exception.py -> build/lib/watcher/notifications copying watcher/notifications/audit.py -> build/lib/watcher/notifications copying watcher/notifications/base.py -> build/lib/watcher/notifications copying watcher/notifications/__init__.py -> build/lib/watcher/notifications copying watcher/notifications/action.py -> build/lib/watcher/notifications copying watcher/notifications/service.py -> build/lib/watcher/notifications copying watcher/notifications/strategy.py -> build/lib/watcher/notifications creating build/lib/watcher/decision_engine/strategy/selection copying watcher/decision_engine/strategy/selection/default.py -> build/lib/watcher/decision_engine/strategy/selection copying watcher/decision_engine/strategy/selection/base.py -> build/lib/watcher/decision_engine/strategy/selection copying watcher/decision_engine/strategy/selection/__init__.py -> build/lib/watcher/decision_engine/strategy/selection creating build/lib/watcher/decision_engine/solution copying watcher/decision_engine/solution/default.py -> build/lib/watcher/decision_engine/solution copying watcher/decision_engine/solution/solution_evaluator.py -> build/lib/watcher/decision_engine/solution copying watcher/decision_engine/solution/base.py -> build/lib/watcher/decision_engine/solution copying watcher/decision_engine/solution/__init__.py -> build/lib/watcher/decision_engine/solution copying watcher/decision_engine/solution/efficacy.py -> build/lib/watcher/decision_engine/solution copying watcher/decision_engine/solution/solution_comparator.py -> build/lib/watcher/decision_engine/solution creating build/lib/watcher/tests/decision_engine/planner copying watcher/tests/decision_engine/planner/__init__.py -> build/lib/watcher/tests/decision_engine/planner copying watcher/tests/decision_engine/planner/test_planner_manager.py -> build/lib/watcher/tests/decision_engine/planner copying watcher/tests/decision_engine/planner/test_workload_stabilization_planner.py -> build/lib/watcher/tests/decision_engine/planner copying watcher/tests/decision_engine/planner/test_weight_planner.py -> build/lib/watcher/tests/decision_engine/planner creating build/lib/watcher/tests/decision_engine/strategy copying watcher/tests/decision_engine/strategy/__init__.py -> build/lib/watcher/tests/decision_engine/strategy creating build/lib/watcher/tests/applier creating build/lib/watcher/tests/applier/actions creating build/lib/watcher/tests/applier/actions/loading copying watcher/tests/applier/actions/loading/test_default_actions_loader.py -> build/lib/watcher/tests/applier/actions/loading copying watcher/tests/applier/actions/loading/__init__.py -> build/lib/watcher/tests/applier/actions/loading creating build/lib/watcher/common creating build/lib/watcher/common/policies copying watcher/common/policies/scoring_engine.py -> build/lib/watcher/common/policies copying watcher/common/policies/goal.py -> build/lib/watcher/common/policies copying watcher/common/policies/action_plan.py -> build/lib/watcher/common/policies copying watcher/common/policies/audit_template.py -> build/lib/watcher/common/policies copying watcher/common/policies/audit.py -> build/lib/watcher/common/policies copying watcher/common/policies/base.py -> build/lib/watcher/common/policies copying watcher/common/policies/__init__.py -> build/lib/watcher/common/policies copying watcher/common/policies/action.py -> build/lib/watcher/common/policies copying watcher/common/policies/service.py -> build/lib/watcher/common/policies copying watcher/common/policies/strategy.py -> build/lib/watcher/common/policies creating build/lib/watcher/tests/decision_engine/solution copying watcher/tests/decision_engine/solution/test_default_solution.py -> build/lib/watcher/tests/decision_engine/solution copying watcher/tests/decision_engine/solution/__init__.py -> build/lib/watcher/tests/decision_engine/solution creating build/lib/watcher/db copying watcher/db/purge.py -> build/lib/watcher/db copying watcher/db/migration.py -> build/lib/watcher/db copying watcher/db/__init__.py -> build/lib/watcher/db copying watcher/db/api.py -> build/lib/watcher/db creating build/lib/watcher/tests/decision_engine/loading copying watcher/tests/decision_engine/loading/test_default_planner_loader.py -> build/lib/watcher/tests/decision_engine/loading copying watcher/tests/decision_engine/loading/test_default_strategy_loader.py -> build/lib/watcher/tests/decision_engine/loading copying watcher/tests/decision_engine/loading/test_collector_loader.py -> build/lib/watcher/tests/decision_engine/loading copying watcher/tests/decision_engine/loading/__init__.py -> build/lib/watcher/tests/decision_engine/loading copying watcher/tests/decision_engine/loading/test_goal_loader.py -> build/lib/watcher/tests/decision_engine/loading creating build/lib/watcher/decision_engine/scoring copying watcher/decision_engine/scoring/dummy_scoring_container.py -> build/lib/watcher/decision_engine/scoring copying watcher/decision_engine/scoring/scoring_factory.py -> build/lib/watcher/decision_engine/scoring copying watcher/decision_engine/scoring/dummy_scorer.py -> build/lib/watcher/decision_engine/scoring copying watcher/decision_engine/scoring/base.py -> build/lib/watcher/decision_engine/scoring copying watcher/decision_engine/scoring/__init__.py -> build/lib/watcher/decision_engine/scoring creating build/lib/watcher/tests/db copying watcher/tests/db/test_action_description.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_action_plan.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_strategy.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_purge.py -> build/lib/watcher/tests/db copying watcher/tests/db/base.py -> build/lib/watcher/tests/db copying watcher/tests/db/__init__.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_action.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_goal.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_service.py -> build/lib/watcher/tests/db copying watcher/tests/db/utils.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_scoring_engine.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_efficacy_indicator.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_audit.py -> build/lib/watcher/tests/db copying watcher/tests/db/test_audit_template.py -> build/lib/watcher/tests/db creating build/lib/watcher/datasource copying watcher/datasource/manager.py -> build/lib/watcher/datasource copying watcher/datasource/monasca.py -> build/lib/watcher/datasource copying watcher/datasource/ceilometer.py -> build/lib/watcher/datasource copying watcher/datasource/base.py -> build/lib/watcher/datasource copying watcher/datasource/__init__.py -> build/lib/watcher/datasource copying watcher/datasource/gnocchi.py -> build/lib/watcher/datasource creating build/lib/watcher/tests/applier/workflow_engine creating build/lib/watcher/tests/applier/workflow_engine/loading copying watcher/tests/applier/workflow_engine/loading/__init__.py -> build/lib/watcher/tests/applier/workflow_engine/loading copying watcher/tests/applier/workflow_engine/loading/test_default_engine_loader.py -> build/lib/watcher/tests/applier/workflow_engine/loading creating build/lib/watcher/api creating build/lib/watcher/api/middleware copying watcher/api/middleware/parsable_error.py -> build/lib/watcher/api/middleware copying watcher/api/middleware/__init__.py -> build/lib/watcher/api/middleware copying watcher/api/middleware/auth_token.py -> build/lib/watcher/api/middleware creating build/lib/watcher/tests/decision_engine/audit copying watcher/tests/decision_engine/audit/test_audit_handlers.py -> build/lib/watcher/tests/decision_engine/audit copying watcher/tests/decision_engine/audit/__init__.py -> build/lib/watcher/tests/decision_engine/audit creating build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/faker_cluster_and_metrics.py -> build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/gnocchi_metrics.py -> build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/test_element.py -> build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/monasca_metrics.py -> build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/__init__.py -> build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/faker_cluster_state.py -> build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/test_model.py -> build/lib/watcher/tests/decision_engine/model copying watcher/tests/decision_engine/model/ceilometer_metrics.py -> build/lib/watcher/tests/decision_engine/model creating build/lib/watcher/applier/loading copying watcher/applier/loading/default.py -> build/lib/watcher/applier/loading copying watcher/applier/loading/__init__.py -> build/lib/watcher/applier/loading creating build/lib/watcher/tests/cmd copying watcher/tests/cmd/test_api.py -> build/lib/watcher/tests/cmd copying watcher/tests/cmd/test_applier.py -> build/lib/watcher/tests/cmd copying watcher/tests/cmd/test_decision_engine.py -> build/lib/watcher/tests/cmd copying watcher/tests/cmd/test_db_manage.py -> build/lib/watcher/tests/cmd copying watcher/tests/cmd/__init__.py -> build/lib/watcher/tests/cmd copying watcher/tests/applier/workflow_engine/__init__.py -> build/lib/watcher/tests/applier/workflow_engine copying watcher/tests/applier/workflow_engine/test_default_workflow_engine.py -> build/lib/watcher/tests/applier/workflow_engine copying watcher/tests/applier/workflow_engine/test_taskflow_action_container.py -> build/lib/watcher/tests/applier/workflow_engine creating build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_noisy_neighbor.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_outlet_temp_control.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_vm_workload_consolidation.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_basic_consolidation.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_uniform_airflow.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_dummy_strategy.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_saving_energy.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/__init__.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_actuator.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_storage_capacity_balance.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py -> build/lib/watcher/tests/decision_engine/strategy/strategies copying watcher/tests/decision_engine/strategy/strategies/test_dummy_with_scorer.py -> build/lib/watcher/tests/decision_engine/strategy/strategies creating build/lib/watcher/objects copying watcher/objects/scoring_engine.py -> build/lib/watcher/objects copying watcher/objects/goal.py -> build/lib/watcher/objects copying watcher/objects/action_plan.py -> build/lib/watcher/objects copying watcher/objects/fields.py -> build/lib/watcher/objects copying watcher/objects/audit_template.py -> build/lib/watcher/objects copying watcher/objects/audit.py -> build/lib/watcher/objects copying watcher/objects/efficacy_indicator.py -> build/lib/watcher/objects copying watcher/objects/base.py -> build/lib/watcher/objects copying watcher/objects/action_description.py -> build/lib/watcher/objects copying watcher/objects/__init__.py -> build/lib/watcher/objects copying watcher/objects/action.py -> build/lib/watcher/objects copying watcher/objects/utils.py -> build/lib/watcher/objects copying watcher/objects/service.py -> build/lib/watcher/objects copying watcher/objects/strategy.py -> build/lib/watcher/objects copying watcher/decision_engine/strategy/__init__.py -> build/lib/watcher/decision_engine/strategy creating build/lib/watcher/api/controllers creating build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/types.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/scoring_engine.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/goal.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/action_plan.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/audit_template.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/audit.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/efficacy_indicator.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/collection.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/__init__.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/action.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/utils.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/service.py -> build/lib/watcher/api/controllers/v1 copying watcher/api/controllers/v1/strategy.py -> build/lib/watcher/api/controllers/v1 creating build/lib/watcher/tests/api copying watcher/tests/api/test_scheduling.py -> build/lib/watcher/tests/api copying watcher/tests/api/test_hooks.py -> build/lib/watcher/tests/api copying watcher/tests/api/test_base.py -> build/lib/watcher/tests/api copying watcher/tests/api/test_utils.py -> build/lib/watcher/tests/api copying watcher/tests/api/base.py -> build/lib/watcher/tests/api copying watcher/tests/api/__init__.py -> build/lib/watcher/tests/api copying watcher/tests/api/utils.py -> build/lib/watcher/tests/api copying watcher/tests/api/test_root.py -> build/lib/watcher/tests/api creating build/lib/watcher/decision_engine/messaging copying watcher/decision_engine/messaging/__init__.py -> build/lib/watcher/decision_engine/messaging copying watcher/decision_engine/messaging/audit_endpoint.py -> build/lib/watcher/decision_engine/messaging creating build/lib/watcher/tests/objects copying watcher/tests/objects/test_action_description.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_action_plan.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_strategy.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/__init__.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_action.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_goal.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_service.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_objects.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/utils.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_scoring_engine.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_efficacy_indicator.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_audit.py -> build/lib/watcher/tests/objects copying watcher/tests/objects/test_audit_template.py -> build/lib/watcher/tests/objects creating build/lib/watcher/applier/actions copying watcher/applier/actions/change_nova_service_state.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/volume_migration.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/resize.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/migration.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/nop.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/base.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/__init__.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/change_node_power_state.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/sleep.py -> build/lib/watcher/applier/actions copying watcher/applier/actions/factory.py -> build/lib/watcher/applier/actions creating build/lib/watcher/tests/decision_engine/model/notification copying watcher/tests/decision_engine/model/notification/test_notifications.py -> build/lib/watcher/tests/decision_engine/model/notification copying watcher/tests/decision_engine/model/notification/test_nova_notifications.py -> build/lib/watcher/tests/decision_engine/model/notification copying watcher/tests/decision_engine/model/notification/test_cinder_notifications.py -> build/lib/watcher/tests/decision_engine/model/notification copying watcher/tests/decision_engine/model/notification/__init__.py -> build/lib/watcher/tests/decision_engine/model/notification copying watcher/tests/decision_engine/model/notification/fake_managers.py -> build/lib/watcher/tests/decision_engine/model/notification creating build/lib/watcher/tests/decision_engine/messaging copying watcher/tests/decision_engine/messaging/__init__.py -> build/lib/watcher/tests/decision_engine/messaging copying watcher/tests/decision_engine/messaging/test_audit_endpoint.py -> build/lib/watcher/tests/decision_engine/messaging creating build/lib/watcher/tests/decision_engine/strategy/context copying watcher/tests/decision_engine/strategy/context/test_strategy_context.py -> build/lib/watcher/tests/decision_engine/strategy/context copying watcher/tests/decision_engine/strategy/context/__init__.py -> build/lib/watcher/tests/decision_engine/strategy/context copying watcher/api/acl.py -> build/lib/watcher/api copying watcher/api/hooks.py -> build/lib/watcher/api copying watcher/api/__init__.py -> build/lib/watcher/api copying watcher/api/config.py -> build/lib/watcher/api copying watcher/api/app.py -> build/lib/watcher/api copying watcher/api/scheduling.py -> build/lib/watcher/api creating build/lib/watcher/decision_engine/strategy/common copying watcher/decision_engine/strategy/common/level.py -> build/lib/watcher/decision_engine/strategy/common copying watcher/decision_engine/strategy/common/__init__.py -> build/lib/watcher/decision_engine/strategy/common creating build/lib/watcher/decision_engine/model copying watcher/decision_engine/model/base.py -> build/lib/watcher/decision_engine/model copying watcher/decision_engine/model/__init__.py -> build/lib/watcher/decision_engine/model copying watcher/decision_engine/model/model_root.py -> build/lib/watcher/decision_engine/model copying watcher/common/paths.py -> build/lib/watcher/common copying watcher/common/observable.py -> build/lib/watcher/common copying watcher/common/service_manager.py -> build/lib/watcher/common copying watcher/common/synchronization.py -> build/lib/watcher/common copying watcher/common/keystone_helper.py -> build/lib/watcher/common copying watcher/common/clients.py -> build/lib/watcher/common copying watcher/common/exception.py -> build/lib/watcher/common copying watcher/common/ironic_helper.py -> build/lib/watcher/common copying watcher/common/policy.py -> build/lib/watcher/common copying watcher/common/context.py -> build/lib/watcher/common copying watcher/common/nova_helper.py -> build/lib/watcher/common copying watcher/common/__init__.py -> build/lib/watcher/common copying watcher/common/config.py -> build/lib/watcher/common copying watcher/common/utils.py -> build/lib/watcher/common copying watcher/common/cinder_helper.py -> build/lib/watcher/common copying watcher/common/service.py -> build/lib/watcher/common copying watcher/common/scheduling.py -> build/lib/watcher/common copying watcher/common/rpc.py -> build/lib/watcher/common copying watcher/__init__.py -> build/lib/watcher copying watcher/version.py -> build/lib/watcher copying watcher/_i18n.py -> build/lib/watcher creating build/lib/watcher/tests/common copying watcher/tests/common/test_ironic_helper.py -> build/lib/watcher/tests/common copying watcher/tests/common/test_cinder_helper.py -> build/lib/watcher/tests/common copying watcher/tests/common/__init__.py -> build/lib/watcher/tests/common copying watcher/tests/common/test_service.py -> build/lib/watcher/tests/common copying watcher/tests/common/test_clients.py -> build/lib/watcher/tests/common copying watcher/tests/common/test_nova_helper.py -> build/lib/watcher/tests/common creating build/lib/watcher/tests/common/loader copying watcher/tests/common/loader/test_loader.py -> build/lib/watcher/tests/common/loader copying watcher/tests/common/loader/__init__.py -> build/lib/watcher/tests/common/loader creating build/lib/watcher/tests/decision_engine/scoring copying watcher/tests/decision_engine/scoring/test_dummy_scoring_container.py -> build/lib/watcher/tests/decision_engine/scoring copying watcher/tests/decision_engine/scoring/test_dummy_scorer.py -> build/lib/watcher/tests/decision_engine/scoring copying watcher/tests/decision_engine/scoring/__init__.py -> build/lib/watcher/tests/decision_engine/scoring copying watcher/tests/decision_engine/scoring/test_scoring_factory.py -> build/lib/watcher/tests/decision_engine/scoring creating build/lib/watcher/tests/decision_engine/cluster copying watcher/tests/decision_engine/cluster/test_cinder_cdmc.py -> build/lib/watcher/tests/decision_engine/cluster copying watcher/tests/decision_engine/cluster/test_nova_cdmc.py -> build/lib/watcher/tests/decision_engine/cluster copying watcher/tests/decision_engine/cluster/__init__.py -> build/lib/watcher/tests/decision_engine/cluster copying watcher/tests/decision_engine/cluster/test_cluster_data_model_collector.py -> build/lib/watcher/tests/decision_engine/cluster creating build/lib/watcher/tests/decision_engine/strategy/selector copying watcher/tests/decision_engine/strategy/selector/__init__.py -> build/lib/watcher/tests/decision_engine/strategy/selector copying watcher/tests/decision_engine/strategy/selector/test_strategy_selector.py -> build/lib/watcher/tests/decision_engine/strategy/selector copying watcher/tests/applier/actions/test_change_node_power_state.py -> build/lib/watcher/tests/applier/actions copying watcher/tests/applier/actions/test_resize.py -> build/lib/watcher/tests/applier/actions copying watcher/tests/applier/actions/test_sleep.py -> build/lib/watcher/tests/applier/actions copying watcher/tests/applier/actions/__init__.py -> build/lib/watcher/tests/applier/actions copying watcher/tests/applier/actions/test_volume_migration.py -> build/lib/watcher/tests/applier/actions copying watcher/tests/applier/actions/test_migration.py -> build/lib/watcher/tests/applier/actions copying watcher/tests/applier/actions/test_change_nova_service_state.py -> build/lib/watcher/tests/applier/actions creating build/lib/watcher/decision_engine/model/collector copying watcher/decision_engine/model/collector/nova.py -> build/lib/watcher/decision_engine/model/collector copying watcher/decision_engine/model/collector/manager.py -> build/lib/watcher/decision_engine/model/collector copying watcher/decision_engine/model/collector/cinder.py -> build/lib/watcher/decision_engine/model/collector copying watcher/decision_engine/model/collector/base.py -> build/lib/watcher/decision_engine/model/collector copying watcher/decision_engine/model/collector/__init__.py -> build/lib/watcher/decision_engine/model/collector copying watcher/decision_engine/model/collector/ironic.py -> build/lib/watcher/decision_engine/model/collector creating build/lib/watcher/applier/workflow_engine copying watcher/applier/workflow_engine/default.py -> build/lib/watcher/applier/workflow_engine copying watcher/applier/workflow_engine/base.py -> build/lib/watcher/applier/workflow_engine copying watcher/applier/workflow_engine/__init__.py -> build/lib/watcher/applier/workflow_engine creating build/lib/watcher/tests/notifications copying watcher/tests/notifications/test_audit_notification.py -> build/lib/watcher/tests/notifications copying watcher/tests/notifications/test_action_plan_notification.py -> build/lib/watcher/tests/notifications copying watcher/tests/notifications/test_service_notifications.py -> build/lib/watcher/tests/notifications copying watcher/tests/notifications/test_notification.py -> build/lib/watcher/tests/notifications copying watcher/tests/notifications/test_action_notification.py -> build/lib/watcher/tests/notifications copying watcher/tests/notifications/__init__.py -> build/lib/watcher/tests/notifications copying watcher/decision_engine/goal/base.py -> build/lib/watcher/decision_engine/goal copying watcher/decision_engine/goal/__init__.py -> build/lib/watcher/decision_engine/goal copying watcher/decision_engine/goal/goals.py -> build/lib/watcher/decision_engine/goal creating build/lib/watcher/decision_engine/scope copying watcher/decision_engine/scope/storage.py -> build/lib/watcher/decision_engine/scope copying watcher/decision_engine/scope/base.py -> build/lib/watcher/decision_engine/scope copying watcher/decision_engine/scope/compute.py -> build/lib/watcher/decision_engine/scope copying watcher/decision_engine/scope/__init__.py -> build/lib/watcher/decision_engine/scope copying watcher/decision_engine/scope/baremetal.py -> build/lib/watcher/decision_engine/scope creating build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/instance.py -> build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/base.py -> build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/__init__.py -> build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/storage_resource.py -> build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/compute_resource.py -> build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/node.py -> build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/baremetal_resource.py -> build/lib/watcher/decision_engine/model/element copying watcher/decision_engine/model/element/volume.py -> build/lib/watcher/decision_engine/model/element copying watcher/api/controllers/root.py -> build/lib/watcher/api/controllers copying watcher/api/controllers/link.py -> build/lib/watcher/api/controllers copying watcher/api/controllers/base.py -> build/lib/watcher/api/controllers copying watcher/api/controllers/__init__.py -> build/lib/watcher/api/controllers creating build/lib/watcher/conf copying watcher/conf/neutron_client.py -> build/lib/watcher/conf copying watcher/conf/glance_client.py -> build/lib/watcher/conf copying watcher/conf/paths.py -> build/lib/watcher/conf copying watcher/conf/cinder_client.py -> build/lib/watcher/conf copying watcher/conf/monasca_client.py -> build/lib/watcher/conf copying watcher/conf/decision_engine.py -> build/lib/watcher/conf copying watcher/conf/exception.py -> build/lib/watcher/conf copying watcher/conf/applier.py -> build/lib/watcher/conf copying watcher/conf/_opts.py -> build/lib/watcher/conf copying watcher/conf/collector.py -> build/lib/watcher/conf copying watcher/conf/ironic_client.py -> build/lib/watcher/conf copying watcher/conf/nova_client.py -> build/lib/watcher/conf copying watcher/conf/db.py -> build/lib/watcher/conf copying watcher/conf/ceilometer_client.py -> build/lib/watcher/conf copying watcher/conf/clients_auth.py -> build/lib/watcher/conf copying watcher/conf/__init__.py -> build/lib/watcher/conf copying watcher/conf/opts.py -> build/lib/watcher/conf copying watcher/conf/gnocchi_client.py -> build/lib/watcher/conf copying watcher/conf/api.py -> build/lib/watcher/conf copying watcher/conf/service.py -> build/lib/watcher/conf copying watcher/conf/plugins.py -> build/lib/watcher/conf copying watcher/conf/planner.py -> build/lib/watcher/conf creating build/lib/watcher/cmd copying watcher/cmd/sync.py -> build/lib/watcher/cmd copying watcher/cmd/dbmanage.py -> build/lib/watcher/cmd copying watcher/cmd/applier.py -> build/lib/watcher/cmd copying watcher/cmd/decisionengine.py -> build/lib/watcher/cmd copying watcher/cmd/__init__.py -> build/lib/watcher/cmd copying watcher/cmd/api.py -> build/lib/watcher/cmd creating build/lib/watcher/common/loader copying watcher/common/loader/loadable.py -> build/lib/watcher/common/loader copying watcher/common/loader/default.py -> build/lib/watcher/common/loader copying watcher/common/loader/base.py -> build/lib/watcher/common/loader copying watcher/common/loader/__init__.py -> build/lib/watcher/common/loader copying watcher/tests/applier/test_rpcapi.py -> build/lib/watcher/tests/applier copying watcher/tests/applier/test_applier_manager.py -> build/lib/watcher/tests/applier copying watcher/tests/applier/test_sync.py -> build/lib/watcher/tests/applier copying watcher/tests/applier/__init__.py -> build/lib/watcher/tests/applier creating build/lib/watcher/applier/action_plan copying watcher/applier/action_plan/default.py -> build/lib/watcher/applier/action_plan copying watcher/applier/action_plan/base.py -> build/lib/watcher/applier/action_plan copying watcher/applier/action_plan/__init__.py -> build/lib/watcher/applier/action_plan creating build/lib/watcher/decision_engine/model/notification copying watcher/decision_engine/model/notification/filtering.py -> build/lib/watcher/decision_engine/model/notification copying watcher/decision_engine/model/notification/nova.py -> build/lib/watcher/decision_engine/model/notification copying watcher/decision_engine/model/notification/cinder.py -> build/lib/watcher/decision_engine/model/notification copying watcher/decision_engine/model/notification/base.py -> build/lib/watcher/decision_engine/model/notification copying watcher/decision_engine/model/notification/__init__.py -> build/lib/watcher/decision_engine/model/notification creating build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_scoring_engines.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_actions_plans.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_services.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_audits.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_strategies.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_goals.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_utils.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/__init__.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_actions.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_types.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_audit_templates.py -> build/lib/watcher/tests/api/v1 copying watcher/tests/api/v1/test_root.py -> build/lib/watcher/tests/api/v1 creating build/lib/watcher/tests/conf copying watcher/tests/conf/__init__.py -> build/lib/watcher/tests/conf copying watcher/tests/conf/test_list_opts.py -> build/lib/watcher/tests/conf copying watcher/tests/decision_engine/test_rpcapi.py -> build/lib/watcher/tests/decision_engine copying watcher/tests/decision_engine/test_scheduling.py -> build/lib/watcher/tests/decision_engine copying watcher/tests/decision_engine/fake_goals.py -> build/lib/watcher/tests/decision_engine copying watcher/tests/decision_engine/test_sync.py -> build/lib/watcher/tests/decision_engine copying watcher/tests/decision_engine/fake_strategies.py -> build/lib/watcher/tests/decision_engine copying watcher/tests/decision_engine/__init__.py -> build/lib/watcher/tests/decision_engine copying watcher/tests/decision_engine/test_gmr.py -> build/lib/watcher/tests/decision_engine copying watcher/decision_engine/sync.py -> build/lib/watcher/decision_engine copying watcher/decision_engine/manager.py -> build/lib/watcher/decision_engine copying watcher/decision_engine/gmr.py -> build/lib/watcher/decision_engine copying watcher/decision_engine/__init__.py -> build/lib/watcher/decision_engine copying watcher/decision_engine/scheduling.py -> build/lib/watcher/decision_engine copying watcher/decision_engine/rpcapi.py -> build/lib/watcher/decision_engine creating build/lib/watcher/decision_engine/loading copying watcher/decision_engine/loading/default.py -> build/lib/watcher/decision_engine/loading copying watcher/decision_engine/loading/__init__.py -> build/lib/watcher/decision_engine/loading creating build/lib/watcher/tests/applier/action_plan copying watcher/tests/applier/action_plan/test_default_action_handler.py -> build/lib/watcher/tests/applier/action_plan copying watcher/tests/applier/action_plan/__init__.py -> build/lib/watcher/tests/applier/action_plan creating build/lib/watcher/hacking copying watcher/hacking/checks.py -> build/lib/watcher/hacking copying watcher/hacking/__init__.py -> build/lib/watcher/hacking creating build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/dummy_strategy.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/actuation.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/uniform_airflow.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/zone_migration.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/saving_energy.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/noisy_neighbor.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/dummy_with_scorer.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/base.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/basic_consolidation.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/outlet_temp_control.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/__init__.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/workload_stabilization.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/workload_balance.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/storage_capacity_balance.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/host_maintenance.py -> build/lib/watcher/decision_engine/strategy/strategies copying watcher/decision_engine/strategy/strategies/dummy_with_resize.py -> build/lib/watcher/decision_engine/strategy/strategies creating build/lib/watcher/decision_engine/planner copying watcher/decision_engine/planner/weight.py -> build/lib/watcher/decision_engine/planner copying watcher/decision_engine/planner/manager.py -> build/lib/watcher/decision_engine/planner copying watcher/decision_engine/planner/base.py -> build/lib/watcher/decision_engine/planner copying watcher/decision_engine/planner/__init__.py -> build/lib/watcher/decision_engine/planner copying watcher/decision_engine/planner/workload_stabilization.py -> build/lib/watcher/decision_engine/planner creating build/lib/watcher/db/sqlalchemy copying watcher/db/sqlalchemy/job_store.py -> build/lib/watcher/db/sqlalchemy copying watcher/db/sqlalchemy/models.py -> build/lib/watcher/db/sqlalchemy copying watcher/db/sqlalchemy/migration.py -> build/lib/watcher/db/sqlalchemy copying watcher/db/sqlalchemy/__init__.py -> build/lib/watcher/db/sqlalchemy copying watcher/db/sqlalchemy/api.py -> build/lib/watcher/db/sqlalchemy creating build/lib/watcher/tests/applier/messaging copying watcher/tests/applier/messaging/test_trigger_action_plan_endpoint.py -> build/lib/watcher/tests/applier/messaging copying watcher/tests/applier/messaging/__init__.py -> build/lib/watcher/tests/applier/messaging running egg_info creating python_watcher.egg-info writing python_watcher.egg-info/PKG-INFO writing dependency_links to python_watcher.egg-info/dependency_links.txt writing entry points to python_watcher.egg-info/entry_points.txt writing requirements to python_watcher.egg-info/requires.txt writing top-level names to python_watcher.egg-info/top_level.txt [pbr] Processing SOURCES.txt writing manifest file 'python_watcher.egg-info/SOURCES.txt' warning: no files found matching 'AUTHORS' warning: no files found matching 'ChangeLog' warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution reading manifest template 'MANIFEST.in' writing manifest file 'python_watcher.egg-info/SOURCES.txt' copying watcher/db/sqlalchemy/alembic.ini -> build/lib/watcher/db/sqlalchemy creating build/lib/watcher/db/sqlalchemy/alembic copying watcher/db/sqlalchemy/alembic/README.rst -> build/lib/watcher/db/sqlalchemy/alembic copying watcher/db/sqlalchemy/alembic/env.py -> build/lib/watcher/db/sqlalchemy/alembic copying watcher/db/sqlalchemy/alembic/script.py.mako -> build/lib/watcher/db/sqlalchemy/alembic creating build/lib/watcher/db/sqlalchemy/alembic/versions copying watcher/db/sqlalchemy/alembic/versions/001_ocata.py -> build/lib/watcher/db/sqlalchemy/alembic/versions copying watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py -> build/lib/watcher/db/sqlalchemy/alembic/versions copying watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py -> build/lib/watcher/db/sqlalchemy/alembic/versions copying watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py -> build/lib/watcher/db/sqlalchemy/alembic/versions copying watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py -> build/lib/watcher/db/sqlalchemy/alembic/versions copying watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py -> build/lib/watcher/db/sqlalchemy/alembic/versions copying watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py -> build/lib/watcher/db/sqlalchemy/alembic/versions running install_lib creating /build/watcher-1.12.0/debian/python3-watcher creating /build/watcher-1.12.0/debian/python3-watcher/usr creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3 creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource copying build/lib/watcher/datasource/manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource copying build/lib/watcher/datasource/monasca.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource copying build/lib/watcher/datasource/ceilometer.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource copying build/lib/watcher/datasource/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource copying build/lib/watcher/datasource/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource copying build/lib/watcher/datasource/gnocchi.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db copying build/lib/watcher/db/purge.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy copying build/lib/watcher/db/sqlalchemy/job_store.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy copying build/lib/watcher/db/sqlalchemy/models.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy copying build/lib/watcher/db/sqlalchemy/migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy copying build/lib/watcher/db/sqlalchemy/alembic.ini -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy copying build/lib/watcher/db/sqlalchemy/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy copying build/lib/watcher/db/sqlalchemy/api.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic copying build/lib/watcher/db/sqlalchemy/alembic/README.rst -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic copying build/lib/watcher/db/sqlalchemy/alembic/env.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic copying build/lib/watcher/db/sqlalchemy/alembic/script.py.mako -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/sqlalchemy/alembic/versions/001_ocata.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions copying build/lib/watcher/db/migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db copying build/lib/watcher/db/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db copying build/lib/watcher/db/api.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/paths.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/observable.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/service_manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/synchronization.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/keystone_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/scoring_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/goal.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/action_plan.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/audit_template.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/action.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/policies/strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies copying build/lib/watcher/common/clients.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/exception.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/ironic_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader copying build/lib/watcher/common/loader/loadable.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader copying build/lib/watcher/common/loader/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader copying build/lib/watcher/common/loader/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader copying build/lib/watcher/common/loader/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader copying build/lib/watcher/common/policy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/context.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/nova_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/config.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/cinder_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/scheduling.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common copying build/lib/watcher/common/rpc.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/hacking copying build/lib/watcher/hacking/checks.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/hacking copying build/lib/watcher/hacking/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/hacking creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring copying build/lib/watcher/decision_engine/scoring/dummy_scoring_container.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring copying build/lib/watcher/decision_engine/scoring/scoring_factory.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring copying build/lib/watcher/decision_engine/scoring/dummy_scorer.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring copying build/lib/watcher/decision_engine/scoring/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring copying build/lib/watcher/decision_engine/scoring/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit copying build/lib/watcher/decision_engine/audit/oneshot.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit copying build/lib/watcher/decision_engine/audit/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit copying build/lib/watcher/decision_engine/audit/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit copying build/lib/watcher/decision_engine/audit/continuous.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit copying build/lib/watcher/decision_engine/sync.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/loading copying build/lib/watcher/decision_engine/loading/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/loading copying build/lib/watcher/decision_engine/loading/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/loading creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner copying build/lib/watcher/decision_engine/planner/weight.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner copying build/lib/watcher/decision_engine/planner/manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner copying build/lib/watcher/decision_engine/planner/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner copying build/lib/watcher/decision_engine/planner/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner copying build/lib/watcher/decision_engine/planner/workload_stabilization.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner copying build/lib/watcher/decision_engine/manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine copying build/lib/watcher/decision_engine/gmr.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector copying build/lib/watcher/decision_engine/model/collector/nova.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector copying build/lib/watcher/decision_engine/model/collector/manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector copying build/lib/watcher/decision_engine/model/collector/cinder.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector copying build/lib/watcher/decision_engine/model/collector/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector copying build/lib/watcher/decision_engine/model/collector/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector copying build/lib/watcher/decision_engine/model/collector/ironic.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/instance.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/storage_resource.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/compute_resource.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/node.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/baremetal_resource.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/element/volume.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element copying build/lib/watcher/decision_engine/model/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model copying build/lib/watcher/decision_engine/model/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model copying build/lib/watcher/decision_engine/model/model_root.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification copying build/lib/watcher/decision_engine/model/notification/filtering.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification copying build/lib/watcher/decision_engine/model/notification/nova.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification copying build/lib/watcher/decision_engine/model/notification/cinder.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification copying build/lib/watcher/decision_engine/model/notification/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification copying build/lib/watcher/decision_engine/model/notification/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/common copying build/lib/watcher/decision_engine/strategy/common/level.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/common copying build/lib/watcher/decision_engine/strategy/common/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/common copying build/lib/watcher/decision_engine/strategy/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/selection copying build/lib/watcher/decision_engine/strategy/selection/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/selection copying build/lib/watcher/decision_engine/strategy/selection/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/selection copying build/lib/watcher/decision_engine/strategy/selection/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/selection creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/context copying build/lib/watcher/decision_engine/strategy/context/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/context copying build/lib/watcher/decision_engine/strategy/context/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/context copying build/lib/watcher/decision_engine/strategy/context/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/context creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/dummy_strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/actuation.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/uniform_airflow.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/zone_migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/saving_energy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/noisy_neighbor.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/dummy_with_scorer.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/basic_consolidation.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/outlet_temp_control.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/workload_stabilization.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/workload_balance.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/storage_capacity_balance.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/host_maintenance.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/strategy/strategies/dummy_with_resize.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies copying build/lib/watcher/decision_engine/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution copying build/lib/watcher/decision_engine/solution/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution copying build/lib/watcher/decision_engine/solution/solution_evaluator.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution copying build/lib/watcher/decision_engine/solution/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution copying build/lib/watcher/decision_engine/solution/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution copying build/lib/watcher/decision_engine/solution/efficacy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution copying build/lib/watcher/decision_engine/solution/solution_comparator.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/messaging copying build/lib/watcher/decision_engine/messaging/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/messaging copying build/lib/watcher/decision_engine/messaging/audit_endpoint.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/messaging creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal copying build/lib/watcher/decision_engine/goal/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy copying build/lib/watcher/decision_engine/goal/efficacy/indicators.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy copying build/lib/watcher/decision_engine/goal/efficacy/specs.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy copying build/lib/watcher/decision_engine/goal/efficacy/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy copying build/lib/watcher/decision_engine/goal/efficacy/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy copying build/lib/watcher/decision_engine/goal/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal copying build/lib/watcher/decision_engine/goal/goals.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal copying build/lib/watcher/decision_engine/scheduling.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope copying build/lib/watcher/decision_engine/scope/storage.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope copying build/lib/watcher/decision_engine/scope/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope copying build/lib/watcher/decision_engine/scope/compute.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope copying build/lib/watcher/decision_engine/scope/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope copying build/lib/watcher/decision_engine/scope/baremetal.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope copying build/lib/watcher/decision_engine/rpcapi.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/scoring_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/goal.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/action_plan.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/fields.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/audit_template.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/efficacy_indicator.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/action_description.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/action.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects copying build/lib/watcher/objects/strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier copying build/lib/watcher/applier/sync.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier copying build/lib/watcher/applier/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/loading copying build/lib/watcher/applier/loading/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/loading copying build/lib/watcher/applier/loading/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/loading copying build/lib/watcher/applier/manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier copying build/lib/watcher/applier/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier copying build/lib/watcher/applier/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/change_nova_service_state.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/volume_migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/resize.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/nop.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/change_node_power_state.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/sleep.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions copying build/lib/watcher/applier/actions/factory.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/messaging copying build/lib/watcher/applier/messaging/trigger.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/messaging copying build/lib/watcher/applier/messaging/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/messaging creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/workflow_engine copying build/lib/watcher/applier/workflow_engine/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/workflow_engine copying build/lib/watcher/applier/workflow_engine/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/workflow_engine copying build/lib/watcher/applier/workflow_engine/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/workflow_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/action_plan copying build/lib/watcher/applier/action_plan/default.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/action_plan copying build/lib/watcher/applier/action_plan/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/action_plan copying build/lib/watcher/applier/action_plan/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/action_plan copying build/lib/watcher/applier/rpcapi.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api copying build/lib/watcher/api/acl.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api copying build/lib/watcher/api/hooks.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api copying build/lib/watcher/api/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/middleware copying build/lib/watcher/api/middleware/parsable_error.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/middleware copying build/lib/watcher/api/middleware/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/middleware copying build/lib/watcher/api/middleware/auth_token.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/middleware copying build/lib/watcher/api/config.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers copying build/lib/watcher/api/controllers/root.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers copying build/lib/watcher/api/controllers/link.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers copying build/lib/watcher/api/controllers/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers copying build/lib/watcher/api/controllers/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/types.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/scoring_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/goal.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/action_plan.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/audit_template.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/efficacy_indicator.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/collection.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/action.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/controllers/v1/strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1 copying build/lib/watcher/api/app.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api copying build/lib/watcher/api/scheduling.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource copying build/lib/watcher/tests/datasource/test_monasca_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource copying build/lib/watcher/tests/datasource/test_manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource copying build/lib/watcher/tests/datasource/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource copying build/lib/watcher/tests/datasource/test_ceilometer_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource copying build/lib/watcher/tests/datasource/test_gnocchi_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_action_description.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_action_plan.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_purge.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_action.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_goal.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_scoring_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_efficacy_indicator.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db copying build/lib/watcher/tests/db/test_audit_template.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common copying build/lib/watcher/tests/common/test_ironic_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/loader copying build/lib/watcher/tests/common/loader/test_loader.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/loader copying build/lib/watcher/tests/common/loader/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/loader copying build/lib/watcher/tests/common/test_cinder_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common copying build/lib/watcher/tests/common/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common copying build/lib/watcher/tests/common/test_service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common copying build/lib/watcher/tests/common/test_clients.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common copying build/lib/watcher/tests/common/test_nova_helper.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine copying build/lib/watcher/tests/decision_engine/test_rpcapi.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring copying build/lib/watcher/tests/decision_engine/scoring/test_dummy_scoring_container.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring copying build/lib/watcher/tests/decision_engine/scoring/test_dummy_scorer.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring copying build/lib/watcher/tests/decision_engine/scoring/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring copying build/lib/watcher/tests/decision_engine/scoring/test_scoring_factory.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring copying build/lib/watcher/tests/decision_engine/test_scheduling.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/audit copying build/lib/watcher/tests/decision_engine/audit/test_audit_handlers.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/audit copying build/lib/watcher/tests/decision_engine/audit/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/audit copying build/lib/watcher/tests/decision_engine/fake_goals.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine copying build/lib/watcher/tests/decision_engine/test_sync.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading copying build/lib/watcher/tests/decision_engine/loading/test_default_planner_loader.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading copying build/lib/watcher/tests/decision_engine/loading/test_default_strategy_loader.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading copying build/lib/watcher/tests/decision_engine/loading/test_collector_loader.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading copying build/lib/watcher/tests/decision_engine/loading/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading copying build/lib/watcher/tests/decision_engine/loading/test_goal_loader.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner copying build/lib/watcher/tests/decision_engine/planner/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner copying build/lib/watcher/tests/decision_engine/planner/test_planner_manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner copying build/lib/watcher/tests/decision_engine/planner/test_workload_stabilization_planner.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner copying build/lib/watcher/tests/decision_engine/planner/test_weight_planner.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner copying build/lib/watcher/tests/decision_engine/fake_strategies.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/event_consumer copying build/lib/watcher/tests/decision_engine/event_consumer/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/event_consumer creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster copying build/lib/watcher/tests/decision_engine/cluster/test_cinder_cdmc.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster copying build/lib/watcher/tests/decision_engine/cluster/test_nova_cdmc.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster copying build/lib/watcher/tests/decision_engine/cluster/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster copying build/lib/watcher/tests/decision_engine/cluster/test_cluster_data_model_collector.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/faker_cluster_and_metrics.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/gnocchi_metrics.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/test_element.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/monasca_metrics.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/faker_cluster_state.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/test_model.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model copying build/lib/watcher/tests/decision_engine/model/ceilometer_metrics.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification copying build/lib/watcher/tests/decision_engine/model/notification/test_notifications.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification copying build/lib/watcher/tests/decision_engine/model/notification/test_nova_notifications.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification copying build/lib/watcher/tests/decision_engine/model/notification/test_cinder_notifications.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification copying build/lib/watcher/tests/decision_engine/model/notification/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification copying build/lib/watcher/tests/decision_engine/model/notification/fake_managers.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy copying build/lib/watcher/tests/decision_engine/strategy/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/context copying build/lib/watcher/tests/decision_engine/strategy/context/test_strategy_context.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/context copying build/lib/watcher/tests/decision_engine/strategy/context/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/context creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_noisy_neighbor.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_outlet_temp_control.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_vm_workload_consolidation.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_basic_consolidation.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_uniform_airflow.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_dummy_strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_saving_energy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_actuator.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_storage_capacity_balance.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies copying build/lib/watcher/tests/decision_engine/strategy/strategies/test_dummy_with_scorer.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/selector copying build/lib/watcher/tests/decision_engine/strategy/selector/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/selector copying build/lib/watcher/tests/decision_engine/strategy/selector/test_strategy_selector.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/selector copying build/lib/watcher/tests/decision_engine/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/solution copying build/lib/watcher/tests/decision_engine/solution/test_default_solution.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/solution copying build/lib/watcher/tests/decision_engine/solution/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/solution creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/messaging copying build/lib/watcher/tests/decision_engine/messaging/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/messaging copying build/lib/watcher/tests/decision_engine/messaging/test_audit_endpoint.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/messaging creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope copying build/lib/watcher/tests/decision_engine/scope/fake_scopes.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope copying build/lib/watcher/tests/decision_engine/scope/test_storage.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope copying build/lib/watcher/tests/decision_engine/scope/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope copying build/lib/watcher/tests/decision_engine/scope/test_compute.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope copying build/lib/watcher/tests/decision_engine/test_gmr.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_action_description.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_action_plan.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_action.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_goal.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_objects.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_scoring_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_efficacy_indicator.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects copying build/lib/watcher/tests/objects/test_audit_template.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier copying build/lib/watcher/tests/applier/test_rpcapi.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier copying build/lib/watcher/tests/applier/test_applier_manager.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier copying build/lib/watcher/tests/applier/test_sync.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier copying build/lib/watcher/tests/applier/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions copying build/lib/watcher/tests/applier/actions/test_change_node_power_state.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/loading copying build/lib/watcher/tests/applier/actions/loading/test_default_actions_loader.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/loading copying build/lib/watcher/tests/applier/actions/loading/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/loading copying build/lib/watcher/tests/applier/actions/test_resize.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions copying build/lib/watcher/tests/applier/actions/test_sleep.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions copying build/lib/watcher/tests/applier/actions/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions copying build/lib/watcher/tests/applier/actions/test_volume_migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions copying build/lib/watcher/tests/applier/actions/test_migration.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions copying build/lib/watcher/tests/applier/actions/test_change_nova_service_state.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/messaging copying build/lib/watcher/tests/applier/messaging/test_trigger_action_plan_endpoint.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/messaging copying build/lib/watcher/tests/applier/messaging/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/messaging creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/loading copying build/lib/watcher/tests/applier/workflow_engine/loading/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/loading copying build/lib/watcher/tests/applier/workflow_engine/loading/test_default_engine_loader.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/loading copying build/lib/watcher/tests/applier/workflow_engine/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine copying build/lib/watcher/tests/applier/workflow_engine/test_default_workflow_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine copying build/lib/watcher/tests/applier/workflow_engine/test_taskflow_action_container.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/action_plan copying build/lib/watcher/tests/applier/action_plan/test_default_action_handler.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/action_plan copying build/lib/watcher/tests/applier/action_plan/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/action_plan copying build/lib/watcher/tests/conf_fixture.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/test_scheduling.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/test_hooks.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/test_base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/test_utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api copying build/lib/watcher/tests/api/test_root.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_scoring_engines.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_actions_plans.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_services.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_audits.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_strategies.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_goals.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_utils.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_actions.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_types.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_audit_templates.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/api/v1/test_root.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1 copying build/lib/watcher/tests/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests copying build/lib/watcher/tests/policy_fixture.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests copying build/lib/watcher/tests/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests copying build/lib/watcher/tests/config.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests copying build/lib/watcher/tests/fake_policy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests copying build/lib/watcher/tests/fakes.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd copying build/lib/watcher/tests/cmd/test_api.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd copying build/lib/watcher/tests/cmd/test_applier.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd copying build/lib/watcher/tests/cmd/test_decision_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd copying build/lib/watcher/tests/cmd/test_db_manage.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd copying build/lib/watcher/tests/cmd/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications copying build/lib/watcher/tests/notifications/test_audit_notification.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications copying build/lib/watcher/tests/notifications/test_action_plan_notification.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications copying build/lib/watcher/tests/notifications/test_service_notifications.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications copying build/lib/watcher/tests/notifications/test_notification.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications copying build/lib/watcher/tests/notifications/test_action_notification.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications copying build/lib/watcher/tests/notifications/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/conf copying build/lib/watcher/tests/conf/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/conf copying build/lib/watcher/tests/conf/test_list_opts.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/conf copying build/lib/watcher/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher copying build/lib/watcher/version.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher copying build/lib/watcher/_i18n.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd copying build/lib/watcher/cmd/sync.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd copying build/lib/watcher/cmd/dbmanage.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd copying build/lib/watcher/cmd/applier.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd copying build/lib/watcher/cmd/decisionengine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd copying build/lib/watcher/cmd/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd copying build/lib/watcher/cmd/api.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/goal.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/action_plan.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/exception.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/audit.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/base.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/action.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications copying build/lib/watcher/notifications/strategy.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications creating /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/neutron_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/glance_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/paths.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/cinder_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/monasca_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/decision_engine.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/exception.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/applier.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/_opts.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/collector.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/ironic_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/nova_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/db.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/ceilometer_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/clients_auth.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/__init__.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/opts.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/gnocchi_client.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/api.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/service.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/plugins.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf copying build/lib/watcher/conf/planner.py -> /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource/manager.py to manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource/monasca.py to monasca.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource/ceilometer.py to ceilometer.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/datasource/gnocchi.py to gnocchi.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/purge.py to purge.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/job_store.py to job_store.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/models.py to models.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/migration.py to migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/api.py to api.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/env.py to env.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py to a86240e89a29_.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py to 52804f2498c4_add_hostname.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py to d098df6021e2_cron_support_for_audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py to 3cfc94cecf4e_add_name_for_audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py to 0f6042416884_add_apscheduler_jobs.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions/001_ocata.py to 001_ocata.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py to d09a5945e4a0_add_action_description_table.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/migration.py to migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/db/api.py to api.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/paths.py to paths.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/observable.py to observable.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/service_manager.py to service_manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/synchronization.py to synchronization.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/keystone_helper.py to keystone_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/scoring_engine.py to scoring_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/goal.py to goal.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/action_plan.py to action_plan.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/audit_template.py to audit_template.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/audit.py to audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/action.py to action.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/service.py to service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policies/strategy.py to strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/clients.py to clients.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/exception.py to exception.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/ironic_helper.py to ironic_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader/loadable.py to loadable.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/loader/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/policy.py to policy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/context.py to context.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/nova_helper.py to nova_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/config.py to config.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/utils.py to utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/cinder_helper.py to cinder_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/service.py to service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/scheduling.py to scheduling.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/common/rpc.py to rpc.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/hacking/checks.py to checks.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/hacking/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring/dummy_scoring_container.py to dummy_scoring_container.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring/scoring_factory.py to scoring_factory.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring/dummy_scorer.py to dummy_scorer.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scoring/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit/oneshot.py to oneshot.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/audit/continuous.py to continuous.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/sync.py to sync.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/loading/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/loading/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner/weight.py to weight.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner/manager.py to manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/planner/workload_stabilization.py to workload_stabilization.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/manager.py to manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/gmr.py to gmr.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector/nova.py to nova.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector/manager.py to manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector/cinder.py to cinder.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/collector/ironic.py to ironic.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/instance.py to instance.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/storage_resource.py to storage_resource.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/compute_resource.py to compute_resource.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/node.py to node.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/baremetal_resource.py to baremetal_resource.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/element/volume.py to volume.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/model_root.py to model_root.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification/filtering.py to filtering.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification/nova.py to nova.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification/cinder.py to cinder.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/model/notification/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/common/level.py to level.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/common/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/selection/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/selection/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/selection/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/context/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/context/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/context/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/dummy_strategy.py to dummy_strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/actuation.py to actuation.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/uniform_airflow.py to uniform_airflow.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/zone_migration.py to zone_migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py to vm_workload_consolidation.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/saving_energy.py to saving_energy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/noisy_neighbor.py to noisy_neighbor.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/dummy_with_scorer.py to dummy_with_scorer.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/basic_consolidation.py to basic_consolidation.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/outlet_temp_control.py to outlet_temp_control.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/workload_stabilization.py to workload_stabilization.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/workload_balance.py to workload_balance.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/storage_capacity_balance.py to storage_capacity_balance.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/host_maintenance.py to host_maintenance.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/strategy/strategies/dummy_with_resize.py to dummy_with_resize.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution/solution_evaluator.py to solution_evaluator.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution/efficacy.py to efficacy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/solution/solution_comparator.py to solution_comparator.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/messaging/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/messaging/audit_endpoint.py to audit_endpoint.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy/indicators.py to indicators.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy/specs.py to specs.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/efficacy/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/goal/goals.py to goals.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scheduling.py to scheduling.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope/storage.py to storage.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope/compute.py to compute.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/scope/baremetal.py to baremetal.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/decision_engine/rpcapi.py to rpcapi.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/scoring_engine.py to scoring_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/goal.py to goal.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/action_plan.py to action_plan.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/fields.py to fields.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/audit_template.py to audit_template.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/audit.py to audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/efficacy_indicator.py to efficacy_indicator.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/action_description.py to action_description.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/action.py to action.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/utils.py to utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/service.py to service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/objects/strategy.py to strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/sync.py to sync.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/loading/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/loading/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/manager.py to manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/change_nova_service_state.py to change_nova_service_state.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/volume_migration.py to volume_migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/resize.py to resize.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/migration.py to migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/nop.py to nop.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/change_node_power_state.py to change_node_power_state.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/sleep.py to sleep.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/actions/factory.py to factory.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/messaging/trigger.py to trigger.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/messaging/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/workflow_engine/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/workflow_engine/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/workflow_engine/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/action_plan/default.py to default.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/action_plan/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/action_plan/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/applier/rpcapi.py to rpcapi.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/acl.py to acl.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/hooks.py to hooks.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/middleware/parsable_error.py to parsable_error.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/middleware/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/middleware/auth_token.py to auth_token.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/config.py to config.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/root.py to root.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/link.py to link.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/types.py to types.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/scoring_engine.py to scoring_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/goal.py to goal.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/action_plan.py to action_plan.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/audit_template.py to audit_template.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/audit.py to audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/efficacy_indicator.py to efficacy_indicator.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/collection.py to collection.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/action.py to action.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/utils.py to utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/service.py to service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/controllers/v1/strategy.py to strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/app.py to app.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/api/scheduling.py to scheduling.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource/test_monasca_helper.py to test_monasca_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource/test_manager.py to test_manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource/test_ceilometer_helper.py to test_ceilometer_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/datasource/test_gnocchi_helper.py to test_gnocchi_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_action_description.py to test_action_description.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_action_plan.py to test_action_plan.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_strategy.py to test_strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_purge.py to test_purge.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_action.py to test_action.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_goal.py to test_goal.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_service.py to test_service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/utils.py to utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_scoring_engine.py to test_scoring_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_efficacy_indicator.py to test_efficacy_indicator.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_audit.py to test_audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/db/test_audit_template.py to test_audit_template.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/test_ironic_helper.py to test_ironic_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/loader/test_loader.py to test_loader.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/loader/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/test_cinder_helper.py to test_cinder_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/test_service.py to test_service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/test_clients.py to test_clients.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/common/test_nova_helper.py to test_nova_helper.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/test_rpcapi.py to test_rpcapi.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring/test_dummy_scoring_container.py to test_dummy_scoring_container.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring/test_dummy_scorer.py to test_dummy_scorer.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scoring/test_scoring_factory.py to test_scoring_factory.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/test_scheduling.py to test_scheduling.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/audit/test_audit_handlers.py to test_audit_handlers.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/audit/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/fake_goals.py to fake_goals.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/test_sync.py to test_sync.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading/test_default_planner_loader.py to test_default_planner_loader.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading/test_default_strategy_loader.py to test_default_strategy_loader.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading/test_collector_loader.py to test_collector_loader.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/loading/test_goal_loader.py to test_goal_loader.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner/test_planner_manager.py to test_planner_manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner/test_workload_stabilization_planner.py to test_workload_stabilization_planner.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/planner/test_weight_planner.py to test_weight_planner.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/fake_strategies.py to fake_strategies.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/event_consumer/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster/test_cinder_cdmc.py to test_cinder_cdmc.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster/test_nova_cdmc.py to test_nova_cdmc.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/cluster/test_cluster_data_model_collector.py to test_cluster_data_model_collector.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/faker_cluster_and_metrics.py to faker_cluster_and_metrics.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/gnocchi_metrics.py to gnocchi_metrics.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/test_element.py to test_element.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/monasca_metrics.py to monasca_metrics.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/faker_cluster_state.py to faker_cluster_state.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/test_model.py to test_model.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/ceilometer_metrics.py to ceilometer_metrics.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification/test_notifications.py to test_notifications.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification/test_nova_notifications.py to test_nova_notifications.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification/test_cinder_notifications.py to test_cinder_notifications.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/model/notification/fake_managers.py to fake_managers.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/context/test_strategy_context.py to test_strategy_context.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/context/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py to test_strategy_endpoint.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_noisy_neighbor.py to test_noisy_neighbor.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_outlet_temp_control.py to test_outlet_temp_control.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_vm_workload_consolidation.py to test_vm_workload_consolidation.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_basic_consolidation.py to test_basic_consolidation.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_uniform_airflow.py to test_uniform_airflow.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_dummy_strategy.py to test_dummy_strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py to test_workload_balance.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_saving_energy.py to test_saving_energy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py to test_zone_migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py to test_host_maintenance.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_actuator.py to test_actuator.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_storage_capacity_balance.py to test_storage_capacity_balance.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py to test_workload_stabilization.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/strategies/test_dummy_with_scorer.py to test_dummy_with_scorer.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/selector/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/strategy/selector/test_strategy_selector.py to test_strategy_selector.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/solution/test_default_solution.py to test_default_solution.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/solution/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/messaging/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/messaging/test_audit_endpoint.py to test_audit_endpoint.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope/fake_scopes.py to fake_scopes.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope/test_storage.py to test_storage.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/scope/test_compute.py to test_compute.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/decision_engine/test_gmr.py to test_gmr.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_action_description.py to test_action_description.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_action_plan.py to test_action_plan.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_strategy.py to test_strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_action.py to test_action.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_goal.py to test_goal.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_service.py to test_service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_objects.py to test_objects.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/utils.py to utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_scoring_engine.py to test_scoring_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_efficacy_indicator.py to test_efficacy_indicator.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_audit.py to test_audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/objects/test_audit_template.py to test_audit_template.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/test_rpcapi.py to test_rpcapi.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/test_applier_manager.py to test_applier_manager.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/test_sync.py to test_sync.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/test_change_node_power_state.py to test_change_node_power_state.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/loading/test_default_actions_loader.py to test_default_actions_loader.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/loading/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/test_resize.py to test_resize.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/test_sleep.py to test_sleep.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/test_volume_migration.py to test_volume_migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/test_migration.py to test_migration.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/actions/test_change_nova_service_state.py to test_change_nova_service_state.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/messaging/test_trigger_action_plan_endpoint.py to test_trigger_action_plan_endpoint.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/messaging/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/loading/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/loading/test_default_engine_loader.py to test_default_engine_loader.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/test_default_workflow_engine.py to test_default_workflow_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/workflow_engine/test_taskflow_action_container.py to test_taskflow_action_container.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/action_plan/test_default_action_handler.py to test_default_action_handler.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/applier/action_plan/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/conf_fixture.py to conf_fixture.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/test_scheduling.py to test_scheduling.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/test_hooks.py to test_hooks.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/test_base.py to test_base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/test_utils.py to test_utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/utils.py to utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/test_root.py to test_root.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_scoring_engines.py to test_scoring_engines.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_actions_plans.py to test_actions_plans.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_services.py to test_services.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_audits.py to test_audits.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_strategies.py to test_strategies.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_goals.py to test_goals.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_utils.py to test_utils.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_actions.py to test_actions.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_types.py to test_types.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_audit_templates.py to test_audit_templates.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/api/v1/test_root.py to test_root.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/policy_fixture.py to policy_fixture.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/config.py to config.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/fake_policy.py to fake_policy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/fakes.py to fakes.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd/test_api.py to test_api.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd/test_applier.py to test_applier.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd/test_decision_engine.py to test_decision_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd/test_db_manage.py to test_db_manage.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/cmd/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications/test_audit_notification.py to test_audit_notification.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications/test_action_plan_notification.py to test_action_plan_notification.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications/test_service_notifications.py to test_service_notifications.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications/test_notification.py to test_notification.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications/test_action_notification.py to test_action_notification.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/notifications/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/conf/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/tests/conf/test_list_opts.py to test_list_opts.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/version.py to version.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/_i18n.py to _i18n.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd/sync.py to sync.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd/dbmanage.py to dbmanage.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd/applier.py to applier.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd/decisionengine.py to decisionengine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/cmd/api.py to api.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/goal.py to goal.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/action_plan.py to action_plan.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/exception.py to exception.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/audit.py to audit.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/base.py to base.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/action.py to action.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/service.py to service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/notifications/strategy.py to strategy.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/neutron_client.py to neutron_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/glance_client.py to glance_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/paths.py to paths.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/cinder_client.py to cinder_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/monasca_client.py to monasca_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/decision_engine.py to decision_engine.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/exception.py to exception.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/applier.py to applier.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/_opts.py to _opts.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/collector.py to collector.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/ironic_client.py to ironic_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/nova_client.py to nova_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/db.py to db.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/ceilometer_client.py to ceilometer_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/clients_auth.py to clients_auth.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/__init__.py to __init__.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/opts.py to opts.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/gnocchi_client.py to gnocchi_client.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/api.py to api.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/service.py to service.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/plugins.py to plugins.cpython-37.pyc byte-compiling /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/watcher/conf/planner.py to planner.cpython-37.pyc running install_data creating /build/watcher-1.12.0/debian/python3-watcher/usr/etc creating /build/watcher-1.12.0/debian/python3-watcher/usr/etc/apache2 copying etc/apache2/watcher -> /build/watcher-1.12.0/debian/python3-watcher/usr/etc/apache2 creating /build/watcher-1.12.0/debian/python3-watcher/usr/etc/watcher copying etc/watcher/README-watcher.conf.txt -> /build/watcher-1.12.0/debian/python3-watcher/usr/etc/watcher creating /build/watcher-1.12.0/debian/python3-watcher/usr/etc/watcher/oslo-policy-generator copying etc/watcher/oslo-policy-generator/watcher-policy-generator.conf -> /build/watcher-1.12.0/debian/python3-watcher/usr/etc/watcher/oslo-policy-generator creating /build/watcher-1.12.0/debian/python3-watcher/usr/etc/watcher/oslo-config-generator copying etc/watcher/oslo-config-generator/watcher.conf -> /build/watcher-1.12.0/debian/python3-watcher/usr/etc/watcher/oslo-config-generator running install_egg_info Copying python_watcher.egg-info to /build/watcher-1.12.0/debian/python3-watcher/usr/lib/python3/dist-packages/python_watcher-1.12.0.egg-info Skipping SOURCES.txt running install_scripts Installing watcher-api script to /build/watcher-1.12.0/debian/python3-watcher/usr/bin Installing watcher-applier script to /build/watcher-1.12.0/debian/python3-watcher/usr/bin Installing watcher-db-manage script to /build/watcher-1.12.0/debian/python3-watcher/usr/bin Installing watcher-decision-engine script to /build/watcher-1.12.0/debian/python3-watcher/usr/bin Installing watcher-sync script to /build/watcher-1.12.0/debian/python3-watcher/usr/bin /usr/lib/python3/dist-packages/pbr/packaging.py:407: EasyInstallDeprecationWarning: Use get_header header = easy_install.get_script_header("", executable, is_wininst) ++ pwd + rm -rf '/build/watcher-1.12.0/debian/python*/usr/lib/python*/dist-packages/*.pth' ++ pwd + '[' -d /build/watcher-1.12.0/debian/python-watcher/usr/bin ']' pkgos-dh_auto_test --no-py2 'watcher\.tests\.api\.(?!(.*test_hooks\.TestContextHook\.test_context_hook_before_method.*))' + PKGOS_USE_PY2=yes + PKGOS_USE_PY3=yes + PKGOS_TEST_PARALLEL=yes + PYTHONS=disabled + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + for i in $@ + case "${1}" in + PKGOS_USE_PY2=no + shift + for i in $@ + case "${1}" in + '[' no = yes ']' + '[' yes = yes ']' ++ py3versions -vr + PYTHON3S=3.7 + '[' yes = no ']' + for pyvers in ${PYTHONS} ${PYTHON3S} + '[' disabled = disabled ']' + continue + for pyvers in ${PYTHONS} ${PYTHON3S} + '[' 3.7 = disabled ']' ++ echo 3.7 ++ cut -d. -f1 + PYMAJOR=3 + echo '===> Testing with python (python3)' ===> Testing with python (python3) + '[' 3 = 3 ']' ++ pwd + '[' -d /build/watcher-1.12.0/debian/tmp/usr/lib/python3/dist-packages ']' + '[' -e .stestr.conf ']' + rm -rf .stestr + subunit2pyunit + PYTHON=python3.7 + python3-stestr run --subunit 'watcher\.tests\.api\.(?!(.*test_hooks\.TestContextHook\.test_context_hook_before_method.*))' INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 52804f2498c4 watcher.tests.api.test_base.TestBase.test_api_setup watcher.tests.api.test_base.TestBase.test_api_setup ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 52804f2498c4 watcher.tests.api.test_base.TestBase.test_bad_uri watcher.tests.api.test_base.TestBase.test_bad_uri ... ok watcher.tests.api.test_hooks.TestContextHook.test_context_hook_admin watcher.tests.api.test_hooks.TestContextHook.test_context_hook_admin ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault ... ok watcher.tests.api.test_hooks.TestContextHook.test_context_hook_not_admin watcher.tests.api.test_hooks.TestContextHook.test_context_hook_not_admin ... ok watcher.tests.api.test_hooks.TestContextHook.test_context_hook_public_api watcher.tests.api.test_hooks.TestContextHook.test_context_hook_public_api ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks ... ok watcher.tests.api.test_root.TestV1Root.test_get_v1_root watcher.tests.api.test_root.TestV1Root.test_get_v1_root ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug ... ok watcher.tests.api.test_scheduling.TestSchedulingService.test_start_scheduling_service watcher.tests.api.test_scheduling.TestSchedulingService.test_start_scheduling_service ... ok watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_service_status_failed_service watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_service_status_failed_service ... ok watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success watcher.tests.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_services_status_with_services_in_list_diff_status watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_services_status_with_services_in_list_diff_status ... ok watcher.tests.api.test_root.TestRoot.test_get_root watcher.tests.api.test_root.TestRoot.test_get_root ... ok watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_services_status_without_services_in_list watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_services_status_without_services_in_list ... ok watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=None + max_limit=None) watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=None + max_limit=None) ... ok watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=None + max_limit=1) watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=None + max_limit=1) ... ok watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=1 + max_limit=None) watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=1 + max_limit=None) ... ok watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=1 + max_limit=1) watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=1 + max_limit=1) ... ok watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_service_status_failed_active watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_service_status_failed_active ... ok watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_services_status_with_services_in_list_same_status watcher.tests.api.test_scheduling.TestSchedulingServiceFunctions.test_get_services_status_with_services_in_list_same_status ... ok watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=2 + max_limit=1) watcher.tests.api.test_utils.TestApiUtilsValidScenarios.test_validate_limit(limit=2 + max_limit=1) ... ok watcher.tests.api.v1.test_actions.TestActionObject.test_action_init watcher.tests.api.v1.test_actions.TestActionObject.test_action_init ... ok watcher.tests.api.test_utils.TestApiUtilsInvalidScenarios.test_validate_limit_invalid_cases(limit=0 + max_limit=None) watcher.tests.api.test_utils.TestApiUtilsInvalidScenarios.test_validate_limit_invalid_cases(limit=0 + max_limit=None) ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_actions.TestActionPolicyEnforcement.test_policy_disallow_detail ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_actions.TestActionPolicyEnforcement.test_policy_disallow_get_all ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_actions.TestActionPolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_collection_links_default_limit watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_detail watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_collection_links watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_collection_links ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_detail_against_single ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_detail_soft_deleted watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_detail_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_details_and_filter_by_audit_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_details_and_filter_by_audit_uuid ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_details_and_filter_by_action_plan_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_details_and_filter_by_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_empty watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_empty ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_filter_by_audit_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_filter_by_audit_uuid ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_filter_by_action_plan_and_audit_uuids watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_filter_by_action_plan_and_audit_uuids ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_get_one watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_get_one ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_filter_by_action_plan_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_filter_by_action_plan_uuid ... ok GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: /v1/ {} GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.watcher.v1+json'}], 'audit_templates': [{'href': 'http://localhost/v1/audit_templates/', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/', 'rel': 'bookmark'}], 'audits': [{'href': 'http://localhost/v1/audits/', 'rel': 'self'}, {'href': 'http://localhost/audits/', 'rel': 'bookmark'}], 'actions': [{'href': 'http://localhost/v1/actions/', 'rel': 'self'}, {'href': 'http://localhost/actions/', 'rel': 'bookmark'}], 'action_plans': [{'href': 'http://localhost/v1/action_plans/', 'rel': 'self'}, {'href': 'http://localhost/action_plans/', 'rel': 'bookmark'}], 'scoring_engines': [{'href': 'http://localhost/v1/scoring_engines/', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/', 'rel': 'bookmark'}], 'services': [{'href': 'http://localhost/v1/services/', 'rel': 'self'}, {'href': 'http://localhost/services/', 'rel': 'bookmark'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/watcher/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}]} GET: /v1/actions/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/actions {} GOT:{'actions': [{'uuid': 'd878f140-31d3-4497-a3f4-c2ab42674602', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d878f140-31d3-4497-a3f4-c2ab42674602', 'rel': 'self'}, {'href': 'http://localhost/actions/d878f140-31d3-4497-a3f4-c2ab42674602', 'rel': 'bookmark'}]}, {'uuid': '145cbfea-f71d-4ad1-8fc0-89c3ab9fcef8', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/145cbfea-f71d-4ad1-8fc0-89c3ab9fcef8', 'rel': 'self'}, {'href': 'http://localhost/actions/145cbfea-f71d-4ad1-8fc0-89c3ab9fcef8', 'rel': 'bookmark'}]}, {'uuid': '8f407958-0026-4801-8a37-e4e047fdc584', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/8f407958-0026-4801-8a37-e4e047fdc584', 'rel': 'self'}, {'href': 'http://localhost/actions/8f407958-0026-4801-8a37-e4e047fdc584', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/actions?sort_key=id&sort_dir=asc&limit=3&marker=8f407958-0026-4801-8a37-e4e047fdc584'} GET: /v1/actions/detail {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:27.919595+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/actions/detail?audit_uuid=10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'actions': [{'uuid': 'a64522b5-c74d-499d-8d42-62f79b1814a5', 'action_plan_uuid': 'f7c79740-22a3-46cf-b9e6-beaffd0fecf8', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/a64522b5-c74d-499d-8d42-62f79b1814a5', 'rel': 'self'}, {'href': 'http://localhost/actions/a64522b5-c74d-499d-8d42-62f79b1814a5', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:33.246229+00:00', 'deleted_at': None, 'updated_at': None}, {'uuid': '1b3a231a-d2d1-47ba-a7f1-bf407a843c23', 'action_plan_uuid': 'f7c79740-22a3-46cf-b9e6-beaffd0fecf8', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/1b3a231a-d2d1-47ba-a7f1-bf407a843c23', 'rel': 'self'}, {'href': 'http://localhost/actions/1b3a231a-d2d1-47ba-a7f1-bf407a843c23', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:33.701782+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/actions?audit_uuid=10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'actions': [{'uuid': 'b1ed7c15-60ad-45ba-8a11-f8b16974f48f', 'action_plan_uuid': '763610eb-069e-43cc-847d-1c8c9af6b206', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/b1ed7c15-60ad-45ba-8a11-f8b16974f48f', 'rel': 'self'}, {'href': 'http://localhost/actions/b1ed7c15-60ad-45ba-8a11-f8b16974f48f', 'rel': 'bookmark'}]}, {'uuid': '4b28fc60-427f-4b0c-99ce-148f0f8635d9', 'action_plan_uuid': '763610eb-069e-43cc-847d-1c8c9af6b206', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/4b28fc60-427f-4b0c-99ce-148f0f8635d9', 'rel': 'self'}, {'href': 'http://localhost/actions/4b28fc60-427f-4b0c-99ce-148f0f8635d9', 'rel': 'bookmark'}]}, {'uuid': 'e95771d7-ceff-432b-a160-3ed321ac7dc2', 'action_plan_uuid': '763610eb-069e-43cc-847d-1c8c9af6b206', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/e95771d7-ceff-432b-a160-3ed321ac7dc2', 'rel': 'self'}, {'href': 'http://localhost/actions/e95771d7-ceff-432b-a160-3ed321ac7dc2', 'rel': 'bookmark'}]}]} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:40.519517+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:42.490045+00:00', 'deleted_at': '2021-02-17T17:15:42.989070+00:00', 'updated_at': '2021-02-17T17:15:43.004766+00:00'} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Action 10a47dd1-4874-4298-91cf-eff046dbdb8d could not be found\", \"debuginfo\": null}"}watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_links watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_links ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/watcher/watcher/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/watcher/watcher/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/watcher/watcher/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/watcher/watcher/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} GET: / {} GOT:{'name': 'OpenStack Watcher API', 'description': 'Watcher is an OpenStack project which aims to improve physical resources usage through better VM placement.', 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}]}], 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}]}} GET: /v1/actions {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action:get_all to be performed.\", \"debuginfo\": null}"} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action:get to be performed.\", \"debuginfo\": null}"} GET: /v1/actions/?limit=3 {} GOT:{'actions': [{'uuid': '42d83930-a309-44cf-86bc-f5afe37999b6', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/42d83930-a309-44cf-86bc-f5afe37999b6', 'rel': 'self'}, {'href': 'http://localhost/actions/42d83930-a309-44cf-86bc-f5afe37999b6', 'rel': 'bookmark'}]}, {'uuid': '3ff81321-12c3-4b4a-ad18-b2f3e76f7a7b', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['0'], 'links': [{'href': 'http://localhost/v1/actions/3ff81321-12c3-4b4a-ad18-b2f3e76f7a7b', 'rel': 'self'}, {'href': 'http://localhost/actions/3ff81321-12c3-4b4a-ad18-b2f3e76f7a7b', 'rel': 'bookmark'}]}, {'uuid': '5d5244a0-87a0-4304-8374-61a7701f9f83', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['1'], 'links': [{'href': 'http://localhost/v1/actions/5d5244a0-87a0-4304-8374-61a7701f9f83', 'rel': 'self'}, {'href': 'http://localhost/actions/5d5244a0-87a0-4304-8374-61a7701f9f83', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/actions?sort_key=id&sort_dir=asc&limit=3&marker=5d5244a0-87a0-4304-8374-61a7701f9f83'} GET: /v1/actions/detail {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:30.536892+00:00', 'deleted_at': '2021-02-17T17:15:31.127011+00:00', 'updated_at': '2021-02-17T17:15:31.155404+00:00'}]} GET: /v1/actions/detail {} GOT:{'actions': []} GET: /v1/actions/detail?action_plan_uuid=fa504259-95b7-476f-9410-86992afade56 {} GOT:{'actions': [{'uuid': '47c82375-1f95-4bed-9555-6141bfc27e74', 'action_plan_uuid': 'fa504259-95b7-476f-9410-86992afade56', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/47c82375-1f95-4bed-9555-6141bfc27e74', 'rel': 'self'}, {'href': 'http://localhost/actions/47c82375-1f95-4bed-9555-6141bfc27e74', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:34.399507+00:00', 'deleted_at': None, 'updated_at': None}, {'uuid': '11837d43-fea2-41f2-8d3e-fdd27b0ce560', 'action_plan_uuid': 'fa504259-95b7-476f-9410-86992afade56', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/11837d43-fea2-41f2-8d3e-fdd27b0ce560', 'rel': 'self'}, {'href': 'http://localhost/actions/11837d43-fea2-41f2-8d3e-fdd27b0ce560', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:34.650411+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/actions {} GOT:{'actions': []} GET: /v1/actions?action_plan_uuid=06617217-4ed4-402c-9aad-93e66ffcd578&audit_uuid=10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Filtering actions on both audit and action-plan is prohibited\", \"debuginfo\": null}"} GET: /v1/actions?action_plan_uuid=26503120-2d03-4479-935d-a51135264c4b {} GOT:{'actions': [{'uuid': '16e47f26-159e-485b-a3eb-3c99bf99c3f6', 'action_plan_uuid': '26503120-2d03-4479-935d-a51135264c4b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/16e47f26-159e-485b-a3eb-3c99bf99c3f6', 'rel': 'self'}, {'href': 'http://localhost/actions/16e47f26-159e-485b-a3eb-3c99bf99c3f6', 'rel': 'bookmark'}]}, {'uuid': '65563dc5-cadd-44fb-9b55-64e74d1500ea', 'action_plan_uuid': '26503120-2d03-4479-935d-a51135264c4b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/65563dc5-cadd-44fb-9b55-64e74d1500ea', 'rel': 'self'}, {'href': 'http://localhost/actions/65563dc5-cadd-44fb-9b55-64e74d1500ea', 'rel': 'bookmark'}]}, {'uuid': '5946249e-63c3-4ac0-a285-01ba99872c67', 'action_plan_uuid': '26503120-2d03-4479-935d-a51135264c4b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/5946249e-63c3-4ac0-a285-01ba99872c67', 'rel': 'self'}, {'href': 'http://localhost/actions/5946249e-63c3-4ac0-a285-01ba99872c67', 'rel': 'bookmark'}]}]} GET: /v1/actions?action_plan_uuid=48487cb1-dccb-4863-a346-e255e2c1173d {} GOT:{'actions': [{'uuid': '7e3deba2-432f-4e56-ab79-4fdb9807b7c0', 'action_plan_uuid': '48487cb1-dccb-4863-a346-e255e2c1173d', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/7e3deba2-432f-4e56-ab79-4fdb9807b7c0', 'rel': 'self'}, {'href': 'http://localhost/actions/7e3deba2-432f-4e56-ab79-4fdb9807b7c0', 'rel': 'bookmark'}]}]} DELETE: /v1/action_plans/d7a5f5eb-7168-4e01-9a5d-1eaabfe7b1a9 GOT:Response: 204 No Content GET: /v1/actions {} GOT:{'actions': [{'uuid': '9ece7647-d4c3-4864-b268-d2e7f91bb6bd', 'action_plan_uuid': '469042cb-b4da-4c70-950b-e27f6318483d', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/9ece7647-d4c3-4864-b268-d2e7f91bb6bd', 'rel': 'self'}, {'href': 'http://localhost/actions/9ece7647-d4c3-4864-b268-d2e7f91bb6bd', 'rel': 'bookmark'}]}, {'uuid': '79f8b7a2-f6f1-4ea3-98ed-fe8878885233', 'action_plan_uuid': '469042cb-b4da-4c70-950b-e27f6318483d', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/79f8b7a2-f6f1-4ea3-98ed-fe8878885233', 'rel': 'self'}, {'href': 'http://localhost/actions/79f8b7a2-f6f1-4ea3-98ed-fe8878885233', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_soft_deleted_action_plan_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_soft_deleted_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_sort_key_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_sort_key_uuid ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_action_plan_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_parents watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_parents ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_one_soft_deleted watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_one_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestDelete.test_delete_action_not_allowed watcher.tests.api.v1.test_actions.TestDelete.test_delete_action_not_allowed ... ok GET: /v1/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb {} GOT:{'uuid': '57359396-6ba0-4d00-a6af-2fd43dde92fb', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb', 'rel': 'self'}, {'href': 'http://localhost/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:45.175617+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb {} GOT:{'uuid': '57359396-6ba0-4d00-a6af-2fd43dde92fb', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb', 'rel': 'self'}, {'href': 'http://localhost/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:45.175617+00:00', 'deleted_at': None, 'updated_at': None} GET: /actions/57359396-6ba0-4d00-a6af-2fd43dde92fb {} GOT:{'uuid': '57359396-6ba0-4d00-a6af-2fd43dde92fb', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb', 'rel': 'self'}, {'href': 'http://localhost/actions/57359396-6ba0-4d00-a6af-2fd43dde92fb', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:15:45.175617+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/actions {} GOT:{'actions': [{'uuid': '12a16b25-205f-4016-9294-23012f953e21', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/12a16b25-205f-4016-9294-23012f953e21', 'rel': 'self'}, {'href': 'http://localhost/actions/12a16b25-205f-4016-9294-23012f953e21', 'rel': 'bookmark'}]}, {'uuid': 'd279678c-c1ce-470b-975a-7effd51104a8', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d279678c-c1ce-470b-975a-7effd51104a8', 'rel': 'self'}, {'href': 'http://localhost/actions/d279678c-c1ce-470b-975a-7effd51104a8', 'rel': 'bookmark'}]}, {'uuid': '44e54c80-ce5c-4594-83c5-5b361ee13f7a', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/44e54c80-ce5c-4594-83c5-5b361ee13f7a', 'rel': 'self'}, {'href': 'http://localhost/actions/44e54c80-ce5c-4594-83c5-5b361ee13f7a', 'rel': 'bookmark'}]}, {'uuid': '1fc680b6-35a7-4e56-b707-e0090a697141', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/1fc680b6-35a7-4e56-b707-e0090a697141', 'rel': 'self'}, {'href': 'http://localhost/actions/1fc680b6-35a7-4e56-b707-e0090a697141', 'rel': 'bookmark'}]}, {'uuid': '825cf776-d281-4bb6-aa92-8eb7417fa1db', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/825cf776-d281-4bb6-aa92-8eb7417fa1db', 'rel': 'self'}, {'href': 'http://localhost/actions/825cf776-d281-4bb6-aa92-8eb7417fa1db', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '3b5fbc00-fe5d-441f-87f1-dcedf2263e95', 'action_plan_uuid': '377d8298-2b27-4106-b654-235aa2555e1a', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/3b5fbc00-fe5d-441f-87f1-dcedf2263e95', 'rel': 'self'}, {'href': 'http://localhost/actions/3b5fbc00-fe5d-441f-87f1-dcedf2263e95', 'rel': 'bookmark'}]}, {'uuid': 'ad1530be-c2c7-4625-a179-22fbb9a4be73', 'action_plan_uuid': '377d8298-2b27-4106-b654-235aa2555e1a', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/ad1530be-c2c7-4625-a179-22fbb9a4be73', 'rel': 'self'}, {'href': 'http://localhost/actions/ad1530be-c2c7-4625-a179-22fbb9a4be73', 'rel': 'bookmark'}]}, {'uuid': '80a20edd-d767-489a-878c-f22a3edb83da', 'action_plan_uuid': '377d8298-2b27-4106-b654-235aa2555e1a', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/80a20edd-d767-489a-878c-f22a3edb83da', 'rel': 'self'}, {'href': 'http://localhost/actions/80a20edd-d767-489a-878c-f22a3edb83da', 'rel': 'bookmark'}]}, {'uuid': 'd1dfdbf4-f6aa-4e5c-a0b6-d7731648af57', 'action_plan_uuid': '377d8298-2b27-4106-b654-235aa2555e1a', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d1dfdbf4-f6aa-4e5c-a0b6-d7731648af57', 'rel': 'self'}, {'href': 'http://localhost/actions/d1dfdbf4-f6aa-4e5c-a0b6-d7731648af57', 'rel': 'bookmark'}]}, {'uuid': '2d97b223-ee39-449c-9bf6-029d0865800e', 'action_plan_uuid': '377d8298-2b27-4106-b654-235aa2555e1a', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/2d97b223-ee39-449c-9bf6-029d0865800e', 'rel': 'self'}, {'href': 'http://localhost/actions/2d97b223-ee39-449c-9bf6-029d0865800e', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': 'ddae5036-17a6-4b56-aa35-47b74b6d9a41', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/ddae5036-17a6-4b56-aa35-47b74b6d9a41', 'rel': 'self'}, {'href': 'http://localhost/actions/ddae5036-17a6-4b56-aa35-47b74b6d9a41', 'rel': 'bookmark'}]}, {'uuid': '4c990621-577a-4098-ab7e-70a12bab7771', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['ddae5036-17a6-4b56-aa35-47b74b6d9a41'], 'links': [{'href': 'http://localhost/v1/actions/4c990621-577a-4098-ab7e-70a12bab7771', 'rel': 'self'}, {'href': 'http://localhost/actions/4c990621-577a-4098-ab7e-70a12bab7771', 'rel': 'bookmark'}]}, {'uuid': '8713bdc6-5cd4-4049-bcca-68880bbdfbd4', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['4c990621-577a-4098-ab7e-70a12bab7771'], 'links': [{'href': 'http://localhost/v1/actions/8713bdc6-5cd4-4049-bcca-68880bbdfbd4', 'rel': 'self'}, {'href': 'http://localhost/actions/8713bdc6-5cd4-4049-bcca-68880bbdfbd4', 'rel': 'bookmark'}]}, {'uuid': '189a4cee-c159-40b8-ad34-540cd66c0da5', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['8713bdc6-5cd4-4049-bcca-68880bbdfbd4'], 'links': [{'href': 'http://localhost/v1/actions/189a4cee-c159-40b8-ad34-540cd66c0da5', 'rel': 'self'}, {'href': 'http://localhost/actions/189a4cee-c159-40b8-ad34-540cd66c0da5', 'rel': 'bookmark'}]}, {'uuid': '743e850f-b62b-4eee-af15-9f3cfc6ce3ed', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['189a4cee-c159-40b8-ad34-540cd66c0da5'], 'links': [{'href': 'http://localhost/v1/actions/743e850f-b62b-4eee-af15-9f3cfc6ce3ed', 'rel': 'self'}, {'href': 'http://localhost/actions/743e850f-b62b-4eee-af15-9f3cfc6ce3ed', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '98befae4-b54f-489f-8bd7-72c3054fac8c', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/98befae4-b54f-489f-8bd7-72c3054fac8c', 'rel': 'self'}, {'href': 'http://localhost/actions/98befae4-b54f-489f-8bd7-72c3054fac8c', 'rel': 'bookmark'}]}, {'uuid': '440aaa4c-1a62-4440-91d7-47d8a4101e05', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/440aaa4c-1a62-4440-91d7-47d8a4101e05', 'rel': 'self'}, {'href': 'http://localhost/actions/440aaa4c-1a62-4440-91d7-47d8a4101e05', 'rel': 'bookmark'}]}, {'uuid': '63fc6619-af45-4d70-bc26-781a0f476921', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/63fc6619-af45-4d70-bc26-781a0f476921', 'rel': 'self'}, {'href': 'http://localhost/actions/63fc6619-af45-4d70-bc26-781a0f476921', 'rel': 'bookmark'}]}, {'uuid': '71338741-c6ea-4414-8460-cac3e708dc2f', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/71338741-c6ea-4414-8460-cac3e708dc2f', 'rel': 'self'}, {'href': 'http://localhost/actions/71338741-c6ea-4414-8460-cac3e708dc2f', 'rel': 'bookmark'}]}, {'uuid': '870d6766-21d2-4767-bb34-97d55b8b8e85', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/870d6766-21d2-4767-bb34-97d55b8b8e85', 'rel': 'self'}, {'href': 'http://localhost/actions/870d6766-21d2-4767-bb34-97d55b8b8e85', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_soft_deleted watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestListAction.test_collection_links watcher.tests.api.v1.test_actions.TestListAction.test_collection_links ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_sort_key_action_plan_uuid watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_sort_key_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_collection_links_default_limit watcher.tests.api.v1.test_actions.TestListAction.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_one watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_one ... ok watcher.tests.api.v1.test_actions.TestListAction.test_detail watcher.tests.api.v1.test_actions.TestListAction.test_detail ... ok watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_actions.TestListAction.test_detail_soft_deleted watcher.tests.api.v1.test_actions.TestListAction.test_detail_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestListAction.test_detail_against_single watcher.tests.api.v1.test_actions.TestListAction.test_detail_against_single ... ok watcher.tests.api.v1.test_actions.TestListAction.test_details_and_filter_by_audit_uuid watcher.tests.api.v1.test_actions.TestListAction.test_details_and_filter_by_audit_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_details_and_filter_by_action_plan_uuid watcher.tests.api.v1.test_actions.TestListAction.test_details_and_filter_by_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_get_one watcher.tests.api.v1.test_actions.TestListAction.test_get_one ... ok watcher.tests.api.v1.test_actions.TestListAction.test_empty watcher.tests.api.v1.test_actions.TestListAction.test_empty ... ok watcher.tests.api.v1.test_actions.TestListAction.test_filter_by_action_plan_and_audit_uuids watcher.tests.api.v1.test_actions.TestListAction.test_filter_by_action_plan_and_audit_uuids ... ok GET: /v1/actions?sort_key=action_plan_uuid&sort_dir=asc {} GOT:{'actions': [{'uuid': '57d38e40-198f-41d8-bffa-2404efd5d41a', 'action_plan_uuid': '5aaf16aa-077f-413d-a128-3a756bbfd81b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/57d38e40-198f-41d8-bffa-2404efd5d41a', 'rel': 'self'}, {'href': 'http://localhost/actions/57d38e40-198f-41d8-bffa-2404efd5d41a', 'rel': 'bookmark'}]}, {'uuid': 'd8ffb63b-1e7e-4eeb-9f35-3c2f0a55efa0', 'action_plan_uuid': '5aaf16aa-077f-413d-a128-3a756bbfd81b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d8ffb63b-1e7e-4eeb-9f35-3c2f0a55efa0', 'rel': 'self'}, {'href': 'http://localhost/actions/d8ffb63b-1e7e-4eeb-9f35-3c2f0a55efa0', 'rel': 'bookmark'}]}, {'uuid': 'f63873b1-c568-44f0-9bc3-e1cb1d12f42a', 'action_plan_uuid': '5aaf16aa-077f-413d-a128-3a756bbfd81b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/f63873b1-c568-44f0-9bc3-e1cb1d12f42a', 'rel': 'self'}, {'href': 'http://localhost/actions/f63873b1-c568-44f0-9bc3-e1cb1d12f42a', 'rel': 'bookmark'}]}, {'uuid': '8290864c-b349-4852-a035-5a78699c5093', 'action_plan_uuid': 'dfc5e739-68db-43e3-a9ce-6556e78828c2', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/8290864c-b349-4852-a035-5a78699c5093', 'rel': 'self'}, {'href': 'http://localhost/actions/8290864c-b349-4852-a035-5a78699c5093', 'rel': 'bookmark'}]}, {'uuid': '88a33417-d731-4fd7-9ba0-0baa1f8f34f0', 'action_plan_uuid': 'dfc5e739-68db-43e3-a9ce-6556e78828c2', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/88a33417-d731-4fd7-9ba0-0baa1f8f34f0', 'rel': 'self'}, {'href': 'http://localhost/actions/88a33417-d731-4fd7-9ba0-0baa1f8f34f0', 'rel': 'bookmark'}]}]} GET: /v1/actions?sort_key=action_plan_uuid&sort_dir=desc {} GOT:{'actions': [{'uuid': '88a33417-d731-4fd7-9ba0-0baa1f8f34f0', 'action_plan_uuid': 'dfc5e739-68db-43e3-a9ce-6556e78828c2', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/88a33417-d731-4fd7-9ba0-0baa1f8f34f0', 'rel': 'self'}, {'href': 'http://localhost/actions/88a33417-d731-4fd7-9ba0-0baa1f8f34f0', 'rel': 'bookmark'}]}, {'uuid': '8290864c-b349-4852-a035-5a78699c5093', 'action_plan_uuid': 'dfc5e739-68db-43e3-a9ce-6556e78828c2', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/8290864c-b349-4852-a035-5a78699c5093', 'rel': 'self'}, {'href': 'http://localhost/actions/8290864c-b349-4852-a035-5a78699c5093', 'rel': 'bookmark'}]}, {'uuid': 'f63873b1-c568-44f0-9bc3-e1cb1d12f42a', 'action_plan_uuid': '5aaf16aa-077f-413d-a128-3a756bbfd81b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/f63873b1-c568-44f0-9bc3-e1cb1d12f42a', 'rel': 'self'}, {'href': 'http://localhost/actions/f63873b1-c568-44f0-9bc3-e1cb1d12f42a', 'rel': 'bookmark'}]}, {'uuid': 'd8ffb63b-1e7e-4eeb-9f35-3c2f0a55efa0', 'action_plan_uuid': '5aaf16aa-077f-413d-a128-3a756bbfd81b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d8ffb63b-1e7e-4eeb-9f35-3c2f0a55efa0', 'rel': 'self'}, {'href': 'http://localhost/actions/d8ffb63b-1e7e-4eeb-9f35-3c2f0a55efa0', 'rel': 'bookmark'}]}, {'uuid': '57d38e40-198f-41d8-bffa-2404efd5d41a', 'action_plan_uuid': '5aaf16aa-077f-413d-a128-3a756bbfd81b', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/57d38e40-198f-41d8-bffa-2404efd5d41a', 'rel': 'self'}, {'href': 'http://localhost/actions/57d38e40-198f-41d8-bffa-2404efd5d41a', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}]}]} GET: /v1/actions?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/actions/detail?audit_uuid=10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'actions': [{'uuid': 'bea4dbd7-dedb-4599-a28d-937c3b90ed03', 'action_plan_uuid': '22284dc4-8ddf-4604-8be9-c5cc9f1026bd', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/bea4dbd7-dedb-4599-a28d-937c3b90ed03', 'rel': 'self'}, {'href': 'http://localhost/actions/bea4dbd7-dedb-4599-a28d-937c3b90ed03', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:12.757803+00:00', 'deleted_at': None, 'updated_at': None}, {'uuid': 'fd42b013-e301-4c89-8df1-d080bd6e8de4', 'action_plan_uuid': '22284dc4-8ddf-4604-8be9-c5cc9f1026bd', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/fd42b013-e301-4c89-8df1-d080bd6e8de4', 'rel': 'self'}, {'href': 'http://localhost/actions/fd42b013-e301-4c89-8df1-d080bd6e8de4', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:12.980562+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:15.147354+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/actions {} GOT:{'actions': [{'uuid': '7b849f53-8e07-44f4-86d1-5cc125ca1690', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/7b849f53-8e07-44f4-86d1-5cc125ca1690', 'rel': 'self'}, {'href': 'http://localhost/actions/7b849f53-8e07-44f4-86d1-5cc125ca1690', 'rel': 'bookmark'}]}, {'uuid': 'ab0cdaf6-51ff-488d-9020-b30093ec2cbe', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/ab0cdaf6-51ff-488d-9020-b30093ec2cbe', 'rel': 'self'}, {'href': 'http://localhost/actions/ab0cdaf6-51ff-488d-9020-b30093ec2cbe', 'rel': 'bookmark'}]}, {'uuid': 'f1935076-ca84-4e10-b9c2-f0cb9b36183d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/f1935076-ca84-4e10-b9c2-f0cb9b36183d', 'rel': 'self'}, {'href': 'http://localhost/actions/f1935076-ca84-4e10-b9c2-f0cb9b36183d', 'rel': 'bookmark'}]}, {'uuid': 'b9cfe743-27c9-42b1-8b14-c44a4d8dd9e9', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/b9cfe743-27c9-42b1-8b14-c44a4d8dd9e9', 'rel': 'self'}, {'href': 'http://localhost/actions/b9cfe743-27c9-42b1-8b14-c44a4d8dd9e9', 'rel': 'bookmark'}]}, {'uuid': '0d1b8938-d9f0-4da3-a37f-17a7c7d9c3ed', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/0d1b8938-d9f0-4da3-a37f-17a7c7d9c3ed', 'rel': 'self'}, {'href': 'http://localhost/actions/0d1b8938-d9f0-4da3-a37f-17a7c7d9c3ed', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_actions.TestListAction.test_many watcher.tests.api.v1.test_actions.TestListAction.test_many ... ok watcher.tests.api.v1.test_actions.TestListAction.test_many_with_action_plan_uuid watcher.tests.api.v1.test_actions.TestListAction.test_many_with_action_plan_uuid ... ok GET: /v1/actions?sort_key=uuid {} GOT:{'actions': [{'uuid': '3d3a7ec0-e8f6-45e2-8c00-c1b6e11b1088', 'action_plan_uuid': '3d42e8db-9fa0-4b6a-b9ac-0dda6445b54a', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/3d3a7ec0-e8f6-45e2-8c00-c1b6e11b1088', 'rel': 'self'}, {'href': 'http://localhost/actions/3d3a7ec0-e8f6-45e2-8c00-c1b6e11b1088', 'rel': 'bookmark'}]}, {'uuid': '3ee5bf96-3c26-424e-aa29-d0ef29ecfb89', 'action_plan_uuid': '3d42e8db-9fa0-4b6a-b9ac-0dda6445b54a', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/3ee5bf96-3c26-424e-aa29-d0ef29ecfb89', 'rel': 'self'}, {'href': 'http://localhost/actions/3ee5bf96-3c26-424e-aa29-d0ef29ecfb89', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '1cba89fd-e0b1-4337-b5cf-b0d41b1788ae', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/1cba89fd-e0b1-4337-b5cf-b0d41b1788ae', 'rel': 'self'}, {'href': 'http://localhost/actions/1cba89fd-e0b1-4337-b5cf-b0d41b1788ae', 'rel': 'bookmark'}]}, {'uuid': 'd36c4fcd-dbe5-4ade-a091-de174e57c58b', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d36c4fcd-dbe5-4ade-a091-de174e57c58b', 'rel': 'self'}, {'href': 'http://localhost/actions/d36c4fcd-dbe5-4ade-a091-de174e57c58b', 'rel': 'bookmark'}]}, {'uuid': 'a68feb18-c7cb-4148-b093-bb66dd5630cd', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/a68feb18-c7cb-4148-b093-bb66dd5630cd', 'rel': 'self'}, {'href': 'http://localhost/actions/a68feb18-c7cb-4148-b093-bb66dd5630cd', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': []} DELETE: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot delete an action directly\", \"debuginfo\": null}"} GET: /v1/actions/?limit=3 {} GOT:{'actions': [{'uuid': '14949e51-63f3-436b-ba44-89e668218cdd', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/14949e51-63f3-436b-ba44-89e668218cdd', 'rel': 'self'}, {'href': 'http://localhost/actions/14949e51-63f3-436b-ba44-89e668218cdd', 'rel': 'bookmark'}]}, {'uuid': '2a9cd0dd-8f4d-49e5-a2dd-f69a07da076b', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['0'], 'links': [{'href': 'http://localhost/v1/actions/2a9cd0dd-8f4d-49e5-a2dd-f69a07da076b', 'rel': 'self'}, {'href': 'http://localhost/actions/2a9cd0dd-8f4d-49e5-a2dd-f69a07da076b', 'rel': 'bookmark'}]}, {'uuid': '3a89fcf1-4676-4a44-925d-dbcbfb0660d1', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['1'], 'links': [{'href': 'http://localhost/v1/actions/3a89fcf1-4676-4a44-925d-dbcbfb0660d1', 'rel': 'self'}, {'href': 'http://localhost/actions/3a89fcf1-4676-4a44-925d-dbcbfb0660d1', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/actions?sort_key=id&sort_dir=asc&limit=3&marker=3a89fcf1-4676-4a44-925d-dbcbfb0660d1'} GET: /v1/actions {} GOT:{'actions': [{'uuid': 'a7215344-449f-4ad3-b952-59f395206411', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/a7215344-449f-4ad3-b952-59f395206411', 'rel': 'self'}, {'href': 'http://localhost/actions/a7215344-449f-4ad3-b952-59f395206411', 'rel': 'bookmark'}]}, {'uuid': 'd3e6ac18-3491-486a-a101-28326b64db57', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d3e6ac18-3491-486a-a101-28326b64db57', 'rel': 'self'}, {'href': 'http://localhost/actions/d3e6ac18-3491-486a-a101-28326b64db57', 'rel': 'bookmark'}]}, {'uuid': 'ef83584b-0799-44d1-9b31-348351085bf6', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/ef83584b-0799-44d1-9b31-348351085bf6', 'rel': 'self'}, {'href': 'http://localhost/actions/ef83584b-0799-44d1-9b31-348351085bf6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/actions?sort_key=id&sort_dir=asc&limit=3&marker=ef83584b-0799-44d1-9b31-348351085bf6'} GET: /v1/actions/detail {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:07.719748+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/actions/detail {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:09.678151+00:00', 'deleted_at': '2021-02-17T17:16:10.104184+00:00', 'updated_at': '2021-02-17T17:16:10.121512+00:00'}]} GET: /v1/actions/detail {} GOT:{'actions': []} GET: /v1/actions/detail?action_plan_uuid=c0f78a56-22f9-46ba-b673-9148b655accf {} GOT:{'actions': [{'uuid': 'd108bbae-f116-4bcf-a133-fb20375e7cdb', 'action_plan_uuid': 'c0f78a56-22f9-46ba-b673-9148b655accf', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d108bbae-f116-4bcf-a133-fb20375e7cdb', 'rel': 'self'}, {'href': 'http://localhost/actions/d108bbae-f116-4bcf-a133-fb20375e7cdb', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:12.559513+00:00', 'deleted_at': None, 'updated_at': None}, {'uuid': 'ce78ce38-c136-47ce-8957-4cfbad1220b4', 'action_plan_uuid': 'c0f78a56-22f9-46ba-b673-9148b655accf', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/ce78ce38-c136-47ce-8957-4cfbad1220b4', 'rel': 'self'}, {'href': 'http://localhost/actions/ce78ce38-c136-47ce-8957-4cfbad1220b4', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:12.790839+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/actions {} GOT:{'actions': []} GET: /v1/actions?action_plan_uuid=a9d800cf-46ba-4bd4-8e37-b1823d54ebad&audit_uuid=10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Filtering actions on both audit and action-plan is prohibited\", \"debuginfo\": null}"} GET: /v1/actions?action_plan_uuid=c140e93f-884c-4f27-bdff-afde99f15776 {} GOT:{'actions': [{'uuid': '550c2696-cdb1-46a6-9b95-43ab63c81a4a', 'action_plan_uuid': 'c140e93f-884c-4f27-bdff-afde99f15776', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/550c2696-cdb1-46a6-9b95-43ab63c81a4a', 'rel': 'self'}, {'href': 'http://localhost/actions/550c2696-cdb1-46a6-9b95-43ab63c81a4a', 'rel': 'bookmark'}]}, {'uuid': 'a0d7ec95-e480-420f-9eab-7ca9f6327584', 'action_plan_uuid': 'c140e93f-884c-4f27-bdff-afde99f15776', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/a0d7ec95-e480-420f-9eab-7ca9f6327584', 'rel': 'self'}, {'href': 'http://localhost/actions/a0d7ec95-e480-420f-9eab-7ca9f6327584', 'rel': 'bookmark'}]}, {'uuid': 'bd70e476-4a56-4831-bcba-9999fee4296a', 'action_plan_uuid': 'c140e93f-884c-4f27-bdff-afde99f15776', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/bd70e476-4a56-4831-bcba-9999fee4296a', 'rel': 'self'}, {'href': 'http://localhost/actions/bd70e476-4a56-4831-bcba-9999fee4296a', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_actions.TestListAction.test_filter_by_action_plan_uuid watcher.tests.api.v1.test_actions.TestListAction.test_filter_by_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_many_with_parents watcher.tests.api.v1.test_actions.TestListAction.test_many_with_parents ... ok watcher.tests.api.v1.test_actions.TestListAction.test_filter_by_audit_uuid watcher.tests.api.v1.test_actions.TestListAction.test_filter_by_audit_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_get_one_soft_deleted watcher.tests.api.v1.test_actions.TestListAction.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestListAction.test_links watcher.tests.api.v1.test_actions.TestListAction.test_links ... ok watcher.tests.api.v1.test_actions.TestListAction.test_many_with_soft_deleted_action_plan_uuid watcher.tests.api.v1.test_actions.TestListAction.test_many_with_soft_deleted_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_many_with_soft_deleted watcher.tests.api.v1.test_actions.TestListAction.test_many_with_soft_deleted ... ok GET: /v1/actions {} GOT:{'actions': [{'uuid': '40203a88-57b1-4308-96d0-e294d24a6238', 'action_plan_uuid': '37ceaf24-e6cd-4e3b-9807-f279f72f0853', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/40203a88-57b1-4308-96d0-e294d24a6238', 'rel': 'self'}, {'href': 'http://localhost/actions/40203a88-57b1-4308-96d0-e294d24a6238', 'rel': 'bookmark'}]}, {'uuid': '26c89376-936f-4bba-a9b6-d73abda0149b', 'action_plan_uuid': '37ceaf24-e6cd-4e3b-9807-f279f72f0853', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/26c89376-936f-4bba-a9b6-d73abda0149b', 'rel': 'self'}, {'href': 'http://localhost/actions/26c89376-936f-4bba-a9b6-d73abda0149b', 'rel': 'bookmark'}]}, {'uuid': '72554608-9114-4913-bec7-7157f6b3a937', 'action_plan_uuid': '37ceaf24-e6cd-4e3b-9807-f279f72f0853', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/72554608-9114-4913-bec7-7157f6b3a937', 'rel': 'self'}, {'href': 'http://localhost/actions/72554608-9114-4913-bec7-7157f6b3a937', 'rel': 'bookmark'}]}, {'uuid': '973fc72b-7aa3-4392-94c9-8eb64a73ad43', 'action_plan_uuid': '37ceaf24-e6cd-4e3b-9807-f279f72f0853', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/973fc72b-7aa3-4392-94c9-8eb64a73ad43', 'rel': 'self'}, {'href': 'http://localhost/actions/973fc72b-7aa3-4392-94c9-8eb64a73ad43', 'rel': 'bookmark'}]}, {'uuid': '2266fddc-9ea6-484c-8766-9b145e676e71', 'action_plan_uuid': '37ceaf24-e6cd-4e3b-9807-f279f72f0853', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/2266fddc-9ea6-484c-8766-9b145e676e71', 'rel': 'self'}, {'href': 'http://localhost/actions/2266fddc-9ea6-484c-8766-9b145e676e71', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '61a34d8f-9ebf-4811-a73e-5c4ac4eaa8e0', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/61a34d8f-9ebf-4811-a73e-5c4ac4eaa8e0', 'rel': 'self'}, {'href': 'http://localhost/actions/61a34d8f-9ebf-4811-a73e-5c4ac4eaa8e0', 'rel': 'bookmark'}]}, {'uuid': '7305ae28-f54a-4891-9823-e7d90ff87caf', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['61a34d8f-9ebf-4811-a73e-5c4ac4eaa8e0'], 'links': [{'href': 'http://localhost/v1/actions/7305ae28-f54a-4891-9823-e7d90ff87caf', 'rel': 'self'}, {'href': 'http://localhost/actions/7305ae28-f54a-4891-9823-e7d90ff87caf', 'rel': 'bookmark'}]}, {'uuid': 'b40e240c-05c0-478d-81fe-a0ac7f36357e', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['7305ae28-f54a-4891-9823-e7d90ff87caf'], 'links': [{'href': 'http://localhost/v1/actions/b40e240c-05c0-478d-81fe-a0ac7f36357e', 'rel': 'self'}, {'href': 'http://localhost/actions/b40e240c-05c0-478d-81fe-a0ac7f36357e', 'rel': 'bookmark'}]}, {'uuid': '6c32e0b5-6715-4610-8637-7e0dd8abc3b2', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['b40e240c-05c0-478d-81fe-a0ac7f36357e'], 'links': [{'href': 'http://localhost/v1/actions/6c32e0b5-6715-4610-8637-7e0dd8abc3b2', 'rel': 'self'}, {'href': 'http://localhost/actions/6c32e0b5-6715-4610-8637-7e0dd8abc3b2', 'rel': 'bookmark'}]}, {'uuid': 'e86388c2-4ffc-425e-91ec-c08f24abe199', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': ['6c32e0b5-6715-4610-8637-7e0dd8abc3b2'], 'links': [{'href': 'http://localhost/v1/actions/e86388c2-4ffc-425e-91ec-c08f24abe199', 'rel': 'self'}, {'href': 'http://localhost/actions/e86388c2-4ffc-425e-91ec-c08f24abe199', 'rel': 'bookmark'}]}]} DELETE: /v1/action_plans/be27c231-8a06-4f17-8802-8ffded7d4498 GOT:Response: 204 No Content GET: /v1/actions {} GOT:{'actions': [{'uuid': 'c9bf8b46-2784-4528-965f-4a091e19fce6', 'action_plan_uuid': '68e20110-5d3b-4b2d-b966-b178b5e88254', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/c9bf8b46-2784-4528-965f-4a091e19fce6', 'rel': 'self'}, {'href': 'http://localhost/actions/c9bf8b46-2784-4528-965f-4a091e19fce6', 'rel': 'bookmark'}]}, {'uuid': 'fe63e470-6eda-4302-8c09-f123a8ff55b2', 'action_plan_uuid': '68e20110-5d3b-4b2d-b966-b178b5e88254', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/fe63e470-6eda-4302-8c09-f123a8ff55b2', 'rel': 'self'}, {'href': 'http://localhost/actions/fe63e470-6eda-4302-8c09-f123a8ff55b2', 'rel': 'bookmark'}]}]} GET: /v1/actions?sort_key=action_plan_uuid&sort_dir=asc {} GOT:{'actions': [{'uuid': '397ee449-43a1-4b20-8dd2-079ec9c93017', 'action_plan_uuid': '836c05d6-a05f-4b22-9c0d-6d0b78be1f25', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/397ee449-43a1-4b20-8dd2-079ec9c93017', 'rel': 'self'}, {'href': 'http://localhost/actions/397ee449-43a1-4b20-8dd2-079ec9c93017', 'rel': 'bookmark'}]}, {'uuid': '535a4a3a-5b0c-4cca-a792-9a77464a9320', 'action_plan_uuid': '836c05d6-a05f-4b22-9c0d-6d0b78be1f25', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/535a4a3a-5b0c-4cca-a792-9a77464a9320', 'rel': 'self'}, {'href': 'http://localhost/actions/535a4a3a-5b0c-4cca-a792-9a77464a9320', 'rel': 'bookmark'}]}, {'uuid': '79d37acc-a0bb-4fc9-9bd8-bb6b83ae5ee1', 'action_plan_uuid': '836c05d6-a05f-4b22-9c0d-6d0b78be1f25', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/79d37acc-a0bb-4fc9-9bd8-bb6b83ae5ee1', 'rel': 'self'}, {'href': 'http://localhost/actions/79d37acc-a0bb-4fc9-9bd8-bb6b83ae5ee1', 'rel': 'bookmark'}]}, {'uuid': '9425ce28-7dd5-4027-9119-1ac92790e826', 'action_plan_uuid': 'd47899fc-f7e4-4fb2-9f10-cc53adbb332f', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/9425ce28-7dd5-4027-9119-1ac92790e826', 'rel': 'self'}, {'href': 'http://localhost/actions/9425ce28-7dd5-4027-9119-1ac92790e826', 'rel': 'bookmark'}]}, {'uuid': 'e3178418-73dd-47f3-8f36-14c52632816e', 'action_plan_uuid': 'd47899fc-f7e4-4fb2-9f10-cc53adbb332f', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/e3178418-73dd-47f3-8f36-14c52632816e', 'rel': 'self'}, {'href': 'http://localhost/actions/e3178418-73dd-47f3-8f36-14c52632816e', 'rel': 'bookmark'}]}]} GET: /v1/actions?sort_key=action_plan_uuid&sort_dir=desc {} GOT:{'actions': [{'uuid': 'e3178418-73dd-47f3-8f36-14c52632816e', 'action_plan_uuid': 'd47899fc-f7e4-4fb2-9f10-cc53adbb332f', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/e3178418-73dd-47f3-8f36-14c52632816e', 'rel': 'self'}, {'href': 'http://localhost/actions/e3178418-73dd-47f3-8f36-14c52632816e', 'rel': 'bookmark'}]}, {'uuid': '9425ce28-7dd5-4027-9119-1ac92790e826', 'action_plan_uuid': 'd47899fc-f7e4-4fb2-9f10-cc53adbb332f', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/9425ce28-7dd5-4027-9119-1ac92790e826', 'rel': 'self'}, {'href': 'http://localhost/actions/9425ce28-7dd5-4027-9119-1ac92790e826', 'rel': 'bookmark'}]}, {'uuid': '79d37acc-a0bb-4fc9-9bd8-bb6b83ae5ee1', 'action_plan_uuid': '836c05d6-a05f-4b22-9c0d-6d0b78be1f25', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/79d37acc-a0bb-4fc9-9bd8-bb6b83ae5ee1', 'rel': 'self'}, {'href': 'http://localhost/actions/79d37acc-a0bb-4fc9-9bd8-bb6b83ae5ee1', 'rel': 'bookmark'}]}, {'uuid': '535a4a3a-5b0c-4cca-a792-9a77464a9320', 'action_plan_uuid': '836c05d6-a05f-4b22-9c0d-6d0b78be1f25', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/535a4a3a-5b0c-4cca-a792-9a77464a9320', 'rel': 'self'}, {'href': 'http://localhost/actions/535a4a3a-5b0c-4cca-a792-9a77464a9320', 'rel': 'bookmark'}]}, {'uuid': '397ee449-43a1-4b20-8dd2-079ec9c93017', 'action_plan_uuid': '836c05d6-a05f-4b22-9c0d-6d0b78be1f25', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/397ee449-43a1-4b20-8dd2-079ec9c93017', 'rel': 'self'}, {'href': 'http://localhost/actions/397ee449-43a1-4b20-8dd2-079ec9c93017', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_actions.TestListAction.test_many_with_sort_key_action_plan_uuid watcher.tests.api.v1.test_actions.TestListAction.test_many_with_sort_key_action_plan_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_many_with_sort_key_uuid watcher.tests.api.v1.test_actions.TestListAction.test_many_with_sort_key_uuid ... ok watcher.tests.api.v1.test_actions.TestListAction.test_many_without_soft_deleted watcher.tests.api.v1.test_actions.TestListAction.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_actions.TestListAction.test_one watcher.tests.api.v1.test_actions.TestListAction.test_one ... ok watcher.tests.api.v1.test_actions.TestListAction.test_one_soft_deleted watcher.tests.api.v1.test_actions.TestListAction.test_one_soft_deleted ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'0'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'3'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/sqlalchemy/sql/sqltypes.py:639: SAWarning: Dialect sqlite+pysqlite does *not* support Decimal objects natively, and SQLAlchemy must convert from floating point - rounding errors and other issues may occur. Please consider storing Decimal numbers as strings or integers on this platform for lossless storage. "storage." % (dialect.name, dialect.driver) /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'0'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:374: FutureWarning: b"'3'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning watcher.tests.api.v1.test_actions.TestListAction.test_sort_key_validation watcher.tests.api.v1.test_actions.TestListAction.test_sort_key_validation ... ok GET: /v1/actions?action_plan_uuid=38bbdda0-d85c-4e23-9276-555ba23d73dc {} GOT:{'actions': [{'uuid': '786e5f6e-9719-4462-8368-682e4158ac53', 'action_plan_uuid': '38bbdda0-d85c-4e23-9276-555ba23d73dc', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/786e5f6e-9719-4462-8368-682e4158ac53', 'rel': 'self'}, {'href': 'http://localhost/actions/786e5f6e-9719-4462-8368-682e4158ac53', 'rel': 'bookmark'}]}]} GET: /v1/actions?audit_uuid=10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'actions': [{'uuid': '95eadd10-6bdb-45a3-97b6-de63fe241151', 'action_plan_uuid': '1e987472-f5c8-4dbe-8ba5-e620b5c683cc', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/95eadd10-6bdb-45a3-97b6-de63fe241151', 'rel': 'self'}, {'href': 'http://localhost/actions/95eadd10-6bdb-45a3-97b6-de63fe241151', 'rel': 'bookmark'}]}, {'uuid': '015014cc-8783-4936-b871-d11554da9900', 'action_plan_uuid': '1e987472-f5c8-4dbe-8ba5-e620b5c683cc', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/015014cc-8783-4936-b871-d11554da9900', 'rel': 'self'}, {'href': 'http://localhost/actions/015014cc-8783-4936-b871-d11554da9900', 'rel': 'bookmark'}]}, {'uuid': '2aaf1e22-5bb8-4203-830a-1283add0efbb', 'action_plan_uuid': '1e987472-f5c8-4dbe-8ba5-e620b5c683cc', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/2aaf1e22-5bb8-4203-830a-1283add0efbb', 'rel': 'self'}, {'href': 'http://localhost/actions/2aaf1e22-5bb8-4203-830a-1283add0efbb', 'rel': 'bookmark'}]}]} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:27.802463+00:00', 'deleted_at': '2021-02-17T17:16:28.288215+00:00', 'updated_at': '2021-02-17T17:16:28.301516+00:00'} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Action 10a47dd1-4874-4298-91cf-eff046dbdb8d could not be found\", \"debuginfo\": null}"} GET: /v1/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022 {} GOT:{'uuid': '7ade8183-4685-4f74-8d55-cfc17fc0e022', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022', 'rel': 'self'}, {'href': 'http://localhost/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:30.406488+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022 {} GOT:{'uuid': '7ade8183-4685-4f74-8d55-cfc17fc0e022', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022', 'rel': 'self'}, {'href': 'http://localhost/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:30.406488+00:00', 'deleted_at': None, 'updated_at': None} GET: /actions/7ade8183-4685-4f74-8d55-cfc17fc0e022 {} GOT:{'uuid': '7ade8183-4685-4f74-8d55-cfc17fc0e022', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022', 'rel': 'self'}, {'href': 'http://localhost/actions/7ade8183-4685-4f74-8d55-cfc17fc0e022', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:30.406488+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/actions {} GOT:{'actions': [{'uuid': 'ace7ac43-7272-4bc1-8775-e49a7334cac6', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/ace7ac43-7272-4bc1-8775-e49a7334cac6', 'rel': 'self'}, {'href': 'http://localhost/actions/ace7ac43-7272-4bc1-8775-e49a7334cac6', 'rel': 'bookmark'}]}, {'uuid': 'b641c24f-fcf7-4331-8e1d-560f22cedade', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/b641c24f-fcf7-4331-8e1d-560f22cedade', 'rel': 'self'}, {'href': 'http://localhost/actions/b641c24f-fcf7-4331-8e1d-560f22cedade', 'rel': 'bookmark'}]}, {'uuid': '4b630a89-2ed4-453d-bced-ab26ec55f014', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/4b630a89-2ed4-453d-bced-ab26ec55f014', 'rel': 'self'}, {'href': 'http://localhost/actions/4b630a89-2ed4-453d-bced-ab26ec55f014', 'rel': 'bookmark'}]}, {'uuid': '7b0d77ec-7554-4226-aefa-63ee05b5be05', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/7b0d77ec-7554-4226-aefa-63ee05b5be05', 'rel': 'self'}, {'href': 'http://localhost/actions/7b0d77ec-7554-4226-aefa-63ee05b5be05', 'rel': 'bookmark'}]}, {'uuid': '022997df-05a9-4e95-b8b9-5899b4bb65c4', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/022997df-05a9-4e95-b8b9-5899b4bb65c4', 'rel': 'self'}, {'href': 'http://localhost/actions/022997df-05a9-4e95-b8b9-5899b4bb65c4', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': 'd2bff8c8-e5f5-4476-ac32-bc9bb19b4a11', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d2bff8c8-e5f5-4476-ac32-bc9bb19b4a11', 'rel': 'self'}, {'href': 'http://localhost/actions/d2bff8c8-e5f5-4476-ac32-bc9bb19b4a11', 'rel': 'bookmark'}]}, {'uuid': 'af2e8ae1-bb45-4e90-beb7-c19d3131b72f', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/af2e8ae1-bb45-4e90-beb7-c19d3131b72f', 'rel': 'self'}, {'href': 'http://localhost/actions/af2e8ae1-bb45-4e90-beb7-c19d3131b72f', 'rel': 'bookmark'}]}, {'uuid': 'adead13e-cd9e-4098-b88f-82be84ed5a48', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/adead13e-cd9e-4098-b88f-82be84ed5a48', 'rel': 'self'}, {'href': 'http://localhost/actions/adead13e-cd9e-4098-b88f-82be84ed5a48', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}]}]} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'PENDING', 'action_type': 'nop', 'description': '', 'input_parameters': {'key1': 'val1', 'key2': 'val2', 'resource_id': '10a47dd1-4874-4298-91cf-eff046dbdb8d'}, 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:16:43.236307+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions.TestPatch.test_patch_not_allowed watcher.tests.api.v1.test_actions.TestPatch.test_patch_not_allowed ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_delete watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_delete ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_detail ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_get_all ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_collection_links watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_collection_links ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_empty watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_empty ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_update watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcement.test_policy_disallow_update ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_get_one_ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_get_one_ok ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_collection_links_default_limit watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_links watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_links ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_detail watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_detail_against_single ... ok GET: /v1/actions?sort_key=uuid {} GOT:{'actions': [{'uuid': 'c4ef0cf4-75b9-4aff-9fb2-235793db7f96', 'action_plan_uuid': '1cc32919-fa9d-49ce-8f8c-3fe569f4d216', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/c4ef0cf4-75b9-4aff-9fb2-235793db7f96', 'rel': 'self'}, {'href': 'http://localhost/actions/c4ef0cf4-75b9-4aff-9fb2-235793db7f96', 'rel': 'bookmark'}]}, {'uuid': 'd70d6ee5-e5bf-485e-a143-8756e2d795fd', 'action_plan_uuid': '1cc32919-fa9d-49ce-8f8c-3fe569f4d216', 'state': 'PENDING', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/d70d6ee5-e5bf-485e-a143-8756e2d795fd', 'rel': 'self'}, {'href': 'http://localhost/actions/d70d6ee5-e5bf-485e-a143-8756e2d795fd', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'action_plan_uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'state': 'DELETED', 'action_type': 'nop', 'parents': [], 'links': [{'href': 'http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}]}]} GET: /v1/actions {} GOT:{'actions': []} GET: /v1/actions?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/action_plans/?limit=3 {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'a7539eec-bb92-46e8-a4ee-6a68b6c27cd0', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/a7539eec-bb92-46e8-a4ee-6a68b6c27cd0', 'rel': 'self'}, {'href': 'http://localhost/action_plans/a7539eec-bb92-46e8-a4ee-6a68b6c27cd0', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '3e322f3c-d58e-497e-8e11-30c02501ffd0', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/3e322f3c-d58e-497e-8e11-30c02501ffd0', 'rel': 'self'}, {'href': 'http://localhost/action_plans/3e322f3c-d58e-497e-8e11-30c02501ffd0', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'd158091c-9259-4de9-ac8c-55567a08f5a3', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/d158091c-9259-4de9-ac8c-55567a08f5a3', 'rel': 'self'}, {'href': 'http://localhost/action_plans/d158091c-9259-4de9-ac8c-55567a08f5a3', 'rel': 'bookmark'}], 'updated_at': None}], 'next': 'http://localhost/v1/action_plans?sort_key=id&sort_dir=asc&limit=3&marker=d158091c-9259-4de9-ac8c-55567a08f5a3'} GET: /v1/action_plans {} GOT:{'action_plans': []} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [{'name': 'test_indicator', 'description': 'Test indicator', 'unit': '%', 'value': 0.0}], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:16:51.412764+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722 {} GOT:{'efficacy_indicators': [], 'uuid': 'f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'rel': 'self'}, {'href': 'http://localhost/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:16:53.271370+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722 {} GOT:{'efficacy_indicators': [], 'uuid': 'f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'rel': 'self'}, {'href': 'http://localhost/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:16:53.271370+00:00', 'deleted_at': None, 'updated_at': None} GET: /action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722 {} GOT:{'efficacy_indicators': [], 'uuid': 'f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'rel': 'self'}, {'href': 'http://localhost/action_plans/f50cdfb9-8f91-4e66-891a-89ebff9d4722', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:16:53.271370+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'ad001241-ba7b-42c6-9f5c-80379186ac6d', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/ad001241-ba7b-42c6-9f5c-80379186ac6d', 'rel': 'self'}, {'href': 'http://localhost/action_plans/ad001241-ba7b-42c6-9f5c-80379186ac6d', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'c7c5e7ef-5096-4779-9904-f4b93812cbed', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/c7c5e7ef-5096-4779-9904-f4b93812cbed', 'rel': 'self'}, {'href': 'http://localhost/action_plans/c7c5e7ef-5096-4779-9904-f4b93812cbed', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '51701119-8ddb-49fd-96c9-29caac0f8bb7', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/51701119-8ddb-49fd-96c9-29caac0f8bb7', 'rel': 'self'}, {'href': 'http://localhost/action_plans/51701119-8ddb-49fd-96c9-29caac0f8bb7', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '85167e6a-bccf-4603-9509-7f4fa94e62da', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/85167e6a-bccf-4603-9509-7f4fa94e62da', 'rel': 'self'}, {'href': 'http://localhost/action_plans/85167e6a-bccf-4603-9509-7f4fa94e62da', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '6d93b4a1-b7c2-40a4-95e6-a1368491e530', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/6d93b4a1-b7c2-40a4-95e6-a1368491e530', 'rel': 'self'}, {'href': 'http://localhost/action_plans/6d93b4a1-b7c2-40a4-95e6-a1368491e530', 'rel': 'bookmark'}], 'updated_at': None}]}watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_detail_soft_deleted watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_detail_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_soft_deleted watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_audit_uuid watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_audit_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_soft_deleted_audit_uuid watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_soft_deleted_audit_uuid ... ok PATCH: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot modify an action directly\", \"debuginfo\": null}"} DELETE: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action_plan:delete to be performed.\", \"debuginfo\": null}"} GET: /v1/action_plans/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action_plan:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/action_plans {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action_plan:get_all to be performed.\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action_plan:get to be performed.\", \"debuginfo\": null}"} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow action_plan:update to be performed.\", \"debuginfo\": null}"} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '34d355d4-74a5-4f20-bada-e41044d2472d', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/34d355d4-74a5-4f20-bada-e41044d2472d', 'rel': 'self'}, {'href': 'http://localhost/action_plans/34d355d4-74a5-4f20-bada-e41044d2472d', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '6118b6e0-3d3c-4538-a97e-6b8f55b58a15', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/6118b6e0-3d3c-4538-a97e-6b8f55b58a15', 'rel': 'self'}, {'href': 'http://localhost/action_plans/6118b6e0-3d3c-4538-a97e-6b8f55b58a15', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '534f1610-e095-4c84-baba-728287c8f601', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/534f1610-e095-4c84-baba-728287c8f601', 'rel': 'self'}, {'href': 'http://localhost/action_plans/534f1610-e095-4c84-baba-728287c8f601', 'rel': 'bookmark'}], 'updated_at': None}], 'next': 'http://localhost/v1/action_plans?sort_key=id&sort_dir=asc&limit=3&marker=534f1610-e095-4c84-baba-728287c8f601'} GET: /v1/action_plans/detail {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:16:56.075800+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/action_plan/76be87bd-3422-43f9-93a0-e85a577e3061/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/action_plans/detail {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:16:59.253059+00:00', 'deleted_at': '2021-02-17T17:17:00.021837+00:00', 'updated_at': '2021-02-17T17:17:00.048467+00:00'}]} GET: /v1/action_plans/detail {} GOT:{'action_plans': []} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:02.073561+00:00', 'deleted_at': '2021-02-17T17:17:02.828285+00:00', 'updated_at': '2021-02-17T17:17:02.855201+00:00'} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ActionPlan 76be87bd-3422-43f9-93a0-e85a577e3061 could not be found\", \"debuginfo\": null}"} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '0eb2ec73-0c75-4de0-a314-721c0417d3ec', 'audit_uuid': '10cd1205-46ca-4062-bdcb-93a032aae3e5', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/0eb2ec73-0c75-4de0-a314-721c0417d3ec', 'rel': 'self'}, {'href': 'http://localhost/action_plans/0eb2ec73-0c75-4de0-a314-721c0417d3ec', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '189a4ba2-e325-4a9a-961e-57ab5c34447b', 'audit_uuid': '10cd1205-46ca-4062-bdcb-93a032aae3e5', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/189a4ba2-e325-4a9a-961e-57ab5c34447b', 'rel': 'self'}, {'href': 'http://localhost/action_plans/189a4ba2-e325-4a9a-961e-57ab5c34447b', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'dfdf2b5b-68a7-49cd-b4b7-53353443f701', 'audit_uuid': '10cd1205-46ca-4062-bdcb-93a032aae3e5', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/dfdf2b5b-68a7-49cd-b4b7-53353443f701', 'rel': 'self'}, {'href': 'http://localhost/action_plans/dfdf2b5b-68a7-49cd-b4b7-53353443f701', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans?audit_uuid=1358fa71-e037-49d4-bd11-0b30c0e550e6 {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'f503d071-3399-456c-818b-faaf7ab7955a', 'audit_uuid': '1358fa71-e037-49d4-bd11-0b30c0e550e6', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/f503d071-3399-456c-818b-faaf7ab7955a', 'rel': 'self'}, {'href': 'http://localhost/action_plans/f503d071-3399-456c-818b-faaf7ab7955a', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'e21c1404-ae8e-470b-8bd8-ad061095366d', 'audit_uuid': '1358fa71-e037-49d4-bd11-0b30c0e550e6', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/e21c1404-ae8e-470b-8bd8-ad061095366d', 'rel': 'self'}, {'href': 'http://localhost/action_plans/e21c1404-ae8e-470b-8bd8-ad061095366d', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '72ec4fdf-d524-442d-9649-94f98ea2ac3a', 'audit_uuid': '1358fa71-e037-49d4-bd11-0b30c0e550e6', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/72ec4fdf-d524-442d-9649-94f98ea2ac3a', 'rel': 'self'}, {'href': 'http://localhost/action_plans/72ec4fdf-d524-442d-9649-94f98ea2ac3a', 'rel': 'bookmark'}], 'updated_at': None}]}watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_audit_uuid_filter watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_audit_uuid_filter ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_sort_key_audit_uuid watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_sort_key_audit_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_one watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_one ... ok watcher.tests.api.v1.test_actions_plans.TestDelete.test_delete_action_plan_without_action watcher.tests.api.v1.test_actions_plans.TestDelete.test_delete_action_plan_without_action ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_one_soft_deleted watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_one_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_actions_plans.TestDelete.test_delete_action_plan_not_found watcher.tests.api.v1.test_actions_plans.TestDelete.test_delete_action_plan_not_found ... ok GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '2fe08763-afa3-427f-a42c-6e7c163b5b6d', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/2fe08763-afa3-427f-a42c-6e7c163b5b6d', 'rel': 'self'}, {'href': 'http://localhost/action_plans/2fe08763-afa3-427f-a42c-6e7c163b5b6d', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '82028131-8d47-473c-97a1-b0c08c772886', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/82028131-8d47-473c-97a1-b0c08c772886', 'rel': 'self'}, {'href': 'http://localhost/action_plans/82028131-8d47-473c-97a1-b0c08c772886', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '12a0b151-43f3-4006-b19a-0ee5f2be0a23', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/12a0b151-43f3-4006-b19a-0ee5f2be0a23', 'rel': 'self'}, {'href': 'http://localhost/action_plans/12a0b151-43f3-4006-b19a-0ee5f2be0a23', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '1248e863-2b4e-4113-90f6-5a4a9c448b39', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/1248e863-2b4e-4113-90f6-5a4a9c448b39', 'rel': 'self'}, {'href': 'http://localhost/action_plans/1248e863-2b4e-4113-90f6-5a4a9c448b39', 'rel': 'bookmark'}], 'updated_at': '2021-02-17T17:17:01.963128+00:00'}, {'efficacy_indicators': [], 'uuid': '23b8596f-f109-4e5b-b0ae-7172cb55ee55', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/23b8596f-f109-4e5b-b0ae-7172cb55ee55', 'rel': 'self'}, {'href': 'http://localhost/action_plans/23b8596f-f109-4e5b-b0ae-7172cb55ee55', 'rel': 'bookmark'}], 'updated_at': '2021-02-17T17:17:02.863568+00:00'}]} PATCH: /v1/audits/8b126480-c504-4869-8630-7bc4b72a6236 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "8b126480-c504-4869-8630-7bc4b72a6236", "name": "My Audit 2", "audit_type": "ONESHOT", "state": "CANCELLED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/8b126480-c504-4869-8630-7bc4b72a6236", "rel": "self"}, {"href": "http://localhost/audits/8b126480-c504-4869-8630-7bc4b72a6236", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:17:05.758095+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:17:07.948994+00:00"} DELETE: /v1/audits/8b126480-c504-4869-8630-7bc4b72a6236 GOT:Response: 204 No Content GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'd01222e2-3d23-4369-abfc-a457bd72538f', 'audit_uuid': None, 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/d01222e2-3d23-4369-abfc-a457bd72538f', 'rel': 'self'}, {'href': 'http://localhost/action_plans/d01222e2-3d23-4369-abfc-a457bd72538f', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '1a70faa7-25d6-4e21-9b24-16e5464e2eac', 'audit_uuid': None, 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/1a70faa7-25d6-4e21-9b24-16e5464e2eac', 'rel': 'self'}, {'href': 'http://localhost/action_plans/1a70faa7-25d6-4e21-9b24-16e5464e2eac', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '42f55ab3-f48e-445e-89fc-80f74c489ebe', 'audit_uuid': '4bbdc19b-e09c-46d1-9a30-ef6815d014bc', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/42f55ab3-f48e-445e-89fc-80f74c489ebe', 'rel': 'self'}, {'href': 'http://localhost/action_plans/42f55ab3-f48e-445e-89fc-80f74c489ebe', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'd3bcec06-fda2-4b62-8b01-bf869b330e02', 'audit_uuid': '4bbdc19b-e09c-46d1-9a30-ef6815d014bc', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/d3bcec06-fda2-4b62-8b01-bf869b330e02', 'rel': 'self'}, {'href': 'http://localhost/action_plans/d3bcec06-fda2-4b62-8b01-bf869b330e02', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '2f4e90ce-22e0-4746-a4fe-03abb0b7cfd2', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/2f4e90ce-22e0-4746-a4fe-03abb0b7cfd2', 'rel': 'self'}, {'href': 'http://localhost/action_plans/2f4e90ce-22e0-4746-a4fe-03abb0b7cfd2', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '7459ad6b-3661-4928-80d9-97ab0b679c3b', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/7459ad6b-3661-4928-80d9-97ab0b679c3b', 'rel': 'self'}, {'href': 'http://localhost/action_plans/7459ad6b-3661-4928-80d9-97ab0b679c3b', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'ab27f262-8d64-4280-b4b2-d99e0bf8d5b4', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/ab27f262-8d64-4280-b4b2-d99e0bf8d5b4', 'rel': 'self'}, {'href': 'http://localhost/action_plans/ab27f262-8d64-4280-b4b2-d99e0bf8d5b4', 'rel': 'bookmark'}], 'updated_at': None}]} DELETE: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't delete when state is 'ONGOING'.\", \"debuginfo\": null}"} DELETE: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 GOT:Response: 204 No Content GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ActionPlan 76be87bd-3422-43f9-93a0-e85a577e3061 could not be found\", \"debuginfo\": null}"} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '9b446cbd-aac5-4390-8937-100aac02d70b', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/9b446cbd-aac5-4390-8937-100aac02d70b', 'rel': 'self'}, {'href': 'http://localhost/action_plans/9b446cbd-aac5-4390-8937-100aac02d70b', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '0f5933c5-0314-4e8e-98d8-0dcdce687ef6', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/0f5933c5-0314-4e8e-98d8-0dcdce687ef6', 'rel': 'self'}, {'href': 'http://localhost/action_plans/0f5933c5-0314-4e8e-98d8-0dcdce687ef6', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'e1dfa32f-cb58-4f07-b88a-25cb0dad5912', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/e1dfa32f-cb58-4f07-b88a-25cb0dad5912', 'rel': 'self'}, {'href': 'http://localhost/action_plans/e1dfa32f-cb58-4f07-b88a-25cb0dad5912', 'rel': 'bookmark'}], 'updated_at': None}], 'next': 'http://localhost/v1/action_plans?sort_key=id&sort_dir=asc&limit=3&marker=e1dfa32f-cb58-4f07-b88a-25cb0dad5912'}watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_collection_links_default_limit watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_detail_soft_deleted watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_detail_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestDelete.test_delete_action_plan_with_action watcher.tests.api.v1.test_actions_plans.TestDelete.test_delete_action_plan_with_action ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_get_one_soft_deleted watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_links watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_links ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_collection_links watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_collection_links ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_sort_key_validation watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_sort_key_validation ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_detail watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_detail ... ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_add_non_existent_property_denied watcher.tests.api.v1.test_actions_plans.TestPatch.test_add_non_existent_property_denied ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_detail_against_single watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_detail_against_single ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_empty watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_empty ... ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_remove_denied watcher.tests.api.v1.test_actions_plans.TestPatch.test_remove_denied ... ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_remove_uuid_denied watcher.tests.api.v1.test_actions_plans.TestPatch.test_remove_uuid_denied ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_get_one_ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_get_one_ok ... ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_replace_denied watcher.tests.api.v1.test_actions_plans.TestPatch.test_replace_denied ... ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_replace_state_pending_ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_replace_state_pending_ok ... ok GET: /v1/action_plans/?sort_key=audit_uuid {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'abb33dd2-393f-451f-bd6f-08890140674f', 'audit_uuid': '2f52360d-39f7-4c09-bfd9-1193952248ff', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/abb33dd2-393f-451f-bd6f-08890140674f', 'rel': 'self'}, {'href': 'http://localhost/action_plans/abb33dd2-393f-451f-bd6f-08890140674f', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'b64d53a2-e624-4cf6-9c3d-857e0d81c969', 'audit_uuid': '640f4b78-91b2-46fd-a40f-5587975fc113', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/b64d53a2-e624-4cf6-9c3d-857e0d81c969', 'rel': 'self'}, {'href': 'http://localhost/action_plans/b64d53a2-e624-4cf6-9c3d-857e0d81c969', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '123a557d-6ae2-4d3f-b81d-f45eb16fec8d', 'audit_uuid': '9de6bc77-5729-44c9-a058-97998eff349e', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/123a557d-6ae2-4d3f-b81d-f45eb16fec8d', 'rel': 'self'}, {'href': 'http://localhost/action_plans/123a557d-6ae2-4d3f-b81d-f45eb16fec8d', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'updated_at': '2021-02-17T17:17:19.016450+00:00'}]} GET: /v1/action_plans {} GOT:{'action_plans': []} GET: /v1/action_plans?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} DELETE: /v1/action_plans/f5cd203d-a7a9-4d9e-90f6-9d8e66bacaa8 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ActionPlan f5cd203d-a7a9-4d9e-90f6-9d8e66bacaa8 could not be found\", \"debuginfo\": null}"} DELETE: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 GOT:Response: 204 No Content GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ActionPlan 76be87bd-3422-43f9-93a0-e85a577e3061 could not be found\", \"debuginfo\": null}"} GET: /v1/actions/?action_plan_uuid=76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'actions': []} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Action 10a47dd1-4874-4298-91cf-eff046dbdb8d could not be found\", \"debuginfo\": null}"} GET: /v1/action_plans/?limit=3 {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'a45fba20-35a6-4cf8-a2f1-a5604f41d1a7', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/a45fba20-35a6-4cf8-a2f1-a5604f41d1a7', 'rel': 'self'}, {'href': 'http://localhost/action_plans/a45fba20-35a6-4cf8-a2f1-a5604f41d1a7', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '4ff1c692-abe7-4340-acac-471e447617cc', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/4ff1c692-abe7-4340-acac-471e447617cc', 'rel': 'self'}, {'href': 'http://localhost/action_plans/4ff1c692-abe7-4340-acac-471e447617cc', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '5138861c-64ce-4db3-a765-8e4cc9fb32f0', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/5138861c-64ce-4db3-a765-8e4cc9fb32f0', 'rel': 'self'}, {'href': 'http://localhost/action_plans/5138861c-64ce-4db3-a765-8e4cc9fb32f0', 'rel': 'bookmark'}], 'updated_at': None}], 'next': 'http://localhost/v1/action_plans?sort_key=id&sort_dir=asc&limit=3&marker=5138861c-64ce-4db3-a765-8e4cc9fb32f0'} GET: /v1/action_plans/detail {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:31.556299+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/action_plan/76be87bd-3422-43f9-93a0-e85a577e3061/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/action_plans {} GOT:{'action_plans': []} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [{'name': 'test_indicator', 'description': 'Test indicator', 'unit': '%', 'value': 0.0}], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:36.272275+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'bb38631c-4d99-4628-ab93-f256046ce8ac', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/bb38631c-4d99-4628-ab93-f256046ce8ac', 'rel': 'self'}, {'href': 'http://localhost/action_plans/bb38631c-4d99-4628-ab93-f256046ce8ac', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '877e2cea-ec60-4fc3-8ff1-e3b3cf12ce82', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/877e2cea-ec60-4fc3-8ff1-e3b3cf12ce82', 'rel': 'self'}, {'href': 'http://localhost/action_plans/877e2cea-ec60-4fc3-8ff1-e3b3cf12ce82', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'cc22c978-abd9-45e0-860b-50ced78bb40b', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/cc22c978-abd9-45e0-860b-50ced78bb40b', 'rel': 'self'}, {'href': 'http://localhost/action_plans/cc22c978-abd9-45e0-860b-50ced78bb40b', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '793694a1-7d98-4b9d-a541-5e3480fecbf7', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/793694a1-7d98-4b9d-a541-5e3480fecbf7', 'rel': 'self'}, {'href': 'http://localhost/action_plans/793694a1-7d98-4b9d-a541-5e3480fecbf7', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'e8303dbb-61bc-4fd3-9a6b-3eeede40797d', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/e8303dbb-61bc-4fd3-9a6b-3eeede40797d', 'rel': 'self'}, {'href': 'http://localhost/action_plans/e8303dbb-61bc-4fd3-9a6b-3eeede40797d', 'rel': 'bookmark'}], 'updated_at': None}]}watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_audit_uuid watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_audit_uuid ... ok GET: /v1/action_plans/detail {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:23.125894+00:00', 'deleted_at': '2021-02-17T17:17:23.980801+00:00', 'updated_at': '2021-02-17T17:17:23.997677+00:00'}]} GET: /v1/action_plans/detail {} GOT:{'action_plans': []} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:25.879156+00:00', 'deleted_at': '2021-02-17T17:17:26.617890+00:00', 'updated_at': '2021-02-17T17:17:26.641635+00:00'} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ActionPlan 76be87bd-3422-43f9-93a0-e85a577e3061 could not be found\", \"debuginfo\": null}"} GET: /v1/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698 {} GOT:{'efficacy_indicators': [], 'uuid': '4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'rel': 'self'}, {'href': 'http://localhost/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:28.583799+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698 {} GOT:{'efficacy_indicators': [], 'uuid': '4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'rel': 'self'}, {'href': 'http://localhost/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:28.583799+00:00', 'deleted_at': None, 'updated_at': None} GET: /action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698 {} GOT:{'efficacy_indicators': [], 'uuid': '4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'rel': 'self'}, {'href': 'http://localhost/action_plans/4a2603b4-f5ac-47bd-8b80-06c92bd21698', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:28.583799+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:34.370513+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'remove'}]'. Reason: State transition not allowed: (RECOMMENDED -> Unset)\", \"debuginfo\": null}"} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:38.142445+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (RECOMMENDED -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:40.579153+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"efficacy_indicators": [], "uuid": "76be87bd-3422-43f9-93a0-e85a577e3061", "audit_uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "strategy_uuid": "cb3d0b58-4415-4d90-b75b-1e96878730e3", "strategy_name": "TEST", "global_efficacy": [], "state": "PENDING", "links": [{"href": "http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "self"}, {"href": "http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "bookmark"}], "hostname": "host_1", "created_at": "2021-02-17T17:17:40.579153+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:17:42.040895+00:00"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:43.616092+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> ONGOING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> ONGOING) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> FAILED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> FAILED) ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_audit_uuid_filter watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_audit_uuid_filter ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> SUCCEEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> SUCCEEDED) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> DELETED) ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_soft_deleted watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> SUPERSEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> SUPERSEDED) ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (RECOMMENDED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:43.616092+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:46.798510+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (RECOMMENDED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:46.798510+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:49.646812+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (RECOMMENDED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:49.646812+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:52.602319+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (RECOMMENDED -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:52.602319+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:55.543967+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUPERSEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUPERSEDED'}]'. Reason: State transition not allowed: (RECOMMENDED -> SUPERSEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:55.543967+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:58.519267+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> CANCELLING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(RECOMMENDED -> CANCELLING) ... ok GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '2f8e708f-3fa4-41e3-9487-cc4638265e34', 'audit_uuid': 'c424e94b-c545-4fad-9765-fa67f3542f74', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/2f8e708f-3fa4-41e3-9487-cc4638265e34', 'rel': 'self'}, {'href': 'http://localhost/action_plans/2f8e708f-3fa4-41e3-9487-cc4638265e34', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'c536140c-ab23-4a2c-bd58-fa157e4a1c2d', 'audit_uuid': 'c424e94b-c545-4fad-9765-fa67f3542f74', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/c536140c-ab23-4a2c-bd58-fa157e4a1c2d', 'rel': 'self'}, {'href': 'http://localhost/action_plans/c536140c-ab23-4a2c-bd58-fa157e4a1c2d', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'd2e28ac8-a783-4f2f-a493-a8aa7c784fab', 'audit_uuid': 'c424e94b-c545-4fad-9765-fa67f3542f74', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/d2e28ac8-a783-4f2f-a493-a8aa7c784fab', 'rel': 'self'}, {'href': 'http://localhost/action_plans/d2e28ac8-a783-4f2f-a493-a8aa7c784fab', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans?audit_uuid=c40f4782-136f-4a34-88a6-8d614f8ff23e {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '96e1545c-e5c3-45ce-84fc-699c119e42c0', 'audit_uuid': 'c40f4782-136f-4a34-88a6-8d614f8ff23e', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/96e1545c-e5c3-45ce-84fc-699c119e42c0', 'rel': 'self'}, {'href': 'http://localhost/action_plans/96e1545c-e5c3-45ce-84fc-699c119e42c0', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '54a0fd38-475a-4c18-a8d2-bd2c1821327e', 'audit_uuid': 'c40f4782-136f-4a34-88a6-8d614f8ff23e', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/54a0fd38-475a-4c18-a8d2-bd2c1821327e', 'rel': 'self'}, {'href': 'http://localhost/action_plans/54a0fd38-475a-4c18-a8d2-bd2c1821327e', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'c37c62d1-bf6b-4e1b-a0bc-905975dd8e09', 'audit_uuid': 'c40f4782-136f-4a34-88a6-8d614f8ff23e', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/c37c62d1-bf6b-4e1b-a0bc-905975dd8e09', 'rel': 'self'}, {'href': 'http://localhost/action_plans/c37c62d1-bf6b-4e1b-a0bc-905975dd8e09', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '3fd1c6b2-e6ce-497c-88fd-be7b9a2365d3', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/3fd1c6b2-e6ce-497c-88fd-be7b9a2365d3', 'rel': 'self'}, {'href': 'http://localhost/action_plans/3fd1c6b2-e6ce-497c-88fd-be7b9a2365d3', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '7782b4b4-5bc3-40bf-a8c4-346ff7070018', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/7782b4b4-5bc3-40bf-a8c4-346ff7070018', 'rel': 'self'}, {'href': 'http://localhost/action_plans/7782b4b4-5bc3-40bf-a8c4-346ff7070018', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '8e9ee66e-a58c-4f74-bdab-b73e15682a03', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/8e9ee66e-a58c-4f74-bdab-b73e15682a03', 'rel': 'self'}, {'href': 'http://localhost/action_plans/8e9ee66e-a58c-4f74-bdab-b73e15682a03', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'c6ade0a4-cc12-480d-b5b8-e76c79649bc8', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/c6ade0a4-cc12-480d-b5b8-e76c79649bc8', 'rel': 'self'}, {'href': 'http://localhost/action_plans/c6ade0a4-cc12-480d-b5b8-e76c79649bc8', 'rel': 'bookmark'}], 'updated_at': '2021-02-17T17:17:52.087743+00:00'}, {'efficacy_indicators': [], 'uuid': '44c58635-6204-47b2-89d6-c0554c20d9e7', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/44c58635-6204-47b2-89d6-c0554c20d9e7', 'rel': 'self'}, {'href': 'http://localhost/action_plans/44c58635-6204-47b2-89d6-c0554c20d9e7', 'rel': 'bookmark'}], 'updated_at': '2021-02-17T17:17:52.991103+00:00'}]} PATCH: /v1/audits/3ad015e8-dbda-4cca-8b09-769bd76db466 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "3ad015e8-dbda-4cca-8b09-769bd76db466", "name": "My Audit 2", "audit_type": "ONESHOT", "state": "CANCELLED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/3ad015e8-dbda-4cca-8b09-769bd76db466", "rel": "self"}, {"href": "http://localhost/audits/3ad015e8-dbda-4cca-8b09-769bd76db466", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:17:55.933856+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:17:58.107120+00:00"} DELETE: /v1/audits/3ad015e8-dbda-4cca-8b09-769bd76db466 GOT:Response: 204 No Content GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': 'dad7a06b-a8cd-4ee9-b35b-a15b460b6531', 'audit_uuid': None, 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/dad7a06b-a8cd-4ee9-b35b-a15b460b6531', 'rel': 'self'}, {'href': 'http://localhost/action_plans/dad7a06b-a8cd-4ee9-b35b-a15b460b6531', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'cfb73363-7e0d-4687-8be5-8c641034a97f', 'audit_uuid': None, 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/cfb73363-7e0d-4687-8be5-8c641034a97f', 'rel': 'self'}, {'href': 'http://localhost/action_plans/cfb73363-7e0d-4687-8be5-8c641034a97f', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '756b791a-a01c-4f84-9028-590a0d09c444', 'audit_uuid': '4de2e03b-fcb0-4e82-ac33-16876a2bfc5c', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/756b791a-a01c-4f84-9028-590a0d09c444', 'rel': 'self'}, {'href': 'http://localhost/action_plans/756b791a-a01c-4f84-9028-590a0d09c444', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'a8eaebe3-68ec-4d75-9f72-be1fbb97a19c', 'audit_uuid': '4de2e03b-fcb0-4e82-ac33-16876a2bfc5c', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/a8eaebe3-68ec-4d75-9f72-be1fbb97a19c', 'rel': 'self'}, {'href': 'http://localhost/action_plans/a8eaebe3-68ec-4d75-9f72-be1fbb97a19c', 'rel': 'bookmark'}], 'updated_at': None}]}watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_soft_deleted_audit_uuid watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_soft_deleted_audit_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> RECOMMENDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> RECOMMENDED) ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/sqlalchemy/sql/sqltypes.py:639: SAWarning: Dialect sqlite+pysqlite does *not* support Decimal objects natively, and SQLAlchemy must convert from floating point - rounding errors and other issues may occur. Please consider storing Decimal numbers as strings or integers on this platform for lossless storage. "storage." % (dialect.name, dialect.driver) /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_sort_key_audit_uuid watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_sort_key_audit_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> ONGOING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> ONGOING) ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_without_soft_deleted watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> FAILED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> FAILED) ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_one watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_one ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> SUCCEEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> SUCCEEDED) ... ok watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_one_soft_deleted watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_one_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_remove_non_existent_property_denied watcher.tests.api.v1.test_actions_plans.TestPatch.test_remove_non_existent_property_denied ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLING'}]'. Reason: State transition not allowed: (RECOMMENDED -> CANCELLING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:17:58.519267+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:01.754145+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'RECOMMENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'RECOMMENDED'}]'. Reason: State transition not allowed: (PENDING -> RECOMMENDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:01.754145+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:04.768364+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (PENDING -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:04.768364+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:07.825901+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (PENDING -> FAILED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:07.825901+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:10.888712+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (PENDING -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:10.888712+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:13.893658+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> DELETED) ... ok watcher.tests.api.v1.test_actions_plans.TestPatch.test_replace_non_existent_action_plan_denied watcher.tests.api.v1.test_actions_plans.TestPatch.test_replace_non_existent_action_plan_denied ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> SUPERSEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> SUPERSEDED) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(RECOMMENDED -> PENDING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(RECOMMENDED -> PENDING) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> CANCELLING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(PENDING -> CANCELLING) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> RECOMMENDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> RECOMMENDED) ... ok GET: /v1/action_plans/?sort_key=audit_uuid {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '53cc3a2e-56cb-47dd-8157-8025e3622fd6', 'audit_uuid': '7e08a074-0239-4d82-a3ab-18ce2ef3bb7b', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/53cc3a2e-56cb-47dd-8157-8025e3622fd6', 'rel': 'self'}, {'href': 'http://localhost/action_plans/53cc3a2e-56cb-47dd-8157-8025e3622fd6', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '084e04ae-f752-4f3f-ac0a-67db51f17912', 'audit_uuid': 'b3403442-c48f-4e32-a465-d1c8ce63ac7b', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/084e04ae-f752-4f3f-ac0a-67db51f17912', 'rel': 'self'}, {'href': 'http://localhost/action_plans/084e04ae-f752-4f3f-ac0a-67db51f17912', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': '29ddd387-3a4f-4851-8d4f-0e2d3e1a7a89', 'audit_uuid': 'c7be8ed2-7e3a-4b6c-9f56-2893e14bf9fd', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/29ddd387-3a4f-4851-8d4f-0e2d3e1a7a89', 'rel': 'self'}, {'href': 'http://localhost/action_plans/29ddd387-3a4f-4851-8d4f-0e2d3e1a7a89', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '9e2b44b2-d23e-486f-958f-ab3cb462fb09', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/9e2b44b2-d23e-486f-958f-ab3cb462fb09', 'rel': 'self'}, {'href': 'http://localhost/action_plans/9e2b44b2-d23e-486f-958f-ab3cb462fb09', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'ba937cd8-a57c-4a18-9525-1474c50b2ab5', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/ba937cd8-a57c-4a18-9525-1474c50b2ab5', 'rel': 'self'}, {'href': 'http://localhost/action_plans/ba937cd8-a57c-4a18-9525-1474c50b2ab5', 'rel': 'bookmark'}], 'updated_at': None}, {'efficacy_indicators': [], 'uuid': 'fad7dc30-6155-4a69-9186-445a751de818', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/fad7dc30-6155-4a69-9186-445a751de818', 'rel': 'self'}, {'href': 'http://localhost/action_plans/fad7dc30-6155-4a69-9186-445a751de818', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'updated_at': None}]} GET: /v1/action_plans {} GOT:{'action_plans': [{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'DELETED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'updated_at': '2021-02-17T17:18:13.107950+00:00'}]} GET: /v1/action_plans {} GOT:{'action_plans': []} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/action_plans/96ba33b7-dae2-40a2-8ab4-429d2c1b1f1a [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ActionPlan 96ba33b7-dae2-40a2-8ab4-429d2c1b1f1a could not be found\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:18.792021+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"efficacy_indicators": [], "uuid": "76be87bd-3422-43f9-93a0-e85a577e3061", "audit_uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "strategy_uuid": "cb3d0b58-4415-4d90-b75b-1e96878730e3", "strategy_name": "TEST", "global_efficacy": [], "state": "PENDING", "links": [{"href": "http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "self"}, {"href": "http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "bookmark"}], "hostname": "host_1", "created_at": "2021-02-17T17:18:18.792021+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:18:20.284371+00:00"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:18.792021+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:18:20.284371+00:00'} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'RECOMMENDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:22.541151+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"efficacy_indicators": [], "uuid": "76be87bd-3422-43f9-93a0-e85a577e3061", "audit_uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "strategy_uuid": "cb3d0b58-4415-4d90-b75b-1e96878730e3", "strategy_name": "TEST", "global_efficacy": [], "state": "CANCELLED", "links": [{"href": "http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "self"}, {"href": "http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "bookmark"}], "hostname": "host_1", "created_at": "2021-02-17T17:18:22.541151+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:18:24.043210+00:00"}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(RECOMMENDED -> CANCELLED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(RECOMMENDED -> CANCELLED) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> PENDING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> PENDING) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(ONGOING -> CANCELLING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(ONGOING -> CANCELLING) ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (PENDING -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:13.893658+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:16.994448+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUPERSEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUPERSEDED'}]'. Reason: State transition not allowed: (PENDING -> SUPERSEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:16.994448+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:19.970347+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLING'}]'. Reason: State transition not allowed: (PENDING -> CANCELLING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:19.970347+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:23.004114+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'RECOMMENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'RECOMMENDED'}]'. Reason: State transition not allowed: (ONGOING -> RECOMMENDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:23.004114+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:26.033491+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (ONGOING -> PENDING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:26.033491+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:29.058503+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> FAILED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> FAILED) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(PENDING -> CANCELLED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionOk.test_replace_state_pending_ok(PENDING -> CANCELLED) ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_delete watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_delete ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> SUCCEEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_update watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_update ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> DELETED) ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_collection_links watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_collection_links ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> CANCELLED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> CANCELLED) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> SUPERSEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(ONGOING -> SUPERSEDED) ... ok GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:22.541151+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:18:24.043210+00:00'} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:26.218317+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLING', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"efficacy_indicators": [], "uuid": "76be87bd-3422-43f9-93a0-e85a577e3061", "audit_uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "strategy_uuid": "cb3d0b58-4415-4d90-b75b-1e96878730e3", "strategy_name": "TEST", "global_efficacy": [], "state": "CANCELLING", "links": [{"href": "http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "self"}, {"href": "http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "bookmark"}], "hostname": "host_1", "created_at": "2021-02-17T17:18:26.218317+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:18:27.625321+00:00"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:26.218317+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:18:27.625321+00:00'} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'PENDING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:29.651216+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"efficacy_indicators": [], "uuid": "76be87bd-3422-43f9-93a0-e85a577e3061", "audit_uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "strategy_uuid": "cb3d0b58-4415-4d90-b75b-1e96878730e3", "strategy_name": "TEST", "global_efficacy": [], "state": "CANCELLED", "links": [{"href": "http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "self"}, {"href": "http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061", "rel": "bookmark"}], "hostname": "host_1", "created_at": "2021-02-17T17:18:29.651216+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:18:31.188604+00:00"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:29.651216+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:18:31.188604+00:00'} DELETE: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit_template:delete to be performed.\", \"debuginfo\": null}"} GET: /v1/audit_templates {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit_template:get_all to be performed.\", \"debuginfo\": null}"} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit_template:get to be performed.\", \"debuginfo\": null}"} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit_template:update to be performed.\", \"debuginfo\": null}"} GET: /v1/audit_templates/?limit=3 {} GOT:{'audit_templates': [{'uuid': 'f1be0db5-e7ca-49ae-9503-35da7a248ae0', 'name': 'My Audit Template 0', 'goal_uuid': '48e1b186-0feb-4108-8ac8-06e17eccb135', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/f1be0db5-e7ca-49ae-9503-35da7a248ae0', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/f1be0db5-e7ca-49ae-9503-35da7a248ae0', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '358c01ff-64c8-4e4a-8a0c-83e7febbc594', 'name': 'My Audit Template 1', 'goal_uuid': '48e1b186-0feb-4108-8ac8-06e17eccb135', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/358c01ff-64c8-4e4a-8a0c-83e7febbc594', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/358c01ff-64c8-4e4a-8a0c-83e7febbc594', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'ded9b4a0-c290-4e8c-a941-75d1f5053f85', 'name': 'My Audit Template 2', 'goal_uuid': '48e1b186-0feb-4108-8ac8-06e17eccb135', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/ded9b4a0-c290-4e8c-a941-75d1f5053f85', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/ded9b4a0-c290-4e8c-a941-75d1f5053f85', 'rel': 'bookmark'}], 'scope': []}], 'next': 'http://localhost/v1/audit_templates?sort_key=id&sort_dir=asc&limit=3&marker=ded9b4a0-c290-4e8c-a941-75d1f5053f85'} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': '7ed7ef63-f221-4fcb-bab0-464a2a1e4839', 'name': 'My Audit Template 0', 'goal_uuid': 'd68fe5f6-54cb-4039-a0b4-575614daada1', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/7ed7ef63-f221-4fcb-bab0-464a2a1e4839', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/7ed7ef63-f221-4fcb-bab0-464a2a1e4839', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '896a13f6-ed15-4fde-9c8c-9787a5caa49b', 'name': 'My Audit Template 1', 'goal_uuid': 'd68fe5f6-54cb-4039-a0b4-575614daada1', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/896a13f6-ed15-4fde-9c8c-9787a5caa49b', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/896a13f6-ed15-4fde-9c8c-9787a5caa49b', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'faf101d9-f8d3-4000-b228-275d3d535693', 'name': 'My Audit Template 2', 'goal_uuid': 'd68fe5f6-54cb-4039-a0b4-575614daada1', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/faf101d9-f8d3-4000-b228-275d3d535693', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/faf101d9-f8d3-4000-b228-275d3d535693', 'rel': 'bookmark'}], 'scope': []}], 'next': 'http://localhost/v1/audit_templates?sort_key=id&sort_dir=asc&limit=3&marker=faf101d9-f8d3-4000-b228-275d3d535693'}watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_collection_links_default_limit watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_detail_against_single ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_goal_uuid watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_goal_uuid ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_by_uuid watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_by_uuid ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (ONGOING -> FAILED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:29.058503+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:32.123442+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (ONGOING -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:32.123442+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:35.356351+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (ONGOING -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:35.356351+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:38.362821+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (ONGOING -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:38.362821+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:41.373426+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUPERSEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUPERSEDED'}]'. Reason: State transition not allowed: (ONGOING -> SUPERSEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'ONGOING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:41.373426+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:44.317374+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> RECOMMENDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> RECOMMENDED) ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_soft_deleted_ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_soft_deleted_ok ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> PENDING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> PENDING) ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> ONGOING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> ONGOING) ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_with_soft_deleted watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_with_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> SUCCEEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> SUCCEEDED) ... ok GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/audit_templates?goal=700a280f-a26b-4bec-9109-5ccff0d4f8a3 {} GOT:{'audit_templates': [{'uuid': '51d0b4a4-0dfd-4e53-8b20-a1c2d8b820bc', 'name': 'My Audit Template 4', 'goal_uuid': '700a280f-a26b-4bec-9109-5ccff0d4f8a3', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/51d0b4a4-0dfd-4e53-8b20-a1c2d8b820bc', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/51d0b4a4-0dfd-4e53-8b20-a1c2d8b820bc', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'e59fca08-510a-4f84-a542-af5d3abeb844', 'name': 'My Audit Template 5', 'goal_uuid': '700a280f-a26b-4bec-9109-5ccff0d4f8a3', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e59fca08-510a-4f84-a542-af5d3abeb844', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e59fca08-510a-4f84-a542-af5d3abeb844', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'fc7460ee-3926-4ed6-b889-358725052bde', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:18:46.356970+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'goal_uuid': 'ed7f0ba1-1c8d-4069-94cc-2eaff4c07e33', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates {} GOT:{'audit_templates': []} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'faeab921-e714-4187-8f91-affa8e1c1afe', 'name': 'My Audit Template 1', 'goal_uuid': 'a477199a-1258-4edd-83b7-63e38d67141a', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/faeab921-e714-4187-8f91-affa8e1c1afe', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/faeab921-e714-4187-8f91-affa8e1c1afe', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '6d314107-cce3-4519-a615-e46174ec6068', 'name': 'My Audit Template 2', 'goal_uuid': 'a477199a-1258-4edd-83b7-63e38d67141a', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/6d314107-cce3-4519-a615-e46174ec6068', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/6d314107-cce3-4519-a615-e46174ec6068', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'b3814dcf-eb19-4c3f-970e-3f4c1a4c91be', 'name': 'My Audit Template 3', 'goal_uuid': 'a477199a-1258-4edd-83b7-63e38d67141a', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/b3814dcf-eb19-4c3f-970e-3f4c1a4c91be', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/b3814dcf-eb19-4c3f-970e-3f4c1a4c91be', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '77e9a243-84f1-4fe5-9143-90f043710dee', 'name': 'My Audit Template 4', 'goal_uuid': 'a477199a-1258-4edd-83b7-63e38d67141a', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/77e9a243-84f1-4fe5-9143-90f043710dee', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/77e9a243-84f1-4fe5-9143-90f043710dee', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '99ef21c8-0e1a-4a59-8a37-d928953e52af', 'name': 'My Audit Template 5', 'goal_uuid': 'a477199a-1258-4edd-83b7-63e38d67141a', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/99ef21c8-0e1a-4a59-8a37-d928953e52af', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/99ef21c8-0e1a-4a59-8a37-d928953e52af', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'de652cd7-a42b-4141-8b6c-0c4dcc025fb6', 'name': 'My Audit Template 1', 'goal_uuid': 'ac197c50-dc7d-4127-a9ec-39b8c0d1bee2', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/de652cd7-a42b-4141-8b6c-0c4dcc025fb6', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/de652cd7-a42b-4141-8b6c-0c4dcc025fb6', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'e9aba1fb-b814-44ee-86af-55c14a483b9e', 'name': 'My Audit Template 2', 'goal_uuid': 'ac197c50-dc7d-4127-a9ec-39b8c0d1bee2', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e9aba1fb-b814-44ee-86af-55c14a483b9e', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e9aba1fb-b814-44ee-86af-55c14a483b9e', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'bb2611c7-d3b7-4242-aff2-a1900f6ff214', 'name': 'My Audit Template 3', 'goal_uuid': 'ac197c50-dc7d-4127-a9ec-39b8c0d1bee2', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/bb2611c7-d3b7-4242-aff2-a1900f6ff214', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/bb2611c7-d3b7-4242-aff2-a1900f6ff214', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '35faab57-1422-43ef-9281-6d8111907567', 'name': 'My Audit Template 4', 'goal_uuid': 'ac197c50-dc7d-4127-a9ec-39b8c0d1bee2', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/35faab57-1422-43ef-9281-6d8111907567', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/35faab57-1422-43ef-9281-6d8111907567', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'c8c0a160-7834-4bfc-ac8e-77744437f8ee', 'name': 'My Audit Template 5', 'goal_uuid': 'ac197c50-dc7d-4127-a9ec-39b8c0d1bee2', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/c8c0a160-7834-4bfc-ac8e-77744437f8ee', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/c8c0a160-7834-4bfc-ac8e-77744437f8ee', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?sort_key=name {} GOT:{'audit_templates': [{'uuid': '1e5d2ef0-7608-4d55-a62b-b026ff64b1e7', 'name': 'My Audit Template 1', 'goal_uuid': '7b0e677d-6b2b-4c8a-9cd0-d5b65fa9e35b', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/1e5d2ef0-7608-4d55-a62b-b026ff64b1e7', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/1e5d2ef0-7608-4d55-a62b-b026ff64b1e7', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '752db61c-5ab5-4c85-832c-d3a1a0268e8a', 'name': 'My Audit Template 2', 'goal_uuid': '7b0e677d-6b2b-4c8a-9cd0-d5b65fa9e35b', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/752db61c-5ab5-4c85-832c-d3a1a0268e8a', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/752db61c-5ab5-4c85-832c-d3a1a0268e8a', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '62f8f4f6-4a55-41bc-b8b1-3b64fef5a865', 'name': 'My Audit Template 3', 'goal_uuid': '7b0e677d-6b2b-4c8a-9cd0-d5b65fa9e35b', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/62f8f4f6-4a55-41bc-b8b1-3b64fef5a865', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/62f8f4f6-4a55-41bc-b8b1-3b64fef5a865', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'd4496285-ac95-4d8c-9e95-8f0f23d7cbd8', 'name': 'My Audit Template 4', 'goal_uuid': '7b0e677d-6b2b-4c8a-9cd0-d5b65fa9e35b', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/d4496285-ac95-4d8c-9e95-8f0f23d7cbd8', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/d4496285-ac95-4d8c-9e95-8f0f23d7cbd8', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '642e41a1-1cc2-4234-b2c4-bb6c65e4a166', 'name': 'My Audit Template 5', 'goal_uuid': '7b0e677d-6b2b-4c8a-9cd0-d5b65fa9e35b', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/642e41a1-1cc2-4234-b2c4-bb6c65e4a166', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/642e41a1-1cc2-4234-b2c4-bb6c65e4a166', 'rel': 'bookmark'}], 'scope': []}]}watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_with_sort_key_name watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_with_sort_key_name ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> DELETED) ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_audit_templates.TestDelete.test_delete_audit_template_by_uuid watcher.tests.api.v1.test_audit_templates.TestDelete.test_delete_audit_template_by_uuid ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'RECOMMENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'RECOMMENDED'}]'. Reason: State transition not allowed: (FAILED -> RECOMMENDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:44.317374+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:47.574568+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (FAILED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:47.574568+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:50.664650+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (FAILED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:50.664650+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:53.619301+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (FAILED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:53.619301+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:56.436685+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (FAILED -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:56.436685+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:59.696774+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> CANCELLED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> CANCELLED) ... ok watcher.tests.api.v1.test_audit_templates.TestDelete.test_delete_audit_template_not_found watcher.tests.api.v1.test_audit_templates.TestDelete.test_delete_audit_template_not_found ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> SUPERSEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> SUPERSEDED) ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_collection_links_default_limit watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_detail watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_detail ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_empty watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_empty ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> CANCELLING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(FAILED -> CANCELLING) ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_goal_uuid watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_goal_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> RECOMMENDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> RECOMMENDED) ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_strategy_uuid watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_strategy_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> PENDING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> PENDING) ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_by_name watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_by_name ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (FAILED -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:18:59.696774+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:02.877287+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUPERSEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUPERSEDED'}]'. Reason: State transition not allowed: (FAILED -> SUPERSEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:02.877287+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:05.760887+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLING'}]'. Reason: State transition not allowed: (FAILED -> CANCELLING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'FAILED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:05.760887+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:08.703359+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'RECOMMENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'RECOMMENDED'}]'. Reason: State transition not allowed: (SUCCEEDED -> RECOMMENDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:08.703359+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:11.718017+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (SUCCEEDED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:11.718017+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:14.643284+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> ONGOING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> ONGOING) ... ok GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'f14e41e4-0f46-4d80-b0ee-1522df8a07d6', 'name': 'My Audit Template 1', 'goal_uuid': '26fedb9a-34c6-4da3-92e1-8e1b5d082852', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/f14e41e4-0f46-4d80-b0ee-1522df8a07d6', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/f14e41e4-0f46-4d80-b0ee-1522df8a07d6', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'b9524aaa-6832-4f84-b709-ea84853c4559', 'name': 'My Audit Template 2', 'goal_uuid': '26fedb9a-34c6-4da3-92e1-8e1b5d082852', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/b9524aaa-6832-4f84-b709-ea84853c4559', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/b9524aaa-6832-4f84-b709-ea84853c4559', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'eaaafddb-bd20-4d9a-9cce-1f6aea2391ad', 'name': 'My Audit Template 3', 'goal_uuid': '26fedb9a-34c6-4da3-92e1-8e1b5d082852', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/eaaafddb-bd20-4d9a-9cce-1f6aea2391ad', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/eaaafddb-bd20-4d9a-9cce-1f6aea2391ad', 'rel': 'bookmark'}], 'scope': []}]} DELETE: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"AuditTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found\", \"debuginfo\": null}"} DELETE: /v1/audit_templates/3e05fe1d-3b73-479d-a412-3afe30a5e556 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"AuditTemplate 3e05fe1d-3b73-479d-a412-3afe30a5e556 could not be found\", \"debuginfo\": null}"} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'cd755108-998c-4734-b286-09becdba92a5', 'name': 'My Audit Template 0', 'goal_uuid': 'afbb7194-07da-4473-b7d4-2bd11a4d769f', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/cd755108-998c-4734-b286-09becdba92a5', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/cd755108-998c-4734-b286-09becdba92a5', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '6a206efa-49e0-414b-a513-4ad44b0ae4cd', 'name': 'My Audit Template 1', 'goal_uuid': 'afbb7194-07da-4473-b7d4-2bd11a4d769f', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/6a206efa-49e0-414b-a513-4ad44b0ae4cd', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/6a206efa-49e0-414b-a513-4ad44b0ae4cd', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'ca904526-9d3e-45c4-9f7c-abd9fa650ebc', 'name': 'My Audit Template 2', 'goal_uuid': 'afbb7194-07da-4473-b7d4-2bd11a4d769f', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/ca904526-9d3e-45c4-9f7c-abd9fa650ebc', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/ca904526-9d3e-45c4-9f7c-abd9fa650ebc', 'rel': 'bookmark'}], 'scope': []}], 'next': 'http://localhost/v1/audit_templates?sort_key=id&sort_dir=asc&limit=3&marker=ca904526-9d3e-45c4-9f7c-abd9fa650ebc'} GET: /v1/audit_templates/detail {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '5cf04d1a-5336-4bff-ba91-e2187a6755c1', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:19:05.790133+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/audit_templates {} GOT:{'audit_templates': []} GET: /v1/audit_templates?goal=84049f12-391e-4afa-8f3b-0c98bf781660 {} GOT:{'audit_templates': [{'uuid': '1e0d166f-3b3d-4c87-8b5b-6dac2d17089c', 'name': 'My Audit Template 4', 'goal_uuid': '84049f12-391e-4afa-8f3b-0c98bf781660', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/1e0d166f-3b3d-4c87-8b5b-6dac2d17089c', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/1e0d166f-3b3d-4c87-8b5b-6dac2d17089c', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '200f4611-d9c0-4e45-852a-b617e4c868de', 'name': 'My Audit Template 5', 'goal_uuid': '84049f12-391e-4afa-8f3b-0c98bf781660', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/200f4611-d9c0-4e45-852a-b617e4c868de', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/200f4611-d9c0-4e45-852a-b617e4c868de', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?strategy=bd607de3-0329-4754-850f-b179e9868549 {} GOT:{'audit_templates': [{'uuid': '7b4fb584-5680-44b9-951b-784efae58932', 'name': 'My Audit Template 4', 'goal_uuid': 'e43d3d87-2831-4882-93ed-cf9ac72026b5', 'goal_name': 'dummy_1', 'strategy_uuid': 'bd607de3-0329-4754-850f-b179e9868549', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/7b4fb584-5680-44b9-951b-784efae58932', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/7b4fb584-5680-44b9-951b-784efae58932', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'e6ee7cb6-6384-499c-be5b-eadea8a45470', 'name': 'My Audit Template 5', 'goal_uuid': 'e43d3d87-2831-4882-93ed-cf9ac72026b5', 'goal_name': 'dummy_1', 'strategy_uuid': 'bd607de3-0329-4754-850f-b179e9868549', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/e6ee7cb6-6384-499c-be5b-eadea8a45470', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e6ee7cb6-6384-499c-be5b-eadea8a45470', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates/My%20Audit%20Template {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '9a0814a9-25ea-4f94-90e0-1ed4acb98856', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:19:13.576112+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': '9dba10db-71d6-47b4-9871-edf70e13e7ed', 'name': 'My Audit Template 1', 'goal_uuid': '3b09cf41-dd65-4eda-be97-254095c8c4d3', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9dba10db-71d6-47b4-9871-edf70e13e7ed', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9dba10db-71d6-47b4-9871-edf70e13e7ed', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '597ca448-0278-431c-b723-ddf20b14dfea', 'name': 'My Audit Template 2', 'goal_uuid': '3b09cf41-dd65-4eda-be97-254095c8c4d3', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/597ca448-0278-431c-b723-ddf20b14dfea', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/597ca448-0278-431c-b723-ddf20b14dfea', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'b66da51e-3116-4cd3-b41c-bd35f1238587', 'name': 'My Audit Template 3', 'goal_uuid': '3b09cf41-dd65-4eda-be97-254095c8c4d3', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/b66da51e-3116-4cd3-b41c-bd35f1238587', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/b66da51e-3116-4cd3-b41c-bd35f1238587', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'c82ba2e0-5ce3-499c-8f49-4d6ca726b7f3', 'name': 'My Audit Template 4', 'goal_uuid': '3b09cf41-dd65-4eda-be97-254095c8c4d3', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/c82ba2e0-5ce3-499c-8f49-4d6ca726b7f3', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/c82ba2e0-5ce3-499c-8f49-4d6ca726b7f3', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '656f9afe-df11-4f38-ab64-c911147491d7', 'name': 'My Audit Template 5', 'goal_uuid': '3b09cf41-dd65-4eda-be97-254095c8c4d3', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/656f9afe-df11-4f38-ab64-c911147491d7', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/656f9afe-df11-4f38-ab64-c911147491d7', 'rel': 'bookmark'}], 'scope': []}]}watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> FAILED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> FAILED) ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_with_sort_key_goal_name watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_with_sort_key_goal_name ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> DELETED) ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_with_sort_key_name watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_with_sort_key_name ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> CANCELLED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> CANCELLED) ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_without_soft_deleted watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> SUPERSEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> SUPERSEDED) ... ok GET: /v1/audit_templates?sort_key=goal_name&sort_dir=asc {} GOT:{'audit_templates': [{'uuid': '5c82bb45-7a8c-4b1e-85e6-f4ad80989021', 'name': 'My Audit Template 2', 'goal_uuid': 'e254d2b8-9469-451e-8915-4bad050ccd72', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/5c82bb45-7a8c-4b1e-85e6-f4ad80989021', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/5c82bb45-7a8c-4b1e-85e6-f4ad80989021', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '80e73220-53c1-4e2d-9077-92486f4de10e', 'name': 'My Audit Template 1', 'goal_uuid': 'e254d2b8-9469-451e-8915-4bad050ccd72', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/80e73220-53c1-4e2d-9077-92486f4de10e', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/80e73220-53c1-4e2d-9077-92486f4de10e', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '951c73bc-ff1c-4d12-b72b-9d7f4416abd9', 'name': 'My Audit Template 3', 'goal_uuid': 'e254d2b8-9469-451e-8915-4bad050ccd72', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/951c73bc-ff1c-4d12-b72b-9d7f4416abd9', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/951c73bc-ff1c-4d12-b72b-9d7f4416abd9', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '9c0530be-0d4b-4022-98e9-2a48d75952ee', 'name': 'My Audit Template 5', 'goal_uuid': '25fdea2c-2e8f-48c5-a212-a225c21f3ab0', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9c0530be-0d4b-4022-98e9-2a48d75952ee', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9c0530be-0d4b-4022-98e9-2a48d75952ee', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'c3896e97-b695-4890-9aac-7d068dd5e301', 'name': 'My Audit Template 4', 'goal_uuid': '25fdea2c-2e8f-48c5-a212-a225c21f3ab0', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/c3896e97-b695-4890-9aac-7d068dd5e301', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/c3896e97-b695-4890-9aac-7d068dd5e301', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?sort_key=goal_name&sort_dir=desc {} GOT:{'audit_templates': [{'uuid': 'c3896e97-b695-4890-9aac-7d068dd5e301', 'name': 'My Audit Template 4', 'goal_uuid': '25fdea2c-2e8f-48c5-a212-a225c21f3ab0', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/c3896e97-b695-4890-9aac-7d068dd5e301', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/c3896e97-b695-4890-9aac-7d068dd5e301', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '9c0530be-0d4b-4022-98e9-2a48d75952ee', 'name': 'My Audit Template 5', 'goal_uuid': '25fdea2c-2e8f-48c5-a212-a225c21f3ab0', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9c0530be-0d4b-4022-98e9-2a48d75952ee', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9c0530be-0d4b-4022-98e9-2a48d75952ee', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '951c73bc-ff1c-4d12-b72b-9d7f4416abd9', 'name': 'My Audit Template 3', 'goal_uuid': 'e254d2b8-9469-451e-8915-4bad050ccd72', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/951c73bc-ff1c-4d12-b72b-9d7f4416abd9', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/951c73bc-ff1c-4d12-b72b-9d7f4416abd9', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '80e73220-53c1-4e2d-9077-92486f4de10e', 'name': 'My Audit Template 1', 'goal_uuid': 'e254d2b8-9469-451e-8915-4bad050ccd72', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/80e73220-53c1-4e2d-9077-92486f4de10e', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/80e73220-53c1-4e2d-9077-92486f4de10e', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '5c82bb45-7a8c-4b1e-85e6-f4ad80989021', 'name': 'My Audit Template 2', 'goal_uuid': 'e254d2b8-9469-451e-8915-4bad050ccd72', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/5c82bb45-7a8c-4b1e-85e6-f4ad80989021', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/5c82bb45-7a8c-4b1e-85e6-f4ad80989021', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?sort_key=name {} GOT:{'audit_templates': [{'uuid': '5a6ca39e-d7ca-4601-a352-4d5ad2dffbe7', 'name': 'My Audit Template 1', 'goal_uuid': '7237cd68-d9ac-4011-bb4c-cb0387731f42', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/5a6ca39e-d7ca-4601-a352-4d5ad2dffbe7', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/5a6ca39e-d7ca-4601-a352-4d5ad2dffbe7', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '11ea479a-6ac4-42fd-a0ba-5848500be119', 'name': 'My Audit Template 2', 'goal_uuid': '7237cd68-d9ac-4011-bb4c-cb0387731f42', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/11ea479a-6ac4-42fd-a0ba-5848500be119', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/11ea479a-6ac4-42fd-a0ba-5848500be119', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '6410a5c9-d051-4fb4-a728-07e78fbff4ea', 'name': 'My Audit Template 3', 'goal_uuid': '7237cd68-d9ac-4011-bb4c-cb0387731f42', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/6410a5c9-d051-4fb4-a728-07e78fbff4ea', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/6410a5c9-d051-4fb4-a728-07e78fbff4ea', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '3665d282-c52d-4b08-95a3-a9810b33fb8b', 'name': 'My Audit Template 4', 'goal_uuid': '7237cd68-d9ac-4011-bb4c-cb0387731f42', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/3665d282-c52d-4b08-95a3-a9810b33fb8b', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/3665d282-c52d-4b08-95a3-a9810b33fb8b', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '712dc569-045a-4e29-984b-eab9271b8ee3', 'name': 'My Audit Template 5', 'goal_uuid': '7237cd68-d9ac-4011-bb4c-cb0387731f42', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/712dc569-045a-4e29-984b-eab9271b8ee3', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/712dc569-045a-4e29-984b-eab9271b8ee3', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': '55ac9a83-0a9f-42ef-a70f-50ffec12a668', 'name': 'My Audit Template 1', 'goal_uuid': '1f42cb5f-f903-45fc-83ca-4810a003e862', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/55ac9a83-0a9f-42ef-a70f-50ffec12a668', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/55ac9a83-0a9f-42ef-a70f-50ffec12a668', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '5171ad34-9c75-4bc7-9be0-f78cf0ca3ff6', 'name': 'My Audit Template 2', 'goal_uuid': '1f42cb5f-f903-45fc-83ca-4810a003e862', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/5171ad34-9c75-4bc7-9be0-f78cf0ca3ff6', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/5171ad34-9c75-4bc7-9be0-f78cf0ca3ff6', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '21e9d82b-133c-400b-8dee-d336018bbd9d', 'name': 'My Audit Template 3', 'goal_uuid': '1f42cb5f-f903-45fc-83ca-4810a003e862', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/21e9d82b-133c-400b-8dee-d336018bbd9d', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/21e9d82b-133c-400b-8dee-d336018bbd9d', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?sort_key=goal_bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: goal_bad_name\", \"debuginfo\": null}"}watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_sort_key_validation watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_sort_key_validation ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_add_goal_uuid watcher.tests.api.v1.test_audit_templates.TestPatch.test_add_goal_uuid ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (SUCCEEDED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:14.643284+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:17.820500+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (SUCCEEDED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:17.820500+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:21.021063+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (SUCCEEDED -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:21.021063+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:23.860018+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (SUCCEEDED -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:23.860018+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:26.718397+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUPERSEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUPERSEDED'}]'. Reason: State transition not allowed: (SUCCEEDED -> SUPERSEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:26.718397+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:29.681042+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> CANCELLING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUCCEEDED -> CANCELLING) ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_strategy watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_strategy ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> RECOMMENDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> RECOMMENDED) ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_uuid watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> PENDING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> PENDING) ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_goal_uuid watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_goal_uuid ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_invalid_strategy watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_invalid_strategy ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> ONGOING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> ONGOING) ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_non_existent_audit_template watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_non_existent_audit_template ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> FAILED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> FAILED) ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_strategy_uuid watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_strategy_uuid ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLING'}]'. Reason: State transition not allowed: (SUCCEEDED -> CANCELLING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUCCEEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:29.681042+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:32.739404+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'RECOMMENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'RECOMMENDED'}]'. Reason: State transition not allowed: (CANCELLED -> RECOMMENDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:32.739404+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:35.632024+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (CANCELLED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:35.632024+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:38.786046+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (CANCELLED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:38.786046+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:41.622150+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (CANCELLED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:41.622150+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:44.786044+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> SUCCEEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> SUCCEEDED) ... ok PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/goal', 'value': '5e5b2ce6-5018-45a8-9068-3673e0e1f511', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "5e5b2ce6-5018-45a8-9068-3673e0e1f511", "goal_name": "dummy_2", "strategy_uuid": null, "strategy_name": null, "links": [{"href": "http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:19:28.342349+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:19:29.080842+00:00"} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '5e5b2ce6-5018-45a8-9068-3673e0e1f511', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:19:28.342349+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:19:29.080842+00:00'} GET: /v1/audit_templates/4b3b31fa-b88e-49ca-8de6-02566fa0ce1a {} GOT:{'uuid': '4b3b31fa-b88e-49ca-8de6-02566fa0ce1a', 'name': 'AT_ba1e99ed-49b3-444c-b3c9-18daf9ee084b', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'a50a5c6b-035f-4214-82b8-a886b04ad942', 'goal_name': 'dummy_1', 'strategy_uuid': '7286b81f-da0a-4cfb-8112-c89bcc8a5a4c', 'strategy_name': 'strategy_1', 'links': [{'href': 'http://localhost/v1/audit_templates/4b3b31fa-b88e-49ca-8de6-02566fa0ce1a', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/4b3b31fa-b88e-49ca-8de6-02566fa0ce1a', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:19:32.917751+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/strategy', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "a50a5c6b-035f-4214-82b8-a886b04ad942", "goal_name": "dummy_1", "strategy_uuid": null, "strategy_name": null, "links": [{"href": "http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:19:32.745675+00:00", "deleted_at": null, "updated_at": null} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'eb0ac276-77c4-447b-814c-bb9b4eeb7e3b', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:19:36.648806+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/goal', 'value': '381c731f-9b4b-45f1-acc4-5863176f7ac2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "381c731f-9b4b-45f1-acc4-5863176f7ac2", "goal_name": "dummy_2", "strategy_uuid": null, "strategy_name": null, "links": [{"href": "http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:19:36.648806+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '381c731f-9b4b-45f1-acc4-5863176f7ac2', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:19:36.648806+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/strategy', 'value': '608cffa3-c456-4586-8966-a3bfa69dabc3', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute patch. Value: '[{'path': '/strategy', 'value': '608cffa3-c456-4586-8966-a3bfa69dabc3', 'op': 'replace'}]'. Strategy 608cffa3-c456-4586-8966-a3bfa69dabc3 is invalid\", \"debuginfo\": null}"} PATCH: /v1/audit_templates/969f9298-b985-4f7b-9ad4-757dcce8ab4f [{'path': '/goal', 'value': 'a4cd1774-855d-44d6-88ca-5d20f12293cc', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"AuditTemplate 969f9298-b985-4f7b-9ad4-757dcce8ab4f could not be found\", \"debuginfo\": null}"} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/strategy', 'value': '7de81c13-9fe3-4df0-a586-74d1141db90e', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "734f6546-fd3c-4e13-b938-2f4c079e4b90", "goal_name": "dummy_1", "strategy_uuid": "7de81c13-9fe3-4df0-a586-74d1141db90e", "strategy_name": "strategy_2", "links": [{"href": "http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:19:42.467963+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:19:43.299253+00:00"} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '734f6546-fd3c-4e13-b938-2f4c079e4b90', 'goal_name': 'dummy_1', 'strategy_uuid': '7de81c13-9fe3-4df0-a586-74d1141db90e', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:19:42.467963+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:19:43.299253+00:00'} POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': '5a65da82-ef8f-4f05-b175-cca0b6f1764d', 'strategy': '553214b8-4bc9-425d-9fe1-e0bbb9c38df0'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audit_templates/25f5c3ae-2bb9-44e5-a00b-0119a59bac23 {"uuid": "25f5c3ae-2bb9-44e5-a00b-0119a59bac23", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "5a65da82-ef8f-4f05-b175-cca0b6f1764d", "goal_name": "dummy_1", "strategy_uuid": "553214b8-4bc9-425d-9fe1-e0bbb9c38df0", "strategy_name": "strategy_1", "links": [{"href": "http://localhost/v1/audit_templates/25f5c3ae-2bb9-44e5-a00b-0119a59bac23", "rel": "self"}, {"href": "http://localhost/audit_templates/25f5c3ae-2bb9-44e5-a00b-0119a59bac23", "rel": "bookmark"}], "scope": [], "created_at": "2000-01-01T00:00:00+00:00", "deleted_at": null, "updated_at": null}watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template ... ok watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_does_autogenerate_id watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_does_autogenerate_id ... ok watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_generate_uuid watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_generate_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> DELETED) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> SUPERSEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> SUPERSEDED) ... ok POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'ceceb9d3-1149-4b70-87f9-50f537c093ce', 'strategy': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audit_templates/6bd29bf8-8816-4a89-b217-41d58e203c77 {"uuid": "6bd29bf8-8816-4a89-b217-41d58e203c77", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "ceceb9d3-1149-4b70-87f9-50f537c093ce", "goal_name": "dummy_1", "strategy_uuid": null, "strategy_name": null, "links": [{"href": "http://localhost/v1/audit_templates/6bd29bf8-8816-4a89-b217-41d58e203c77", "rel": "self"}, {"href": "http://localhost/audit_templates/6bd29bf8-8816-4a89-b217-41d58e203c77", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:19:47.651342+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': '6be89256-d0d1-40f3-b729-817e563df11c', 'strategy': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audit_templates/628fcb15-a55e-4470-98af-b3280831e8f9 {"uuid": "628fcb15-a55e-4470-98af-b3280831e8f9", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "6be89256-d0d1-40f3-b729-817e563df11c", "goal_name": "dummy_1", "strategy_uuid": null, "strategy_name": null, "links": [{"href": "http://localhost/v1/audit_templates/628fcb15-a55e-4470-98af-b3280831e8f9", "rel": "self"}, {"href": "http://localhost/audit_templates/628fcb15-a55e-4470-98af-b3280831e8f9", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:19:49.294143+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [{'compute': [{'host_aggregates': [{'id': '*'}]}, {'availability_zones': [{'name': 'AZ1'}, {'name': 'AZ2'}]}, {'exclude': [{'instances': [{'uuid': 'INSTANCE_1'}, {'uuid': 'INSTANCE_2'}]}, {'compute_nodes': [{'name': 'Node_1'}, {'name': 'Node_2'}]}, {'host_aggregates': [{'id': '*'}]}]}]}], 'goal': '9b00d071-0880-44c9-8a0c-7d7b5e9b7d44', 'strategy': 'c0e7a113-1069-4d66-8f5d-7fa8882f682d'} POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [{'host_aggregates': [{'id1': '*'}]}], 'goal': '9b00d071-0880-44c9-8a0c-7d7b5e9b7d44', 'strategy': 'c0e7a113-1069-4d66-8f5d-7fa8882f682d'} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Additional properties are not allowed ('host_aggregates' was unexpected)\\n\\nFailed validating 'additionalProperties' in schema['items']:\\n {'additionalProperties': False,\\n 'properties': {'compute': {'$schema': 'http://json-schema.org/draft-04/schema#',\\n 'additionalProperties': False,\\n 'host_aggregates': {'id': {'additionalProperties': False,\\n 'properties': {'id': {'oneOf': [{'type': 'integer'},\\n {'enum': ['*']}]}}},\\n 'name': {'additionalProperties': False,\\n 'properties': {'name': {'type': 'string'}}}},\\n 'items': {'additionalProperties': False,\\n 'properties': {'availability_zones': {'items': {'additionalProperties': False,\\n 'properties': {'name': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'exclude': {'items': {'additionalProperties': False,\\n 'properties': {'compute_nodes': {'items': {'additionalProperties': False,\\n 'properties': {'name': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'host_aggregates': {'items': {'anyOf': [{'$ref': '#/items/properties/compute/host_aggregates/id'},\\n {'$ref': '#/items/properties/compute/host_aggregates/name'}]},\\n 'type': 'array'},\\n 'instance_metadata': {'items': {'type': 'object'},\\n 'type': 'array'},\\n 'instances': {'items': {'additionalProperties': False,\\n 'properties': {'uuid': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'projects': {'items': {'additionalProperties': False,\\n 'properties': {'uuid': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'host_aggregates': {'items': {'anyOf': [{'$ref': '#/items/properties/compute/host_aggregates/id'},\\n {'$ref': '#/items/properties/compute/host_aggregates/name'}]},\\n 'type': 'array'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'storage': {'$schema': 'http://json-schema.org/draft-04/schema#',\\n 'items': {'additionalProperties': False,\\n 'properties': {'availability_zones': {'items': {'additionalProperties': False,\\n 'properties': {'name': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'exclude': {'items': {'properties': {'additionalProperties': False,\\n 'projects': {'items': {'additionalProperties': False,\\n 'properties': {'uuid': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'storage_pools': {'items': {'additionalProperties': False,\\n 'properties': {'name': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'volumes': {'items': {'additionalProperties': False,\\n 'properties': {'uuid': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'}},\\n 'type': 'object'},\\n 'type': 'array'},\\n 'volume_types': {'items': {'additionalProperties': False,\\n 'properties': {'name': {'type': 'string'}},\\n 'type': 'object'},\\n 'type': 'array'}},\\n 'type': 'object'},\\n 'type': 'array'}},\\n 'type': 'object'}\\n\\nOn instance[0]:\\n {'host_aggregates': [{'id1': '*'}]}\", \"debuginfo\": null}"}watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_validation_with_aggregates watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_validation_with_aggregates ... ok watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_unrelated_strategy watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_unrelated_strategy ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_collection_links watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_collection_links ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> CANCELLING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLED -> CANCELLING) ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_get_one watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_get_one ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> RECOMMENDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> RECOMMENDED) ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (CANCELLED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:44.786044+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:48.145295+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (CANCELLED -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:48.145295+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:51.082856+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUPERSEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUPERSEDED'}]'. Reason: State transition not allowed: (CANCELLED -> SUPERSEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:51.082856+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:54.011262+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLING'}]'. Reason: State transition not allowed: (CANCELLED -> CANCELLING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:54.011262+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:56.842979+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'RECOMMENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'RECOMMENDED'}]'. Reason: State transition not allowed: (SUPERSEDED -> RECOMMENDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:56.842979+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:59.755833+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> PENDING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> PENDING) ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> ONGOING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> ONGOING) ... ok POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'df9e0182-9734-4891-83ab-f1acb8eb79e4'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute audit_template_postdata. Value: '{'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'df9e0182-9734-4891-83ab-f1acb8eb79e4'}'. Goal f7ad87ae-4298-91cf-93a0-f35a852e3652 is invalid\", \"debuginfo\": null}"} GET: /v1/audits/?limit=3 {} GOT:{'audits': [{'uuid': '94b086a0-1f0c-4478-9669-d2547448a5f0', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/94b086a0-1f0c-4478-9669-d2547448a5f0', 'rel': 'self'}, {'href': 'http://localhost/audits/94b086a0-1f0c-4478-9669-d2547448a5f0', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '43f27fb6-6f38-4962-9cae-fd76ae67735c', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/43f27fb6-6f38-4962-9cae-fd76ae67735c', 'rel': 'self'}, {'href': 'http://localhost/audits/43f27fb6-6f38-4962-9cae-fd76ae67735c', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'e5989943-b5e9-4f82-b2fd-ce8c2789cdff', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/e5989943-b5e9-4f82-b2fd-ce8c2789cdff', 'rel': 'self'}, {'href': 'http://localhost/audits/e5989943-b5e9-4f82-b2fd-ce8c2789cdff', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}], 'next': 'http://localhost/v1/audits?sort_key=id&sort_dir=asc&limit=3&marker=e5989943-b5e9-4f82-b2fd-ce8c2789cdff'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:56.233947+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits {} GOT:{'audits': [{'uuid': '18a61176-b387-4aa1-ae54-31f514a20b92', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/18a61176-b387-4aa1-ae54-31f514a20b92', 'rel': 'self'}, {'href': 'http://localhost/audits/18a61176-b387-4aa1-ae54-31f514a20b92', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'e965604b-e546-4d66-b975-e3b5f45e24f7', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/e965604b-e546-4d66-b975-e3b5f45e24f7', 'rel': 'self'}, {'href': 'http://localhost/audits/e965604b-e546-4d66-b975-e3b5f45e24f7', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '4c0854fd-dc59-4558-b0fc-65aeff0f6978', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/4c0854fd-dc59-4558-b0fc-65aeff0f6978', 'rel': 'self'}, {'href': 'http://localhost/audits/4c0854fd-dc59-4558-b0fc-65aeff0f6978', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'e95bf3df-c2cc-4d40-9d30-16a7851fb6a0', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/e95bf3df-c2cc-4d40-9d30-16a7851fb6a0', 'rel': 'self'}, {'href': 'http://localhost/audits/e95bf3df-c2cc-4d40-9d30-16a7851fb6a0', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '46454386-fbbe-4c1c-9ee2-066bc2c7e088', 'name': 'My Audit 4', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/46454386-fbbe-4c1c-9ee2-066bc2c7e088', 'rel': 'self'}, {'href': 'http://localhost/audits/46454386-fbbe-4c1c-9ee2-066bc2c7e088', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits {} GOT:{'audits': [{'uuid': '4a189a58-2119-4be0-8954-1fcd4159ba0a', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/4a189a58-2119-4be0-8954-1fcd4159ba0a', 'rel': 'self'}, {'href': 'http://localhost/audits/4a189a58-2119-4be0-8954-1fcd4159ba0a', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'deb20ecb-2026-4b1a-94fd-12e448bc158c', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/deb20ecb-2026-4b1a-94fd-12e448bc158c', 'rel': 'self'}, {'href': 'http://localhost/audits/deb20ecb-2026-4b1a-94fd-12e448bc158c', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'c575057e-901e-41d4-a46c-0ae36cd218b9', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/c575057e-901e-41d4-a46c-0ae36cd218b9', 'rel': 'self'}, {'href': 'http://localhost/audits/c575057e-901e-41d4-a46c-0ae36cd218b9', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '70cbdbc7-68f4-4787-8d6a-2aeed463208c', 'name': 'My Audit 4', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/70cbdbc7-68f4-4787-8d6a-2aeed463208c', 'rel': 'self'}, {'href': 'http://localhost/audits/70cbdbc7-68f4-4787-8d6a-2aeed463208c', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '8e0c72ce-814c-4e7d-a952-524ca98d9496', 'name': 'My Audit 5', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/8e0c72ce-814c-4e7d-a952-524ca98d9496', 'rel': 'self'}, {'href': 'http://localhost/audits/8e0c72ce-814c-4e7d-a952-524ca98d9496', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]}watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many_with_soft_deleted watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many_with_soft_deleted ... ok watcher.tests.api.v1.test_audits.TestAuditObject.test_audit_init watcher.tests.api.v1.test_audits.TestAuditObject.test_audit_init ... ok watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_create watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_create ... ok watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_detail ... ok watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_get_all ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> FAILED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> FAILED) ... ok watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_update watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_update ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> SUCCEEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_collection_links_default_limit watcher.tests.api.v1.test_audits.TestListAudit.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_detail watcher.tests.api.v1.test_audits.TestListAudit.test_detail ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> DELETED) ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_detail_against_single watcher.tests.api.v1.test_audits.TestListAudit.test_detail_against_single ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_detail_soft_deleted watcher.tests.api.v1.test_audits.TestListAudit.test_detail_soft_deleted ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (SUPERSEDED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:19:59.755833+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:02.799265+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (SUPERSEDED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:02.799265+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:05.741054+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (SUPERSEDED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:05.741054+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:08.562076+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (SUPERSEDED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:08.562076+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:11.330084+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (SUPERSEDED -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:11.330084+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:13.979404+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> CANCELLED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> CANCELLED) ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_empty watcher.tests.api.v1.test_audits.TestListAudit.test_empty ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> CANCELLING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(SUPERSEDED -> CANCELLING) ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_many watcher.tests.api.v1.test_audits.TestListAudit.test_many ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> RECOMMENDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> RECOMMENDED) ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_one watcher.tests.api.v1.test_audits.TestListAudit.test_one ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> PENDING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> PENDING) ... ok POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {}, 'interval': '3600', 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit:create to be performed.\", \"debuginfo\": null}"} GET: /v1/audits/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/audits {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit:get_all to be performed.\", \"debuginfo\": null}"} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit:update to be performed.\", \"debuginfo\": null}"} GET: /v1/audits {} GOT:{'audits': [{'uuid': '5b9ae24d-da33-4d91-b700-1ca6d71bd8e4', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/5b9ae24d-da33-4d91-b700-1ca6d71bd8e4', 'rel': 'self'}, {'href': 'http://localhost/audits/5b9ae24d-da33-4d91-b700-1ca6d71bd8e4', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '0efd8f68-c746-41cf-967c-3378f28307c4', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/0efd8f68-c746-41cf-967c-3378f28307c4', 'rel': 'self'}, {'href': 'http://localhost/audits/0efd8f68-c746-41cf-967c-3378f28307c4', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '99f0c379-f5be-47e1-ac26-3416c7b739d9', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/99f0c379-f5be-47e1-ac26-3416c7b739d9', 'rel': 'self'}, {'href': 'http://localhost/audits/99f0c379-f5be-47e1-ac26-3416c7b739d9', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}], 'next': 'http://localhost/v1/audits?sort_key=id&sort_dir=asc&limit=3&marker=99f0c379-f5be-47e1-ac26-3416c7b739d9'} GET: /v1/audits/detail {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:11.831428+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/audits/detail {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:14.652199+00:00', 'deleted_at': '2021-02-17T17:20:15.044277+00:00', 'updated_at': '2021-02-17T17:20:15.071155+00:00'}]} GET: /v1/audits/detail {} GOT:{'audits': []} GET: /v1/audits {} GOT:{'audits': []} GET: /v1/audits {} GOT:{'audits': [{'uuid': 'bb61dd43-4f23-4d0f-8f70-d2a5fc765ffc', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/bb61dd43-4f23-4d0f-8f70-d2a5fc765ffc', 'rel': 'self'}, {'href': 'http://localhost/audits/bb61dd43-4f23-4d0f-8f70-d2a5fc765ffc', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '5b455242-da0f-49e9-8adc-1818675e01ae', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/5b455242-da0f-49e9-8adc-1818675e01ae', 'rel': 'self'}, {'href': 'http://localhost/audits/5b455242-da0f-49e9-8adc-1818675e01ae', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'e80ec469-01fc-41ce-baee-63f9e3acee4c', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/e80ec469-01fc-41ce-baee-63f9e3acee4c', 'rel': 'self'}, {'href': 'http://localhost/audits/e80ec469-01fc-41ce-baee-63f9e3acee4c', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '7577c629-c7a4-4e3e-9b5f-6387289318e0', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/7577c629-c7a4-4e3e-9b5f-6387289318e0', 'rel': 'self'}, {'href': 'http://localhost/audits/7577c629-c7a4-4e3e-9b5f-6387289318e0', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'a967baa5-9aa0-49fb-af75-e4b64a30abf3', 'name': 'My Audit 4', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/a967baa5-9aa0-49fb-af75-e4b64a30abf3', 'rel': 'self'}, {'href': 'http://localhost/audits/a967baa5-9aa0-49fb-af75-e4b64a30abf3', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]}watcher.tests.api.v1.test_audits.TestListAudit.test_one_soft_deleted watcher.tests.api.v1.test_audits.TestListAudit.test_one_soft_deleted ... ok watcher.tests.api.v1.test_audits.TestPatch.test_add_ok watcher.tests.api.v1.test_audits.TestPatch.test_add_ok ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> ONGOING) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> ONGOING) ... ok watcher.tests.api.v1.test_audits.TestPatch.test_remove_non_existent_property watcher.tests.api.v1.test_audits.TestPatch.test_remove_non_existent_property ... ok watcher.tests.api.v1.test_audits.TestPatch.test_remove_ok watcher.tests.api.v1.test_audits.TestPatch.test_remove_ok ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (SUPERSEDED -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:13.979404+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:16.980808+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLING'}]'. Reason: State transition not allowed: (SUPERSEDED -> CANCELLING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'SUPERSEDED', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:16.980808+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:19.728465+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'RECOMMENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'RECOMMENDED'}]'. Reason: State transition not allowed: (CANCELLING -> RECOMMENDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:19.728465+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:22.583353+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (CANCELLING -> PENDING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:22.583353+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:25.809774+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (CANCELLING -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:25.809774+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:28.956924+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> FAILED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> FAILED) ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit watcher.tests.api.v1.test_audits.TestPost.test_create_audit ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_invalid_audit_template_uuid watcher.tests.api.v1.test_audits.TestPost.test_create_audit_invalid_audit_template_uuid ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> SUCCEEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_parameters_no_schema watcher.tests.api.v1.test_audits.TestPost.test_create_audit_parameters_no_schema ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> DELETED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> DELETED) ... ok GET: /v1/audits {} GOT:{'audits': []} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "SUCCEEDED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:20:24.836378+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:20:25.617540+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:24.836378+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:20:25.617540+00:00'} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:29.118439+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/interval', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": null, "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:20:29.118439+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:20:30.704497+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': None, 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:29.118439+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:20:30.704497+00:00'} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/df4dae86-af82-49d4-91aa-48afdd8b4b04 {"uuid": "df4dae86-af82-49d4-91aa-48afdd8b4b04", "name": "My Audit", "audit_type": "ONESHOT", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/df4dae86-af82-49d4-91aa-48afdd8b4b04", "rel": "self"}, {"href": "http://localhost/audits/df4dae86-af82-49d4-91aa-48afdd8b4b04", "rel": "bookmark"}], "interval": null, "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2000-01-01T00:00:00+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': '01234567-8910-1112-1314-151617181920'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The audit template UUID or name specified is invalid\", \"debuginfo\": null}"} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {'name': 'Tom'}, 'auto_trigger': False, 'goal': None, 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Specify parameters but no predefined strategy for audit, or no parameter spec in predefined strategy\", \"debuginfo\": null}"} POST: /v1/audits {'name': 'this audit name is just for test', 'audit_type': 'ONESHOT', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/a4421da3-0855-4f8c-ab61-9a4156e9318e {"uuid": "a4421da3-0855-4f8c-ab61-9a4156e9318e", "name": "this audit name is just for test", "audit_type": "ONESHOT", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/a4421da3-0855-4f8c-ab61-9a4156e9318e", "rel": "self"}, {"href": "http://localhost/audits/a4421da3-0855-4f8c-ab61-9a4156e9318e", "rel": "bookmark"}], "interval": null, "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2000-01-01T00:00:00+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audits {'name': 'this audit name is just for test10a47dd1-4874-4298-91cf-eff046dbdb8d', 'audit_type': 'ONESHOT', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/3cfb9e14-f2b8-4281-b610-10a9e1288e7c {"uuid": "3cfb9e14-f2b8-4281-b610-10a9e1288e7c", "name": "this audit name is just for test10a47dd1-4874-4298-91cf-eff046d", "audit_type": "ONESHOT", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/3cfb9e14-f2b8-4281-b610-10a9e1288e7c", "rel": "self"}, {"href": "http://localhost/audits/3cfb9e14-f2b8-4281-b610-10a9e1288e7c", "rel": "bookmark"}], "interval": null, "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2000-01-01T00:00:00+00:00", "deleted_at": null, "updated_at": null}watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_name watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_name ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_state_not_allowed watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_state_not_allowed ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> CANCELLED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> CANCELLED) ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_with_interval watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_with_interval ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_with_wrong_interval watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_with_wrong_interval ... ok watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> SUPERSEDED) watcher.tests.api.v1.test_actions_plans.TestPatchStateTransitionDenied.test_replace_state_pending_denied(CANCELLING -> SUPERSEDED) ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_without_period watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_without_period ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcement.test_policy_disallow_detail ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcement.test_policy_disallow_get_all ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_goals_collection_links watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_goals_collection_links ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_goals_collection_links_default_limit watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_goals_collection_links_default_limit ... ok PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (CANCELLING -> FAILED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:28.956924+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:33.375428+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (CANCELLING -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:33.375428+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:37.145197+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (CANCELLING -> DELETED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:37.145197+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:40.652258+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (CANCELLING -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:40.652258+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:44.827623+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 [{'path': '/state', 'value': 'SUPERSEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUPERSEDED'}]'. Reason: State transition not allowed: (CANCELLING -> SUPERSEDED)\", \"debuginfo\": null}"} GET: /v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061 {} GOT:{'efficacy_indicators': [], 'uuid': '76be87bd-3422-43f9-93a0-e85a577e3061', 'audit_uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'strategy_uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'strategy_name': 'TEST', 'global_efficacy': [], 'state': 'CANCELLING', 'links': [{'href': 'http://localhost/v1/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'self'}, {'href': 'http://localhost/action_plans/76be87bd-3422-43f9-93a0-e85a577e3061', 'rel': 'bookmark'}], 'hostname': 'host_1', 'created_at': '2021-02-17T17:20:44.827623+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "action_plan_uuid": "76be87bd-3422-43f9-93a0-e85a577e3061", "state": "PENDING", "action_type": "nop", "description": "", "input_parameters": {"key1": "val1", "key2": "val2", "resource_id": "10a47dd1-4874-4298-91cf-eff046dbdb8d"}, "parents": [], "links": [{"href": "http://localhost/v1/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/actions/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "created_at": "2021-02-17T17:20:48.469658+00:00", "deleted_at": null, "updated_at": null}watcher.tests.api.v1.test_actions_plans.TestStart.test_start_action_plan watcher.tests.api.v1.test_actions_plans.TestStart.test_start_action_plan ... ok watcher.tests.api.v1.test_actions_plans.TestStart.test_start_action_plan_not_found watcher.tests.api.v1.test_actions_plans.TestStart.test_start_action_plan_not_found ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_many watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_many ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplateObject.test_audit_template_init watcher.tests.api.v1.test_audit_templates.TestAuditTemplateObject.test_audit_template_init ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_create watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_create ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyEnforcement.test_policy_disallow_detail ... ok POST: /v1/audits {'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'parameters': {}, 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown attributes for argument audit_p: next_run_time, uuid\", \"debuginfo\": null}"} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'CONTINUOUS', 'parameters': {}, 'interval': '1200', 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/7e4006d1-3b4b-41bd-bee3-a87983670bc7 {"uuid": "7e4006d1-3b4b-41bd-bee3-a87983670bc7", "name": "My Audit", "audit_type": "CONTINUOUS", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/7e4006d1-3b4b-41bd-bee3-a87983670bc7", "rel": "self"}, {"href": "http://localhost/audits/7e4006d1-3b4b-41bd-bee3-a87983670bc7", "rel": "bookmark"}], "interval": "1200", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2021-02-17T17:20:44.484048+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'CONTINUOUS', 'parameters': {}, 'interval': 'zxc', 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 500 Internal Server Error Content-Type: application/json {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Exactly 5 or 6 columns has to be specified for iteratorexpression.\", \"debuginfo\": null}"} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'CONTINUOUS', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Interval of audit must be specified for CONTINUOUS.\", \"debuginfo\": null}"} GET: /v1/goals/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow goal:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/goals {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow goal:get_all to be performed.\", \"debuginfo\": null}"} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652 {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow goal:get to be performed.\", \"debuginfo\": null}"} GET: /v1/goals/?limit=2 {} GOT:{'goals': [{'uuid': 'd0a53469-eab8-4afa-8630-1f9478550f0f', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/d0a53469-eab8-4afa-8630-1f9478550f0f', 'rel': 'self'}, {'href': 'http://localhost/goals/d0a53469-eab8-4afa-8630-1f9478550f0f', 'rel': 'bookmark'}]}, {'uuid': 'd8dd4a37-256e-48ad-8086-e1a69456f3b3', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/d8dd4a37-256e-48ad-8086-e1a69456f3b3', 'rel': 'self'}, {'href': 'http://localhost/goals/d8dd4a37-256e-48ad-8086-e1a69456f3b3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/goals?sort_key=id&sort_dir=asc&limit=2&marker=d8dd4a37-256e-48ad-8086-e1a69456f3b3'} GET: /v1/goals {} GOT:{'goals': [{'uuid': '32c243c8-1661-4b99-916f-7363eeec8989', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/32c243c8-1661-4b99-916f-7363eeec8989', 'rel': 'self'}, {'href': 'http://localhost/goals/32c243c8-1661-4b99-916f-7363eeec8989', 'rel': 'bookmark'}]}, {'uuid': 'c47242d9-2543-4267-98c1-6cf30e167966', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/c47242d9-2543-4267-98c1-6cf30e167966', 'rel': 'self'}, {'href': 'http://localhost/goals/c47242d9-2543-4267-98c1-6cf30e167966', 'rel': 'bookmark'}]}, {'uuid': 'bfa3530d-595a-47bd-b7f3-d8e72fe48deb', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/bfa3530d-595a-47bd-b7f3-d8e72fe48deb', 'rel': 'self'}, {'href': 'http://localhost/goals/bfa3530d-595a-47bd-b7f3-d8e72fe48deb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/goals?sort_key=id&sort_dir=asc&limit=3&marker=bfa3530d-595a-47bd-b7f3-d8e72fe48deb'} GET: /v1/goals {} GOT:{'goals': [{'uuid': '5ebf6b04-0545-46b0-8685-20d4f692ed5f', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/5ebf6b04-0545-46b0-8685-20d4f692ed5f', 'rel': 'self'}, {'href': 'http://localhost/goals/5ebf6b04-0545-46b0-8685-20d4f692ed5f', 'rel': 'bookmark'}]}, {'uuid': '51e7a761-84f8-4805-95a1-5b755d8cbfd5', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/51e7a761-84f8-4805-95a1-5b755d8cbfd5', 'rel': 'self'}, {'href': 'http://localhost/goals/51e7a761-84f8-4805-95a1-5b755d8cbfd5', 'rel': 'bookmark'}]}, {'uuid': 'c9e21b88-1834-4c15-a752-3a33c95c3f80', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/c9e21b88-1834-4c15-a752-3a33c95c3f80', 'rel': 'self'}, {'href': 'http://localhost/goals/c9e21b88-1834-4c15-a752-3a33c95c3f80', 'rel': 'bookmark'}]}, {'uuid': '7dd3d750-3041-441c-804a-cf7ab8a6e036', 'name': 'GOAL_4', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/7dd3d750-3041-441c-804a-cf7ab8a6e036', 'rel': 'self'}, {'href': 'http://localhost/goals/7dd3d750-3041-441c-804a-cf7ab8a6e036', 'rel': 'bookmark'}]}, {'uuid': 'a96145e6-af4e-41d2-af6d-fc852931b9dd', 'name': 'GOAL_5', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/a96145e6-af4e-41d2-af6d-fc852931b9dd', 'rel': 'self'}, {'href': 'http://localhost/goals/a96145e6-af4e-41d2-af6d-fc852931b9dd', 'rel': 'bookmark'}]}]} GET: /v1/goals/?sort_key=uuid {} GOT:{'goals': [{'uuid': '4e9aed03-2e18-4678-ae92-a0a85694f81e', 'name': 'GOAL_5', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/4e9aed03-2e18-4678-ae92-a0a85694f81e', 'rel': 'self'}, {'href': 'http://localhost/goals/4e9aed03-2e18-4678-ae92-a0a85694f81e', 'rel': 'bookmark'}]}, {'uuid': '51e8281f-e5e6-4092-9971-27dd533dab9c', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/51e8281f-e5e6-4092-9971-27dd533dab9c', 'rel': 'self'}, {'href': 'http://localhost/goals/51e8281f-e5e6-4092-9971-27dd533dab9c', 'rel': 'bookmark'}]}, {'uuid': '8e304eea-21af-4416-a375-f0a14ab2cfc4', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/8e304eea-21af-4416-a375-f0a14ab2cfc4', 'rel': 'self'}, {'href': 'http://localhost/goals/8e304eea-21af-4416-a375-f0a14ab2cfc4', 'rel': 'bookmark'}]}, {'uuid': '9fd386a6-8c67-430c-af14-ea03c0b182e1', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/9fd386a6-8c67-430c-af14-ea03c0b182e1', 'rel': 'self'}, {'href': 'http://localhost/goals/9fd386a6-8c67-430c-af14-ea03c0b182e1', 'rel': 'bookmark'}]}, {'uuid': 'b700dd7e-35fa-400a-914d-238e2c2d9831', 'name': 'GOAL_4', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/b700dd7e-35fa-400a-914d-238e2c2d9831', 'rel': 'self'}, {'href': 'http://localhost/goals/b700dd7e-35fa-400a-914d-238e2c2d9831', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_many_with_sort_key_uuid watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_many_with_sort_key_uuid ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_get_one_by_name watcher.tests.api.v1.test_goals.TestListGoal.test_get_one_by_name ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_detail watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_get_one_soft_deleted watcher.tests.api.v1.test_goals.TestListGoal.test_get_one_soft_deleted ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning watcher.tests.api.v1.test_goals.TestListGoal.test_goals_collection_links watcher.tests.api.v1.test_goals.TestListGoal.test_goals_collection_links ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_detail_soft_deleted watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_detail_soft_deleted ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_many watcher.tests.api.v1.test_goals.TestListGoal.test_many ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_empty watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_empty ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning watcher.tests.api.v1.test_goals.TestListGoal.test_one watcher.tests.api.v1.test_goals.TestListGoal.test_one ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_sort_key_validation watcher.tests.api.v1.test_goals.TestListGoal.test_sort_key_validation ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_goal_name watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_goal_name ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_detail watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_detail ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_detail_against_single watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_detail_against_single ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_get_one_soft_deleted watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_strategy_name watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_strategy_name ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_scoring_engines_collection_links watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_scoring_engines_collection_links ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_strategy_uuid watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_filter_by_strategy_uuid ... ok GET: /v1/goals {} GOT:{'goals': [{'uuid': '54faab69-d759-4927-99fb-e308edfd4cab', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/54faab69-d759-4927-99fb-e308edfd4cab', 'rel': 'self'}, {'href': 'http://localhost/goals/54faab69-d759-4927-99fb-e308edfd4cab', 'rel': 'bookmark'}]}, {'uuid': '7d611f89-d2c7-4c80-9a70-8cd77a99e606', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/7d611f89-d2c7-4c80-9a70-8cd77a99e606', 'rel': 'self'}, {'href': 'http://localhost/goals/7d611f89-d2c7-4c80-9a70-8cd77a99e606', 'rel': 'bookmark'}]}, {'uuid': '48f1ed03-54ee-444f-a1c8-5127c54293ff', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/48f1ed03-54ee-444f-a1c8-5127c54293ff', 'rel': 'self'}, {'href': 'http://localhost/goals/48f1ed03-54ee-444f-a1c8-5127c54293ff', 'rel': 'bookmark'}]}]} GET: /v1/goals/TEST {} GOT:{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:20:57.030080+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652 {} GOT:{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:20:57.960365+00:00', 'updated_at': '2021-02-17T17:20:58.036626+00:00', 'deleted_at': '2021-02-17T17:20:58.032726+00:00'} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Goal f7ad87ae-4298-91cf-93a0-f35a852e3652 could not be found\", \"debuginfo\": null}"} GET: /v1/goals/?limit=2 {} GOT:{'goals': [{'uuid': '3257815d-9538-466d-a7c1-7c298bb9cfef', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/3257815d-9538-466d-a7c1-7c298bb9cfef', 'rel': 'self'}, {'href': 'http://localhost/goals/3257815d-9538-466d-a7c1-7c298bb9cfef', 'rel': 'bookmark'}]}, {'uuid': 'b0ef8b2f-3e5f-4731-9b16-46c6aad5715b', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/b0ef8b2f-3e5f-4731-9b16-46c6aad5715b', 'rel': 'self'}, {'href': 'http://localhost/goals/b0ef8b2f-3e5f-4731-9b16-46c6aad5715b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/goals?sort_key=id&sort_dir=asc&limit=2&marker=b0ef8b2f-3e5f-4731-9b16-46c6aad5715b'} GET: /v1/goals {} GOT:{'goals': [{'uuid': '96ee5e34-4c0a-48b5-bc9f-c743cd79bf3d', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/96ee5e34-4c0a-48b5-bc9f-c743cd79bf3d', 'rel': 'self'}, {'href': 'http://localhost/goals/96ee5e34-4c0a-48b5-bc9f-c743cd79bf3d', 'rel': 'bookmark'}]}, {'uuid': '03955400-cc01-455c-a179-e2c861ae0bd9', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/03955400-cc01-455c-a179-e2c861ae0bd9', 'rel': 'self'}, {'href': 'http://localhost/goals/03955400-cc01-455c-a179-e2c861ae0bd9', 'rel': 'bookmark'}]}, {'uuid': '73ac1b23-cf78-44a6-a501-4c8db3ee560d', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/73ac1b23-cf78-44a6-a501-4c8db3ee560d', 'rel': 'self'}, {'href': 'http://localhost/goals/73ac1b23-cf78-44a6-a501-4c8db3ee560d', 'rel': 'bookmark'}]}, {'uuid': '8dbb3ee7-3b2e-466a-af9c-cfc260867f86', 'name': 'GOAL_4', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/8dbb3ee7-3b2e-466a-af9c-cfc260867f86', 'rel': 'self'}, {'href': 'http://localhost/goals/8dbb3ee7-3b2e-466a-af9c-cfc260867f86', 'rel': 'bookmark'}]}, {'uuid': '36968bc3-efae-487b-ac1d-2b080fef3e94', 'name': 'GOAL_5', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/36968bc3-efae-487b-ac1d-2b080fef3e94', 'rel': 'self'}, {'href': 'http://localhost/goals/36968bc3-efae-487b-ac1d-2b080fef3e94', 'rel': 'bookmark'}]}]} GET: /v1/goals {} GOT:{'goals': [{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}]}]} GET: /v1/goals?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/scoring_engines/detail {} GOT:{'scoring_engines': [{'uuid': 'e8370ede-4f39-11e6-9ffa-08002722cb21', 'name': 'test-se-01', 'description': 'test scoring engine 01', 'metainfo': 'test_attr=test_val', 'links': [{'href': 'http://localhost/v1/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines/1/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/scoring_engines/test-se-01 {} GOT:{'uuid': 'e8370ede-4f39-11e6-9ffa-08002722cb21', 'name': 'test-se-01', 'description': 'test scoring engine 01', 'metainfo': 'test_attr=test_val', 'links': [{'href': 'http://localhost/v1/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'bookmark'}]} GET: /v1/scoring_engines/test-se-01 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ScoringEngine test-se-01 could not be found\", \"debuginfo\": null}"} GET: /v1/scoring_engines/?limit=2 {} GOT:{'scoring_engines': [{'uuid': '232a0a3a-6697-4cc3-8ff8-d0f843ca1851', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/232a0a3a-6697-4cc3-8ff8-d0f843ca1851', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/232a0a3a-6697-4cc3-8ff8-d0f843ca1851', 'rel': 'bookmark'}]}, {'uuid': '3ff08b14-68b1-48f8-b1f4-e1153df52a4b', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/3ff08b14-68b1-48f8-b1f4-e1153df52a4b', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/3ff08b14-68b1-48f8-b1f4-e1153df52a4b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/scoring_engines?sort_key=id&sort_dir=asc&limit=2&marker=3ff08b14-68b1-48f8-b1f4-e1153df52a4b'} GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': '18807e4e-eeed-47d8-b2c2-ad92a5055a7e', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/18807e4e-eeed-47d8-b2c2-ad92a5055a7e', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/18807e4e-eeed-47d8-b2c2-ad92a5055a7e', 'rel': 'bookmark'}]}, {'uuid': 'e7e26fde-6200-4f4b-b92f-ce020ffd44eb', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/e7e26fde-6200-4f4b-b92f-ce020ffd44eb', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e7e26fde-6200-4f4b-b92f-ce020ffd44eb', 'rel': 'bookmark'}]}, {'uuid': 'fc1e4482-e165-45b0-9e3b-729edcdc6593', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/fc1e4482-e165-45b0-9e3b-729edcdc6593', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/fc1e4482-e165-45b0-9e3b-729edcdc6593', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/scoring_engines?sort_key=id&sort_dir=asc&limit=3&marker=fc1e4482-e165-45b0-9e3b-729edcdc6593'}watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_scoring_engines_collection_links_default_limit watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_scoring_engines_collection_links_default_limit ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_sort_key_validation watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_sort_key_validation ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcement.test_policy_disallow_get_all ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_by_name watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_by_name ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_many_with_sort_key_uuid watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_many_with_sort_key_uuid ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_one watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_one ... ok POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': '50c6b4f2-a9e9-4184-9d35-cb17349bc873', 'strategy': '36a07f9d-456e-4f87-b54e-f20e4478cbc2'} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit_template:create to be performed.\", \"debuginfo\": null}"} GET: /v1/audit_templates/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit_template:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/audit_templates/detail {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'e5739c71-4ed9-4532-97c5-b57299ea817f', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:20:57.590189+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/audit_templates/detail {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '2f28bffb-7d4d-4344-8ce8-f7b8e11c5dc3', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:20:59.073291+00:00', 'deleted_at': '2021-02-17T17:20:59.205894+00:00', 'updated_at': '2021-02-17T17:20:59.222409+00:00'}]} GET: /v1/audit_templates/detail {} GOT:{'audit_templates': []} GET: /v1/audit_templates {} GOT:{'audit_templates': []} GET: /v1/audit_templates?goal=dummy_2 {} GOT:{'audit_templates': [{'uuid': 'cee7245f-7fac-4dd1-b40d-95ead7563130', 'name': 'My Audit Template 4', 'goal_uuid': '8499b6dd-1076-485c-912f-02c3fcd61d6a', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/cee7245f-7fac-4dd1-b40d-95ead7563130', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/cee7245f-7fac-4dd1-b40d-95ead7563130', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '324f659a-6c10-42b7-8a7b-0d60c18980d9', 'name': 'My Audit Template 5', 'goal_uuid': '8499b6dd-1076-485c-912f-02c3fcd61d6a', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/324f659a-6c10-42b7-8a7b-0d60c18980d9', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/324f659a-6c10-42b7-8a7b-0d60c18980d9', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?strategy=strategy_2 {} GOT:{'audit_templates': [{'uuid': '49425daa-0a14-48c7-8253-01c2b31f7e0f', 'name': 'My Audit Template 4', 'goal_uuid': '6c37ceb7-9805-4573-81e5-e64c1317d98d', 'goal_name': 'dummy_1', 'strategy_uuid': '2c1877f3-3238-47f2-b532-0178265de64e', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/49425daa-0a14-48c7-8253-01c2b31f7e0f', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/49425daa-0a14-48c7-8253-01c2b31f7e0f', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '871a12cf-d0e0-43aa-af38-85d21f3c786f', 'name': 'My Audit Template 5', 'goal_uuid': '6c37ceb7-9805-4573-81e5-e64c1317d98d', 'goal_name': 'dummy_1', 'strategy_uuid': '2c1877f3-3238-47f2-b532-0178265de64e', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/871a12cf-d0e0-43aa-af38-85d21f3c786f', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/871a12cf-d0e0-43aa-af38-85d21f3c786f', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?strategy=34dbaf0d-fe0d-4857-b314-53139686cdb6 {} GOT:{'audit_templates': [{'uuid': '4027aeff-cf06-4b0a-ace7-e07f767adb5d', 'name': 'My Audit Template 4', 'goal_uuid': 'd8a39c80-da8d-4ca0-b55d-f80c6fc5229a', 'goal_name': 'dummy_1', 'strategy_uuid': '34dbaf0d-fe0d-4857-b314-53139686cdb6', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/4027aeff-cf06-4b0a-ace7-e07f767adb5d', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/4027aeff-cf06-4b0a-ace7-e07f767adb5d', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '5f8cf84c-d9e0-467b-bce7-e580f503d215', 'name': 'My Audit Template 5', 'goal_uuid': 'd8a39c80-da8d-4ca0-b55d-f80c6fc5229a', 'goal_name': 'dummy_1', 'strategy_uuid': '34dbaf0d-fe0d-4857-b314-53139686cdb6', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/5f8cf84c-d9e0-467b-bce7-e580f503d215', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/5f8cf84c-d9e0-467b-bce7-e580f503d215', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates/My%20Audit%20Template {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'd65f3be4-d88c-4ac5-994b-b5cfcac28e19', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:10.344462+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'b637af05-4e36-48ee-8779-a1cfba16aa3c', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:11.825233+00:00', 'deleted_at': '2021-02-17T17:21:11.926737+00:00', 'updated_at': '2021-02-17T17:21:11.937106+00:00'} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"AuditTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found\", \"debuginfo\": null}"} GET: /v1/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677 {} GOT:{'uuid': 'bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'f991a4b6-f94c-4a32-a048-195cb9a8b40c', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:13.669659+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677 {} GOT:{'uuid': 'bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'f991a4b6-f94c-4a32-a048-195cb9a8b40c', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:13.669659+00:00', 'deleted_at': None, 'updated_at': None} GET: /audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677 {} GOT:{'uuid': 'bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'f991a4b6-f94c-4a32-a048-195cb9a8b40c', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/bda2df6f-3680-4762-acf1-8b1ee0b8d677', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:13.669659+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_links watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_links ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_scoring_engines_collection_links watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_scoring_engines_collection_links ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_scoring_engines_collection_links_default_limit watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_scoring_engines_collection_links_default_limit ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_with_sort_key_goal_name watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_many_with_sort_key_goal_name ... ok watcher.tests.api.v1.test_services.TestListService.test_detail_against_single watcher.tests.api.v1.test_services.TestListService.test_detail_against_single ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_one watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_one ... ok watcher.tests.api.v1.test_services.TestListService.test_get_one_soft_deleted watcher.tests.api.v1.test_services.TestListService.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_audit_templates.TestAuditTemplatePolicyWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_audit_templates.TestDelete.test_delete_audit_template_by_name watcher.tests.api.v1.test_audit_templates.TestDelete.test_delete_audit_template_by_name ... ok GET: /v1/goals?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/scoring_engines {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow scoring_engine:get_all to be performed.\", \"debuginfo\": null}"} GET: /v1/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21 {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow scoring_engine:get to be performed.\", \"debuginfo\": null}"} GET: /v1/scoring_engines/test-se-01 {} GOT:{'uuid': 'e8370ede-4f39-11e6-9ffa-08002722cb21', 'name': 'test-se-01', 'description': 'test scoring engine 01', 'metainfo': 'test_attr=test_val', 'links': [{'href': 'http://localhost/v1/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'bookmark'}]} GET: /v1/scoring_engines/test-se-01 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"ScoringEngine test-se-01 could not be found\", \"debuginfo\": null}"} GET: /v1/scoring_engines/?sort_key=uuid {} GOT:{'scoring_engines': [{'uuid': '45aee8cf-bdc1-40ee-9ac9-5df721db4102', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/45aee8cf-bdc1-40ee-9ac9-5df721db4102', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/45aee8cf-bdc1-40ee-9ac9-5df721db4102', 'rel': 'bookmark'}]}, {'uuid': '59661ab9-e0bc-4027-9a94-92b382c897aa', 'name': '5', 'description': 'SE_5', 'links': [{'href': 'http://localhost/v1/scoring_engines/59661ab9-e0bc-4027-9a94-92b382c897aa', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/59661ab9-e0bc-4027-9a94-92b382c897aa', 'rel': 'bookmark'}]}, {'uuid': 'af3d9fbc-7433-4318-ad29-6d3e61c0f280', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/af3d9fbc-7433-4318-ad29-6d3e61c0f280', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/af3d9fbc-7433-4318-ad29-6d3e61c0f280', 'rel': 'bookmark'}]}, {'uuid': 'b3674835-57c8-4450-b7a5-be5d18fab2ba', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/b3674835-57c8-4450-b7a5-be5d18fab2ba', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/b3674835-57c8-4450-b7a5-be5d18fab2ba', 'rel': 'bookmark'}]}, {'uuid': 'c3c63abd-af61-41eb-9c56-e84b5b63762a', 'name': '4', 'description': 'SE_4', 'links': [{'href': 'http://localhost/v1/scoring_engines/c3c63abd-af61-41eb-9c56-e84b5b63762a', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/c3c63abd-af61-41eb-9c56-e84b5b63762a', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': '21db9060-4268-4894-95fd-5b66e6184f4e', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/21db9060-4268-4894-95fd-5b66e6184f4e', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/21db9060-4268-4894-95fd-5b66e6184f4e', 'rel': 'bookmark'}]}, {'uuid': '8c780f25-12c0-4aa8-8425-a4fdce7c1fe4', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/8c780f25-12c0-4aa8-8425-a4fdce7c1fe4', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/8c780f25-12c0-4aa8-8425-a4fdce7c1fe4', 'rel': 'bookmark'}]}, {'uuid': '6baf33f0-26dd-4342-b1e8-8b31bf69c92c', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/6baf33f0-26dd-4342-b1e8-8b31bf69c92c', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/6baf33f0-26dd-4342-b1e8-8b31bf69c92c', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': 'e8370ede-4f39-11e6-9ffa-08002722cb21', 'name': 'test-se-01', 'description': 'test scoring engine 01', 'links': [{'href': 'http://localhost/v1/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines/?limit=2 {} GOT:{'scoring_engines': [{'uuid': '6e320843-0dd4-4438-a5a3-0502cabf91df', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/6e320843-0dd4-4438-a5a3-0502cabf91df', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/6e320843-0dd4-4438-a5a3-0502cabf91df', 'rel': 'bookmark'}]}, {'uuid': 'f3b608c7-fa93-4df7-8d88-c463a77445cd', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/f3b608c7-fa93-4df7-8d88-c463a77445cd', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/f3b608c7-fa93-4df7-8d88-c463a77445cd', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/scoring_engines?sort_key=id&sort_dir=asc&limit=2&marker=f3b608c7-fa93-4df7-8d88-c463a77445cd'} GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': '7c71f322-5daf-4a50-847e-0da8f916ca5f', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/7c71f322-5daf-4a50-847e-0da8f916ca5f', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/7c71f322-5daf-4a50-847e-0da8f916ca5f', 'rel': 'bookmark'}]}, {'uuid': 'a86a099f-a3a1-4b4b-8052-83a2efd3bcaa', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/a86a099f-a3a1-4b4b-8052-83a2efd3bcaa', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/a86a099f-a3a1-4b4b-8052-83a2efd3bcaa', 'rel': 'bookmark'}]}, {'uuid': '5756a34e-98cc-40ac-a5d7-0f850158cf60', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/5756a34e-98cc-40ac-a5d7-0f850158cf60', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/5756a34e-98cc-40ac-a5d7-0f850158cf60', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/scoring_engines?sort_key=id&sort_dir=asc&limit=3&marker=5756a34e-98cc-40ac-a5d7-0f850158cf60'} GET: /v1/services/1/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/services/1 {} GOT:{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:21:19.464388+00:00', 'updated_at': '2021-02-17T17:21:19.579555+00:00', 'deleted_at': '2021-02-17T17:21:19.557053+00:00'} GET: /v1/services/1 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The service 1 cannot be found.\", \"debuginfo\": null}"} GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER1', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER1', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER1', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}, {'id': 4, 'name': 'SERVICE_1', 'host': 'CONTROLLER2', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/4', 'rel': 'self'}, {'href': 'http://localhost/services/4', 'rel': 'bookmark'}]}, {'id': 5, 'name': 'SERVICE_2', 'host': 'CONTROLLER2', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/5', 'rel': 'self'}, {'href': 'http://localhost/services/5', 'rel': 'bookmark'}]}, {'id': 6, 'name': 'SERVICE_3', 'host': 'CONTROLLER2', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/6', 'rel': 'self'}, {'href': 'http://localhost/services/6', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_services.TestListService.test_many watcher.tests.api.v1.test_services.TestListService.test_many ... ok watcher.tests.api.v1.test_services.TestListService.test_one watcher.tests.api.v1.test_services.TestListService.test_one ... ok watcher.tests.api.v1.test_services.TestListService.test_services_collection_links watcher.tests.api.v1.test_services.TestListService.test_services_collection_links ... ok watcher.tests.api.v1.test_services.TestListService.test_sort_key_validation watcher.tests.api.v1.test_services.TestListService.test_sort_key_validation ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_collection_links watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_collection_links ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_detail watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_detail_against_single watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_detail_against_single ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_many watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_many ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_detail_soft_deleted watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_detail_soft_deleted ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_services_collection_links watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_services_collection_links ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_services_collection_links_default_limit watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_services_collection_links_default_limit ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_services.TestServicePolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_services.TestServicePolicyEnforcement.test_policy_disallow_get_all ... ok GET: /v1/audit_templates?sort_key=goal_name&sort_dir=asc {} GOT:{'audit_templates': [{'uuid': '43cca69d-fdba-4cbc-9bd2-1763083544d9', 'name': 'My Audit Template 3', 'goal_uuid': 'e5ea375c-095c-48e5-b4f5-899449ca8879', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/43cca69d-fdba-4cbc-9bd2-1763083544d9', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/43cca69d-fdba-4cbc-9bd2-1763083544d9', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '9e2dccc6-0679-4b74-8165-64724de9fd99', 'name': 'My Audit Template 1', 'goal_uuid': 'e5ea375c-095c-48e5-b4f5-899449ca8879', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9e2dccc6-0679-4b74-8165-64724de9fd99', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9e2dccc6-0679-4b74-8165-64724de9fd99', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'eafe67db-8d45-41d4-8c69-b20f34b95245', 'name': 'My Audit Template 2', 'goal_uuid': 'e5ea375c-095c-48e5-b4f5-899449ca8879', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/eafe67db-8d45-41d4-8c69-b20f34b95245', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/eafe67db-8d45-41d4-8c69-b20f34b95245', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '9296a6e2-ccca-4289-959a-32a1810f1451', 'name': 'My Audit Template 5', 'goal_uuid': 'e49ee2c1-094b-4069-bd25-261b690d0f6b', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9296a6e2-ccca-4289-959a-32a1810f1451', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9296a6e2-ccca-4289-959a-32a1810f1451', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'e43c931a-ed4a-4d4e-afff-329a1f989c56', 'name': 'My Audit Template 4', 'goal_uuid': 'e49ee2c1-094b-4069-bd25-261b690d0f6b', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e43c931a-ed4a-4d4e-afff-329a1f989c56', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e43c931a-ed4a-4d4e-afff-329a1f989c56', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?sort_key=goal_name&sort_dir=desc {} GOT:{'audit_templates': [{'uuid': 'e43c931a-ed4a-4d4e-afff-329a1f989c56', 'name': 'My Audit Template 4', 'goal_uuid': 'e49ee2c1-094b-4069-bd25-261b690d0f6b', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e43c931a-ed4a-4d4e-afff-329a1f989c56', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e43c931a-ed4a-4d4e-afff-329a1f989c56', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '9296a6e2-ccca-4289-959a-32a1810f1451', 'name': 'My Audit Template 5', 'goal_uuid': 'e49ee2c1-094b-4069-bd25-261b690d0f6b', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9296a6e2-ccca-4289-959a-32a1810f1451', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9296a6e2-ccca-4289-959a-32a1810f1451', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'eafe67db-8d45-41d4-8c69-b20f34b95245', 'name': 'My Audit Template 2', 'goal_uuid': 'e5ea375c-095c-48e5-b4f5-899449ca8879', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/eafe67db-8d45-41d4-8c69-b20f34b95245', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/eafe67db-8d45-41d4-8c69-b20f34b95245', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '9e2dccc6-0679-4b74-8165-64724de9fd99', 'name': 'My Audit Template 1', 'goal_uuid': 'e5ea375c-095c-48e5-b4f5-899449ca8879', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9e2dccc6-0679-4b74-8165-64724de9fd99', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9e2dccc6-0679-4b74-8165-64724de9fd99', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '43cca69d-fdba-4cbc-9bd2-1763083544d9', 'name': 'My Audit Template 3', 'goal_uuid': 'e5ea375c-095c-48e5-b4f5-899449ca8879', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/43cca69d-fdba-4cbc-9bd2-1763083544d9', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/43cca69d-fdba-4cbc-9bd2-1763083544d9', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'goal_uuid': 'd0ee64c9-1744-4d3b-93aa-b2aeb9ccc2a2', 'goal_name': 'dummy_1', 'strategy_uuid': '8f0cb49c-54b6-4820-af85-aa3d1420c4c1', 'strategy_name': 'strategy_1', 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates?sort_key=goal_bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: goal_bad_name\", \"debuginfo\": null}"} DELETE: /v1/audit_templates/My%20Audit%20Template GOT:Response: 204 No Content GET: /v1/audit_templates/My%20Audit%20Template {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"AuditTemplate My Audit Template could not be found\", \"debuginfo\": null}"} GET: /v1/audit_templates/?limit=3 {} GOT:{'audit_templates': [{'uuid': 'cf1ad034-9a75-464f-ab85-a749fff8dbd9', 'name': 'My Audit Template 0', 'goal_uuid': '184c0650-162a-4e9b-9d7f-e4037fcc2807', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/cf1ad034-9a75-464f-ab85-a749fff8dbd9', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/cf1ad034-9a75-464f-ab85-a749fff8dbd9', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '727206e3-e44b-47ae-b6e8-d2efab5d3bd4', 'name': 'My Audit Template 1', 'goal_uuid': '184c0650-162a-4e9b-9d7f-e4037fcc2807', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/727206e3-e44b-47ae-b6e8-d2efab5d3bd4', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/727206e3-e44b-47ae-b6e8-d2efab5d3bd4', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '031cad3b-1f70-48d3-b613-a05126b5db3e', 'name': 'My Audit Template 2', 'goal_uuid': '184c0650-162a-4e9b-9d7f-e4037fcc2807', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/031cad3b-1f70-48d3-b613-a05126b5db3e', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/031cad3b-1f70-48d3-b613-a05126b5db3e', 'rel': 'bookmark'}], 'scope': []}], 'next': 'http://localhost/v1/audit_templates?sort_key=id&sort_dir=asc&limit=3&marker=031cad3b-1f70-48d3-b613-a05126b5db3e'} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/audit_templates/detail {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'cbcb3f1c-8f08-4e32-97f7-c2c98b2fce58', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:27.652391+00:00', 'deleted_at': '2021-02-17T17:21:27.790431+00:00', 'updated_at': '2021-02-17T17:21:27.828030+00:00'}]} GET: /v1/audit_templates/detail {} GOT:{'audit_templates': []} GET: /v1/audit_templates?goal=dummy_2 {} GOT:{'audit_templates': [{'uuid': '5eddb91c-ac15-47a2-bda9-25aa8a07febc', 'name': 'My Audit Template 4', 'goal_uuid': '5f361872-5cc3-4aac-bde6-4ff9af998c85', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/5eddb91c-ac15-47a2-bda9-25aa8a07febc', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/5eddb91c-ac15-47a2-bda9-25aa8a07febc', 'rel': 'bookmark'}], 'scope': []}, {'uuid': 'f9eab95d-a6f5-48e7-95b9-65f8352949d9', 'name': 'My Audit Template 5', 'goal_uuid': '5f361872-5cc3-4aac-bde6-4ff9af998c85', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/f9eab95d-a6f5-48e7-95b9-65f8352949d9', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/f9eab95d-a6f5-48e7-95b9-65f8352949d9', 'rel': 'bookmark'}], 'scope': []}]}watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_goal_name watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_goal_name ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_detail watcher.tests.api.v1.test_strategies.TestListStrategy.test_detail ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_strategy_name watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_filter_by_strategy_name ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_by_uuid watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_by_uuid ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_filter_by_goal_name watcher.tests.api.v1.test_strategies.TestListStrategy.test_filter_by_goal_name ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_sort_key_validation watcher.tests.api.v1.test_strategies.TestListStrategy.test_sort_key_validation ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_soft_deleted watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_strategies_collection_links_default_limit watcher.tests.api.v1.test_strategies.TestListStrategy.test_strategies_collection_links_default_limit ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_soft_deleted_ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_get_one_soft_deleted_ok ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_detail watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_links watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_links ... ok GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}]} GET: /v1/services/?limit=2 {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/services?sort_key=id&sort_dir=asc&limit=2&marker=2'} GET: /v1/services?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/services/detail {} GOT:{'services': [{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:21:26.086241+00:00', 'updated_at': None, 'deleted_at': None}]} GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER1', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER1', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER1', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}, {'id': 4, 'name': 'SERVICE_1', 'host': 'CONTROLLER2', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/4', 'rel': 'self'}, {'href': 'http://localhost/services/4', 'rel': 'bookmark'}]}, {'id': 5, 'name': 'SERVICE_2', 'host': 'CONTROLLER2', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/5', 'rel': 'self'}, {'href': 'http://localhost/services/5', 'rel': 'bookmark'}]}, {'id': 6, 'name': 'SERVICE_3', 'host': 'CONTROLLER2', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/6', 'rel': 'self'}, {'href': 'http://localhost/services/6', 'rel': 'bookmark'}]}]} GET: /v1/services/?limit=2 {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/services?sort_key=id&sort_dir=asc&limit=2&marker=2'} GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/services?sort_key=id&sort_dir=asc&limit=3&marker=3'} GET: /v1/services?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/services {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow service:get_all to be performed.\", \"debuginfo\": null}"} GET: /v1/strategies/detail {} GOT:{'strategies': [{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '98eeffa9-b427-41d3-8b4b-b1d330b2ddad', 'goal_name': 'TEST', 'parameters_spec': {}}]} GET: /v1/strategies/?goal=My_Goal 1 {} GOT:{'strategies': [{'uuid': 'dc0c9a79-542c-4be6-863e-b4b8fb41ec7f', 'name': 'Goal 1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/dc0c9a79-542c-4be6-863e-b4b8fb41ec7f', 'rel': 'self'}, {'href': 'http://localhost/strategies/dc0c9a79-542c-4be6-863e-b4b8fb41ec7f', 'rel': 'bookmark'}], 'goal_uuid': 'a71a7736-0d2e-4385-b363-d90201b3835b', 'goal_name': 'My_Goal 1'}, {'uuid': '496c4b09-8c98-462b-a431-4b15a4b90e42', 'name': 'Goal 2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/496c4b09-8c98-462b-a431-4b15a4b90e42', 'rel': 'self'}, {'href': 'http://localhost/strategies/496c4b09-8c98-462b-a431-4b15a4b90e42', 'rel': 'bookmark'}], 'goal_uuid': 'a71a7736-0d2e-4385-b363-d90201b3835b', 'goal_name': 'My_Goal 1'}]} GET: /v1/strategies?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/strategies {} GOT:{'strategies': [{'uuid': '3cb93047-b1f3-4557-a96f-af73cb02b5b7', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/3cb93047-b1f3-4557-a96f-af73cb02b5b7', 'rel': 'self'}, {'href': 'http://localhost/strategies/3cb93047-b1f3-4557-a96f-af73cb02b5b7', 'rel': 'bookmark'}], 'goal_uuid': 'b32df42f-3007-402b-9c23-1efad012e57c', 'goal_name': 'TEST'}, {'uuid': '95d355a9-e36c-470a-9275-a089680f6a00', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/95d355a9-e36c-470a-9275-a089680f6a00', 'rel': 'self'}, {'href': 'http://localhost/strategies/95d355a9-e36c-470a-9275-a089680f6a00', 'rel': 'bookmark'}], 'goal_uuid': 'b32df42f-3007-402b-9c23-1efad012e57c', 'goal_name': 'TEST'}, {'uuid': 'ef2043ca-b1cb-4435-8d0a-31b5c51937df', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/ef2043ca-b1cb-4435-8d0a-31b5c51937df', 'rel': 'self'}, {'href': 'http://localhost/strategies/ef2043ca-b1cb-4435-8d0a-31b5c51937df', 'rel': 'bookmark'}], 'goal_uuid': 'b32df42f-3007-402b-9c23-1efad012e57c', 'goal_name': 'TEST'}], 'next': 'http://localhost/v1/strategies?sort_key=id&sort_dir=asc&limit=3&marker=ef2043ca-b1cb-4435-8d0a-31b5c51937df'} GET: /v1/strategies/detail {} GOT:{'strategies': [{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '47465154-b882-4a2e-99c5-2d9281dbe00c', 'goal_name': 'TEST', 'parameters_spec': {}}]} GET: /v1/strategies/?goal=My_Goal 1 {} GOT:{'strategies': [{'uuid': '6387009a-bd71-4500-bc23-7a0d8f956ccc', 'name': 'Goal 1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/6387009a-bd71-4500-bc23-7a0d8f956ccc', 'rel': 'self'}, {'href': 'http://localhost/strategies/6387009a-bd71-4500-bc23-7a0d8f956ccc', 'rel': 'bookmark'}], 'goal_uuid': '55478604-e357-4041-a83f-4de606ca5d8e', 'goal_name': 'My_Goal 1'}, {'uuid': 'fa1f6f97-510e-4008-832a-37a4f98c5b68', 'name': 'Goal 2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/fa1f6f97-510e-4008-832a-37a4f98c5b68', 'rel': 'self'}, {'href': 'http://localhost/strategies/fa1f6f97-510e-4008-832a-37a4f98c5b68', 'rel': 'bookmark'}], 'goal_uuid': '55478604-e357-4041-a83f-4de606ca5d8e', 'goal_name': 'My_Goal 1'}]}watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_filter_by_goal_name watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_filter_by_goal_name ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_many watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_many ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_with_soft_deleted watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_many_with_soft_deleted ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_one watcher.tests.api.v1.test_audit_templates.TestListAuditTemplate.test_one ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_strategies_collection_links watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_strategies_collection_links ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_add_non_existent_property watcher.tests.api.v1.test_audit_templates.TestPatch.test_add_non_existent_property ... ok watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_state watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_state ... ok watcher.tests.api.v1.test_types.TestBooleanType.test_valid_false_values watcher.tests.api.v1.test_types.TestBooleanType.test_valid_false_values ... ok GET: /v1/audit_templates?strategy=strategy_2 {} GOT:{'audit_templates': [{'uuid': 'a745c8be-b86e-40b8-9271-561636233d14', 'name': 'My Audit Template 4', 'goal_uuid': 'ca1c3815-3eea-4ee5-bd71-3794cebe0788', 'goal_name': 'dummy_1', 'strategy_uuid': '6a9cbea1-bff5-466d-bc06-f546aa4544c1', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/a745c8be-b86e-40b8-9271-561636233d14', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/a745c8be-b86e-40b8-9271-561636233d14', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '2462f288-21e4-4a54-9078-7c3eca852b64', 'name': 'My Audit Template 5', 'goal_uuid': 'ca1c3815-3eea-4ee5-bd71-3794cebe0788', 'goal_name': 'dummy_1', 'strategy_uuid': '6a9cbea1-bff5-466d-bc06-f546aa4544c1', 'strategy_name': 'strategy_2', 'links': [{'href': 'http://localhost/v1/audit_templates/2462f288-21e4-4a54-9078-7c3eca852b64', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/2462f288-21e4-4a54-9078-7c3eca852b64', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': 'b7832b70-7017-4ba8-a9a3-7ac39cdc19bf', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:34.973233+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '6cf49c12-416a-4520-b30b-6c69d05ca71b', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:36.424425+00:00', 'deleted_at': '2021-02-17T17:21:36.565759+00:00', 'updated_at': '2021-02-17T17:21:36.593089+00:00'} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"AuditTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found\", \"debuginfo\": null}"} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'goal_uuid': 'c1e05d98-0de4-44ee-87b9-acfaceac16cf', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates {} GOT:{'audit_templates': []} GET: /v1/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c {} GOT:{'uuid': '0a6431da-4149-48f3-8bf5-72a33cb9477c', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '77a80b9a-07ce-4f9f-8894-9203445d3184', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:40.165344+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c {} GOT:{'uuid': '0a6431da-4149-48f3-8bf5-72a33cb9477c', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '77a80b9a-07ce-4f9f-8894-9203445d3184', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:40.165344+00:00', 'deleted_at': None, 'updated_at': None} GET: /audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c {} GOT:{'uuid': '0a6431da-4149-48f3-8bf5-72a33cb9477c', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '77a80b9a-07ce-4f9f-8894-9203445d3184', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/0a6431da-4149-48f3-8bf5-72a33cb9477c', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:40.165344+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': '530554f4-237f-4bca-8217-375aede6bc81', 'name': 'My Audit Template 1', 'goal_uuid': '1485a72a-c7bd-44f0-9694-adc80b9bed8d', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/530554f4-237f-4bca-8217-375aede6bc81', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/530554f4-237f-4bca-8217-375aede6bc81', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '5ddb28d5-aed7-428f-8071-beb31e168c52', 'name': 'My Audit Template 2', 'goal_uuid': '1485a72a-c7bd-44f0-9694-adc80b9bed8d', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/5ddb28d5-aed7-428f-8071-beb31e168c52', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/5ddb28d5-aed7-428f-8071-beb31e168c52', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '65c2ca28-d885-4389-8ec1-707a06181e55', 'name': 'My Audit Template 3', 'goal_uuid': '1485a72a-c7bd-44f0-9694-adc80b9bed8d', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/65c2ca28-d885-4389-8ec1-707a06181e55', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/65c2ca28-d885-4389-8ec1-707a06181e55', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '30dfb432-50bf-4969-9681-92c48e94e2f2', 'name': 'My Audit Template 4', 'goal_uuid': '1485a72a-c7bd-44f0-9694-adc80b9bed8d', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/30dfb432-50bf-4969-9681-92c48e94e2f2', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/30dfb432-50bf-4969-9681-92c48e94e2f2', 'rel': 'bookmark'}], 'scope': []}, {'uuid': '9afb4a18-0b3a-4260-8079-4839ab0964ef', 'name': 'My Audit Template 5', 'goal_uuid': '1485a72a-c7bd-44f0-9694-adc80b9bed8d', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/9afb4a18-0b3a-4260-8079-4839ab0964ef', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/9afb4a18-0b3a-4260-8079-4839ab0964ef', 'rel': 'bookmark'}], 'scope': []}]} GET: /v1/audit_templates {} GOT:{'audit_templates': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'goal_uuid': 'b737ee5e-cdbc-4c52-837c-2e23f73d306b', 'goal_name': 'dummy_1', 'strategy_uuid': 'a7a9c41b-942f-4844-9d7f-b96ea459d0ce', 'strategy_name': 'strategy_1', 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': []}]} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/strategy', 'value': 'c2f8e891-4c98-4758-92a6-1d5555875fd2', 'op': 'add'}]watcher.tests.api.v1.test_audit_templates.TestPatch.test_add_strategy_uuid watcher.tests.api.v1.test_audit_templates.TestPatch.test_add_strategy_uuid ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_goal watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_goal ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_non_existent_property watcher.tests.api.v1.test_audit_templates.TestPatch.test_remove_non_existent_property ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_mandatory_attr watcher.tests.api.v1.test_types.TestJsonPatchType.test_mandatory_attr ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_path watcher.tests.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_valid_patches watcher.tests.api.v1.test_types.TestJsonPatchType.test_valid_patches ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_goal_uuid_by_name watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_goal_uuid_by_name ... ok watcher.tests.api.v1.test_types.TestJsonType.test_apimultitype_tostring watcher.tests.api.v1.test_types.TestJsonType.test_apimultitype_tostring ... ok watcher.tests.api.v1.test_types.TestJsonType.test_invalid_values watcher.tests.api.v1.test_types.TestJsonType.test_invalid_values ... ok watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_invalid_goal watcher.tests.api.v1.test_audit_templates.TestPatch.test_replace_invalid_goal ... ok watcher.tests.api.v1.test_types.TestNameType.test_invalid_name watcher.tests.api.v1.test_types.TestNameType.test_invalid_name ... ok watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_invalid_goal watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_invalid_goal ... ok watcher.tests.api.v1.test_types.TestUuidOrNameType.test_valid_uuid watcher.tests.api.v1.test_types.TestUuidOrNameType.test_valid_uuid ... ok watcher.tests.api.v1.test_types.TestUuidType.test_invalid_uuid watcher.tests.api.v1.test_types.TestUuidType.test_invalid_uuid ... ok watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_invalid_strategy watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_invalid_strategy ... ok watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_limit watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_limit ... ok watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_uuid watcher.tests.api.v1.test_audit_templates.TestPost.test_create_audit_template_with_uuid ... ok watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_search_filters_with_invalid_key watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_search_filters_with_invalid_key ... ok watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_sort_dir watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning GET: /v1/strategies {} GOT:{'strategies': [{'uuid': 'e8dfa9bc-44f0-476e-8ef3-c564960b289d', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/e8dfa9bc-44f0-476e-8ef3-c564960b289d', 'rel': 'self'}, {'href': 'http://localhost/strategies/e8dfa9bc-44f0-476e-8ef3-c564960b289d', 'rel': 'bookmark'}], 'goal_uuid': 'be931401-34fe-4203-9d6a-365dd73e2085', 'goal_name': 'TEST'}, {'uuid': 'c8e12a6d-0429-4d7b-a611-4b23d3e63594', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/c8e12a6d-0429-4d7b-a611-4b23d3e63594', 'rel': 'self'}, {'href': 'http://localhost/strategies/c8e12a6d-0429-4d7b-a611-4b23d3e63594', 'rel': 'bookmark'}], 'goal_uuid': 'be931401-34fe-4203-9d6a-365dd73e2085', 'goal_name': 'TEST'}, {'uuid': '53731113-47d3-42bd-b49e-b5c6e5d68c03', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/53731113-47d3-42bd-b49e-b5c6e5d68c03', 'rel': 'self'}, {'href': 'http://localhost/strategies/53731113-47d3-42bd-b49e-b5c6e5d68c03', 'rel': 'bookmark'}], 'goal_uuid': 'be931401-34fe-4203-9d6a-365dd73e2085', 'goal_name': 'TEST'}, {'uuid': 'f134a033-7284-4f73-a1bf-0a171649f973', 'name': 'STRATEGY_4', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/f134a033-7284-4f73-a1bf-0a171649f973', 'rel': 'self'}, {'href': 'http://localhost/strategies/f134a033-7284-4f73-a1bf-0a171649f973', 'rel': 'bookmark'}], 'goal_uuid': 'be931401-34fe-4203-9d6a-365dd73e2085', 'goal_name': 'TEST'}, {'uuid': 'e0847922-0d1e-4e0c-9e98-0bb86a955aab', 'name': 'STRATEGY_5', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/e0847922-0d1e-4e0c-9e98-0bb86a955aab', 'rel': 'self'}, {'href': 'http://localhost/strategies/e0847922-0d1e-4e0c-9e98-0bb86a955aab', 'rel': 'bookmark'}], 'goal_uuid': 'be931401-34fe-4203-9d6a-365dd73e2085', 'goal_name': 'TEST'}]} GET: /v1/strategies {} GOT:{'strategies': [{'uuid': '9ae13488-329d-4da6-b405-1c1dc3bf49ad', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/9ae13488-329d-4da6-b405-1c1dc3bf49ad', 'rel': 'self'}, {'href': 'http://localhost/strategies/9ae13488-329d-4da6-b405-1c1dc3bf49ad', 'rel': 'bookmark'}], 'goal_uuid': '060cc778-9c44-4b22-abe6-6ea1f5786c2b', 'goal_name': 'TEST'}, {'uuid': '91de560f-76cd-401a-8ff8-2fe40f9bf396', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/91de560f-76cd-401a-8ff8-2fe40f9bf396', 'rel': 'self'}, {'href': 'http://localhost/strategies/91de560f-76cd-401a-8ff8-2fe40f9bf396', 'rel': 'bookmark'}], 'goal_uuid': '060cc778-9c44-4b22-abe6-6ea1f5786c2b', 'goal_name': 'TEST'}, {'uuid': '108fd4b5-570e-4d10-ae6a-7459d917eee6', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/108fd4b5-570e-4d10-ae6a-7459d917eee6', 'rel': 'self'}, {'href': 'http://localhost/strategies/108fd4b5-570e-4d10-ae6a-7459d917eee6', 'rel': 'bookmark'}], 'goal_uuid': '060cc778-9c44-4b22-abe6-6ea1f5786c2b', 'goal_name': 'TEST'}]} GET: /v1/strategies/?limit=2 {} GOT:{'strategies': [{'uuid': '1e4e237b-9f72-4da0-8de3-bef4b263ee33', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/1e4e237b-9f72-4da0-8de3-bef4b263ee33', 'rel': 'self'}, {'href': 'http://localhost/strategies/1e4e237b-9f72-4da0-8de3-bef4b263ee33', 'rel': 'bookmark'}], 'goal_uuid': 'ee2c3673-a742-4946-9482-87bed6a68349', 'goal_name': 'TEST'}, {'uuid': '03561636-bdce-4521-9f3b-bf7306d55f62', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/03561636-bdce-4521-9f3b-bf7306d55f62', 'rel': 'self'}, {'href': 'http://localhost/strategies/03561636-bdce-4521-9f3b-bf7306d55f62', 'rel': 'bookmark'}], 'goal_uuid': 'ee2c3673-a742-4946-9482-87bed6a68349', 'goal_name': 'TEST'}], 'next': 'http://localhost/v1/strategies?sort_key=id&sort_dir=asc&limit=2&marker=03561636-bdce-4521-9f3b-bf7306d55f62'} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3 {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow strategy:get to be performed.\", \"debuginfo\": null}"} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3/state {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow strategy:state to be performed.\", \"debuginfo\": null}"} GOT:Response: 200 OK Content-Type: application/json {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "3fe7ecd2-cc5f-4542-8bdc-a380f4adc752", "goal_name": "dummy_1", "strategy_uuid": "c2f8e891-4c98-4758-92a6-1d5555875fd2", "strategy_name": "strategy_1", "links": [{"href": "http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:21:48.947394+00:00", "deleted_at": null, "updated_at": "2021-02-17T17:21:49.770280+00:00"} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '3fe7ecd2-cc5f-4542-8bdc-a380f4adc752', 'goal_name': 'dummy_1', 'strategy_uuid': 'c2f8e891-4c98-4758-92a6-1d5555875fd2', 'strategy_name': 'strategy_1', 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:48.947394+00:00', 'deleted_at': None, 'updated_at': '2021-02-17T17:21:49.770280+00:00'} GET: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '38248c35-79ca-452a-ad0b-94eafc6d0ee3', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:51.640365+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/goal', 'op': 'remove'}] GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot remove 'goal' attribute from an audit template\", \"debuginfo\": null}"} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} GET: /v1/audit_templates/My%20Audit%20Template {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '809c4d79-a5b5-4579-a4fe-1841f9bf403f', 'goal_name': 'dummy_1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:54.960774+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audit_templates/My Audit Template [{'path': '/goal', 'value': '91e667a6-b6f4-411d-9bf8-397db76c0aec', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "My Audit Template", "description": "Desc. Of My Audit Template", "goal_uuid": "91e667a6-b6f4-411d-9bf8-397db76c0aec", "goal_name": "dummy_2", "strategy_uuid": null, "strategy_name": null, "links": [{"href": "http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "scope": [], "created_at": "2021-02-17T17:21:54.960774+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audit_templates/My Audit Template {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'goal_uuid': '91e667a6-b6f4-411d-9bf8-397db76c0aec', 'goal_name': 'dummy_2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'scope': [], 'created_at': '2021-02-17T17:21:54.960774+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/audit_templates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/goal', 'value': 'd7d7bee9-68ad-4a76-8023-b9580fd1c3a1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute patch. Value: '[{'path': '/goal', 'value': 'd7d7bee9-68ad-4a76-8023-b9580fd1c3a1', 'op': 'replace'}]'. Goal d7d7bee9-68ad-4a76-8023-b9580fd1c3a1 is invalid\", \"debuginfo\": null}"} POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'cb3d0b58-4415-4d90-b75b-1e96878730e3'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute audit_template_postdata. Value: '{'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'cb3d0b58-4415-4d90-b75b-1e96878730e3'}'. Goal f7ad87ae-4298-91cf-93a0-f35a852e3652 is invalid\", \"debuginfo\": null}"} POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'cb3d0b58-4415-4d90-b75b-1e96878730e3'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute audit_template_postdata. Value: '{'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'cb3d0b58-4415-4d90-b75b-1e96878730e3'}'. Goal f7ad87ae-4298-91cf-93a0-f35a852e3652 is invalid\", \"debuginfo\": null}"} POST: /v1/audit_templates {'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'cb3d0b58-4415-4d90-b75b-1e96878730e3'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute audit_template_postdata. Value: '{'name': 'My Audit Template', 'description': 'Desc. Of My Audit Template', 'scope': [], 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': 'cb3d0b58-4415-4d90-b75b-1e96878730e3'}'. Goal f7ad87ae-4298-91cf-93a0-f35a852e3652 is invalid\", \"debuginfo\": null}"} GET: /v1/audits {} GOT:{'audits': [{'uuid': '0caf3f6c-ecbb-4890-ad09-7d7d6a8c10e6', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/0caf3f6c-ecbb-4890-ad09-7d7d6a8c10e6', 'rel': 'self'}, {'href': 'http://localhost/audits/0caf3f6c-ecbb-4890-ad09-7d7d6a8c10e6', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '9fc16572-70f1-47ec-839a-64d93665981c', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/9fc16572-70f1-47ec-839a-64d93665981c', 'rel': 'self'}, {'href': 'http://localhost/audits/9fc16572-70f1-47ec-839a-64d93665981c', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '87f9c267-7fa1-4f5f-852b-7649d1bc521f', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/87f9c267-7fa1-4f5f-852b-7649d1bc521f', 'rel': 'self'}, {'href': 'http://localhost/audits/87f9c267-7fa1-4f5f-852b-7649d1bc521f', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}], 'next': 'http://localhost/v1/audits?sort_key=id&sort_dir=asc&limit=3&marker=87f9c267-7fa1-4f5f-852b-7649d1bc521f'}watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_collection_links_default_limit watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_collection_links_default_limit ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_detail watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_detail_against_single ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_detail_soft_deleted watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_detail_soft_deleted ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_empty watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_empty ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_links watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_links ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many_with_sort_key_goal_uuid watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many_with_sort_key_goal_uuid ... ok GET: /v1/audits/detail {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:05.580349+00:00', 'deleted_at': None, 'updated_at': None}]} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/audits/detail {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:08.515924+00:00', 'deleted_at': '2021-02-17T17:22:08.871088+00:00', 'updated_at': '2021-02-17T17:22:08.885656+00:00'}]} GET: /v1/audits/detail {} GOT:{'audits': []} GET: /v1/audits {} GOT:{'audits': []} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:11.335693+00:00', 'deleted_at': '2021-02-17T17:22:11.569261+00:00', 'updated_at': '2021-02-17T17:22:11.587657+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Audit 10a47dd1-4874-4298-91cf-eff046dbdb8d could not be found\", \"debuginfo\": null}"} GET: /v1/audits/656989dc-421c-4eb6-ad53-0f702ddad5af {} GOT:{'uuid': '656989dc-421c-4eb6-ad53-0f702ddad5af', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/656989dc-421c-4eb6-ad53-0f702ddad5af', 'rel': 'self'}, {'href': 'http://localhost/audits/656989dc-421c-4eb6-ad53-0f702ddad5af', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:12.808198+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/656989dc-421c-4eb6-ad53-0f702ddad5af {} GOT:{'uuid': '656989dc-421c-4eb6-ad53-0f702ddad5af', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/656989dc-421c-4eb6-ad53-0f702ddad5af', 'rel': 'self'}, {'href': 'http://localhost/audits/656989dc-421c-4eb6-ad53-0f702ddad5af', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:12.808198+00:00', 'deleted_at': None, 'updated_at': None} GET: /audits/656989dc-421c-4eb6-ad53-0f702ddad5af {} GOT:{'uuid': '656989dc-421c-4eb6-ad53-0f702ddad5af', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/656989dc-421c-4eb6-ad53-0f702ddad5af', 'rel': 'self'}, {'href': 'http://localhost/audits/656989dc-421c-4eb6-ad53-0f702ddad5af', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:12.808198+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/?sort_key=goal_uuid {} GOT:{'audits': [{'uuid': 'c493c256-b6da-47d4-8095-23d15c854de3', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '39ad4a25-ce0b-4f58-9c8e-2d87077ed91c', 'goal_name': 'gl2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/c493c256-b6da-47d4-8095-23d15c854de3', 'rel': 'self'}, {'href': 'http://localhost/audits/c493c256-b6da-47d4-8095-23d15c854de3', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'f5b333ad-9aa6-435c-b4e1-40c9995d9abd', 'name': 'My Audit 4', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '3af90755-1345-4fe7-9f12-9fdfbcffba69', 'goal_name': 'gl4', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/f5b333ad-9aa6-435c-b4e1-40c9995d9abd', 'rel': 'self'}, {'href': 'http://localhost/audits/f5b333ad-9aa6-435c-b4e1-40c9995d9abd', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'b13f70c2-c8dd-45e7-8e04-b19917bbb97e', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '63aa9744-fdb4-473c-993c-d5a8f2961c3a', 'goal_name': 'gl1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/b13f70c2-c8dd-45e7-8e04-b19917bbb97e', 'rel': 'self'}, {'href': 'http://localhost/audits/b13f70c2-c8dd-45e7-8e04-b19917bbb97e', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '57510c60-3b94-43bf-97dd-50b73262c599', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '836ab902-bd42-4a1f-8148-58f1d74d268e', 'goal_name': 'gl3', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/57510c60-3b94-43bf-97dd-50b73262c599', 'rel': 'self'}, {'href': 'http://localhost/audits/57510c60-3b94-43bf-97dd-50b73262c599', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '3c0a0edf-1d04-4298-aaa3-df5259d10e16', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '982ff5b0-d174-485e-b820-5789cdfe4779', 'goal_name': 'gl0', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/3c0a0edf-1d04-4298-aaa3-df5259d10e16', 'rel': 'self'}, {'href': 'http://localhost/audits/3c0a0edf-1d04-4298-aaa3-df5259d10e16', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits {} GOT:{'audits': [{'uuid': 'f8fb63e8-c3ab-4d1e-971b-41b0d67568b9', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/f8fb63e8-c3ab-4d1e-971b-41b0d67568b9', 'rel': 'self'}, {'href': 'http://localhost/audits/f8fb63e8-c3ab-4d1e-971b-41b0d67568b9', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'd824e1b7-5e0c-4dbb-a7be-ff44f1dbf0a9', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/d824e1b7-5e0c-4dbb-a7be-ff44f1dbf0a9', 'rel': 'self'}, {'href': 'http://localhost/audits/d824e1b7-5e0c-4dbb-a7be-ff44f1dbf0a9', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'bfebeec3-cbc6-4306-9ebc-c3711b9e4653', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/bfebeec3-cbc6-4306-9ebc-c3711b9e4653', 'rel': 'self'}, {'href': 'http://localhost/audits/bfebeec3-cbc6-4306-9ebc-c3711b9e4653', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]}watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_one watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_one ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_one_soft_deleted watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_one_soft_deleted ... ok watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_audits.TestAuditEnforcementWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_delete watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_delete ... ok watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_audits.TestAuditPolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_audits.TestDelete.test_delete_audit watcher.tests.api.v1.test_audits.TestDelete.test_delete_audit ... ok watcher.tests.api.v1.test_audits.TestDelete.test_delete_audit_not_found watcher.tests.api.v1.test_audits.TestDelete.test_delete_audit_not_found ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_collection_links watcher.tests.api.v1.test_audits.TestListAudit.test_collection_links ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_get_one watcher.tests.api.v1.test_audits.TestListAudit.test_get_one ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_get_one_soft_deleted watcher.tests.api.v1.test_audits.TestListAudit.test_get_one_soft_deleted ... ok GET: /v1/audits {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits {} GOT:{'audits': [{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits {} GOT:{'audits': []} GET: /v1/audits?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} DELETE: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit:delete to be performed.\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow audit:get to be performed.\", \"debuginfo\": null}"} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "ONGOING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:22:24.894180+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} DELETE: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't delete when state is 'ONGOING'.\", \"debuginfo\": null}"} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "CANCELLED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:22:24.894180+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} DELETE: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d GOT:Response: 204 No Content GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Audit 10a47dd1-4874-4298-91cf-eff046dbdb8d could not be found\", \"debuginfo\": null}"} DELETE: /v1/audits/ef3c33cb-4126-4549-a91e-6ff42a20adb6 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Audit ef3c33cb-4126-4549-a91e-6ff42a20adb6 could not be found\", \"debuginfo\": null}"} GET: /v1/audits/?limit=3 {} GOT:{'audits': [{'uuid': '49c32757-967a-4dff-81da-d7fed57e1ea9', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/49c32757-967a-4dff-81da-d7fed57e1ea9', 'rel': 'self'}, {'href': 'http://localhost/audits/49c32757-967a-4dff-81da-d7fed57e1ea9', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '3610275b-44f0-42e4-91f9-7513cf4fe905', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/3610275b-44f0-42e4-91f9-7513cf4fe905', 'rel': 'self'}, {'href': 'http://localhost/audits/3610275b-44f0-42e4-91f9-7513cf4fe905', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '97b18b8a-aeb5-4d7d-86c5-57457003d7c2', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/97b18b8a-aeb5-4d7d-86c5-57457003d7c2', 'rel': 'self'}, {'href': 'http://localhost/audits/97b18b8a-aeb5-4d7d-86c5-57457003d7c2', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}], 'next': 'http://localhost/v1/audits?sort_key=id&sort_dir=asc&limit=3&marker=97b18b8a-aeb5-4d7d-86c5-57457003d7c2'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:30.869771+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:32.014165+00:00', 'deleted_at': '2021-02-17T17:22:32.257363+00:00', 'updated_at': '2021-02-17T17:22:32.276333+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Audit 10a47dd1-4874-4298-91cf-eff046dbdb8d could not be found\", \"debuginfo\": null}"} GET: /v1/audits/4df655d1-c374-478b-ab16-19cc04505e27 {} GOT:{'uuid': '4df655d1-c374-478b-ab16-19cc04505e27', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/4df655d1-c374-478b-ab16-19cc04505e27', 'rel': 'self'}, {'href': 'http://localhost/audits/4df655d1-c374-478b-ab16-19cc04505e27', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:33.542823+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_audits.TestListAudit.test_links watcher.tests.api.v1.test_audits.TestListAudit.test_links ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_many_with_soft_deleted watcher.tests.api.v1.test_audits.TestListAudit.test_many_with_soft_deleted ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_many_with_sort_key_goal_uuid watcher.tests.api.v1.test_audits.TestListAudit.test_many_with_sort_key_goal_uuid ... ok watcher.tests.api.v1.test_audits.TestListAudit.test_many_without_soft_deleted watcher.tests.api.v1.test_audits.TestListAudit.test_many_without_soft_deleted ... ok GET: /v1/audits/4df655d1-c374-478b-ab16-19cc04505e27 {} GOT:{'uuid': '4df655d1-c374-478b-ab16-19cc04505e27', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/4df655d1-c374-478b-ab16-19cc04505e27', 'rel': 'self'}, {'href': 'http://localhost/audits/4df655d1-c374-478b-ab16-19cc04505e27', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:33.542823+00:00', 'deleted_at': None, 'updated_at': None} GET: /audits/4df655d1-c374-478b-ab16-19cc04505e27 {} GOT:{'uuid': '4df655d1-c374-478b-ab16-19cc04505e27', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/4df655d1-c374-478b-ab16-19cc04505e27', 'rel': 'self'}, {'href': 'http://localhost/audits/4df655d1-c374-478b-ab16-19cc04505e27', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:33.542823+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits {} GOT:{'audits': [{'uuid': '4297b59f-ee15-4746-94f8-228cee6d5617', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/4297b59f-ee15-4746-94f8-228cee6d5617', 'rel': 'self'}, {'href': 'http://localhost/audits/4297b59f-ee15-4746-94f8-228cee6d5617', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '43bbc746-8b10-450b-849e-b20062d8f80f', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/43bbc746-8b10-450b-849e-b20062d8f80f', 'rel': 'self'}, {'href': 'http://localhost/audits/43bbc746-8b10-450b-849e-b20062d8f80f', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '0b07d45d-08d8-4904-9042-9bb6bc6132f4', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/0b07d45d-08d8-4904-9042-9bb6bc6132f4', 'rel': 'self'}, {'href': 'http://localhost/audits/0b07d45d-08d8-4904-9042-9bb6bc6132f4', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'adc4f5e0-3530-468f-8270-c4f4dbd655c9', 'name': 'My Audit 4', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/adc4f5e0-3530-468f-8270-c4f4dbd655c9', 'rel': 'self'}, {'href': 'http://localhost/audits/adc4f5e0-3530-468f-8270-c4f4dbd655c9', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '3461a5f0-1caa-4a05-8758-e88fa4df0617', 'name': 'My Audit 5', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/3461a5f0-1caa-4a05-8758-e88fa4df0617', 'rel': 'self'}, {'href': 'http://localhost/audits/3461a5f0-1caa-4a05-8758-e88fa4df0617', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits/?sort_key=goal_uuid {} GOT:{'audits': [{'uuid': '79d5ea8c-518d-4090-82ab-f44d0cfdf885', 'name': 'My Audit 0', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '36a83c49-a6df-42e1-8e76-7b765a8761d4', 'goal_name': 'gl0', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/79d5ea8c-518d-4090-82ab-f44d0cfdf885', 'rel': 'self'}, {'href': 'http://localhost/audits/79d5ea8c-518d-4090-82ab-f44d0cfdf885', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '9d1b60f6-c7b5-40bc-964a-8cdc7ee114fa', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '444415c3-b9fd-46a6-bbe4-dcfc954bf78c', 'goal_name': 'gl2', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/9d1b60f6-c7b5-40bc-964a-8cdc7ee114fa', 'rel': 'self'}, {'href': 'http://localhost/audits/9d1b60f6-c7b5-40bc-964a-8cdc7ee114fa', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'e88ff2be-e983-4918-bb27-b38e4029bbe0', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': '86f676bf-28a0-48a3-b47b-8fb196d8fd76', 'goal_name': 'gl3', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/e88ff2be-e983-4918-bb27-b38e4029bbe0', 'rel': 'self'}, {'href': 'http://localhost/audits/e88ff2be-e983-4918-bb27-b38e4029bbe0', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '399c7ac9-5535-43a2-a9b3-40484b4014f5', 'name': 'My Audit 4', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'be386146-853b-4ae4-b619-0beb9d0ba131', 'goal_name': 'gl4', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/399c7ac9-5535-43a2-a9b3-40484b4014f5', 'rel': 'self'}, {'href': 'http://localhost/audits/399c7ac9-5535-43a2-a9b3-40484b4014f5', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '9e270690-4527-4f2c-8c0b-b23a0056f31a', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'fc50a8ff-8e8f-452c-ba6a-74fe02db0165', 'goal_name': 'gl1', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/9e270690-4527-4f2c-8c0b-b23a0056f31a', 'rel': 'self'}, {'href': 'http://localhost/audits/9e270690-4527-4f2c-8c0b-b23a0056f31a', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits {} GOT:{'audits': [{'uuid': '3b5c4c8b-d64f-4f02-a137-cc115064d3cf', 'name': 'My Audit 1', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/3b5c4c8b-d64f-4f02-a137-cc115064d3cf', 'rel': 'self'}, {'href': 'http://localhost/audits/3b5c4c8b-d64f-4f02-a137-cc115064d3cf', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': '8c17be93-0d18-4043-a0fa-51a24e67a54b', 'name': 'My Audit 2', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/8c17be93-0d18-4043-a0fa-51a24e67a54b', 'rel': 'self'}, {'href': 'http://localhost/audits/8c17be93-0d18-4043-a0fa-51a24e67a54b', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}, {'uuid': 'a0e7cc52-7243-40b6-acb0-f082b4a7e7e1', 'name': 'My Audit 3', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'links': [{'href': 'http://localhost/v1/audits/a0e7cc52-7243-40b6-acb0-f082b4a7e7e1', 'rel': 'self'}, {'href': 'http://localhost/audits/a0e7cc52-7243-40b6-acb0-f082b4a7e7e1', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None}]} GET: /v1/audits?sort_key=bad_name {}watcher.tests.api.v1.test_audits.TestListAudit.test_sort_key_validation watcher.tests.api.v1.test_audits.TestListAudit.test_sort_key_validation ... ok watcher.tests.api.v1.test_audits.TestPatch.test_add_non_existent_property watcher.tests.api.v1.test_audits.TestPatch.test_add_non_existent_property ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning watcher.tests.api.v1.test_audits.TestPatch.test_remove_uuid watcher.tests.api.v1.test_audits.TestPatch.test_remove_uuid ... ok watcher.tests.api.v1.test_audits.TestPatch.test_replace_non_existent_audit watcher.tests.api.v1.test_audits.TestPatch.test_replace_non_existent_audit ... ok watcher.tests.api.v1.test_audits.TestPatch.test_replace_ok watcher.tests.api.v1.test_audits.TestPatch.test_replace_ok ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(ONGOING -> DELETED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(ONGOING -> DELETED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(ONGOING -> PENDING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(ONGOING -> PENDING) ... ok GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/audits/77598cf6-c0c4-4777-818c-8cc0b99b57cd [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Audit 77598cf6-c0c4-4777-818c-8cc0b99b57cd could not be found\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:47.218936+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "CANCELLED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:22:47.218936+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:47.218936+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:49.191762+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (ONGOING -> DELETED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:49.191762+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:50.880933+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (ONGOING -> PENDING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:50.880933+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:52.549847+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (SUCCEEDED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:52.549847+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> ONGOING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> ONGOING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> FAILED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> FAILED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> CANCELLED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> CANCELLED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> PENDING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> PENDING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> SUSPENDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUCCEEDED -> SUSPENDED) ... ok GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:54.487449+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (SUCCEEDED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:54.487449+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:56.321812+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (SUCCEEDED -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:56.321812+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:58.100466+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (SUCCEEDED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:58.100466+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:59.789300+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUSPENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUSPENDED'}]'. Reason: State transition not allowed: (SUCCEEDED -> SUSPENDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:22:59.789300+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:01.436048+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (FAILED -> ONGOING)\", \"debuginfo\": null}"}watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> ONGOING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> ONGOING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> SUCCEEDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> CANCELLED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> CANCELLED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> PENDING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> PENDING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> SUSPENDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(FAILED -> SUSPENDED) ... ok GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:01.436048+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:03.442744+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (FAILED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:03.442744+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:05.169676+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (FAILED -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:05.169676+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:06.799758+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (FAILED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:06.799758+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:08.547796+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUSPENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUSPENDED'}]'. Reason: State transition not allowed: (FAILED -> SUSPENDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:08.547796+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:10.271596+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> ONGOING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> ONGOING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> SUCCEEDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> FAILED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> FAILED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> PENDING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> PENDING) ... ok PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (CANCELLED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:10.271596+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:12.371310+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (CANCELLED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:12.371310+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:14.005208+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (CANCELLED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:14.005208+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:15.689266+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (CANCELLED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:15.689266+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:17.328928+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUSPENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUSPENDED'}]'. Reason: State transition not allowed: (CANCELLED -> SUSPENDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:17.328928+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> SUSPENDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(CANCELLED -> SUSPENDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> ONGOING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> ONGOING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> SUCCEEDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> FAILED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> FAILED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> CANCELLED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> CANCELLED) ... ok GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:19.170129+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'ONGOING'}]'. Reason: State transition not allowed: (DELETED -> ONGOING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:19.170129+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:22.530267+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (DELETED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:22.530267+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:24.137752+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (DELETED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:24.137752+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:25.805801+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (DELETED -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:25.805801+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:27.422085+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (DELETED -> PENDING)\", \"debuginfo\": null}"}watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> PENDING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> PENDING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> SUSPENDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(DELETED -> SUSPENDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> SUCCEEDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> FAILED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> FAILED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> DELETED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> DELETED) ... ok GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:27.422085+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:29.423219+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUSPENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUSPENDED'}]'. Reason: State transition not allowed: (DELETED -> SUSPENDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:29.423219+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:31.091735+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (PENDING -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:31.091735+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:32.750557+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (PENDING -> FAILED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:32.750557+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:34.458172+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'DELETED'}]'. Reason: State transition not allowed: (PENDING -> DELETED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:34.458172+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:36.133827+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> SUSPENDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(PENDING -> SUSPENDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> SUCCEEDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> FAILED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> FAILED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> CANCELLED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> CANCELLED) ... ok PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUSPENDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUSPENDED'}]'. Reason: State transition not allowed: (PENDING -> SUSPENDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:36.133827+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:38.154560+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'SUCCEEDED'}]'. Reason: State transition not allowed: (SUSPENDED -> SUCCEEDED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:38.154560+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:39.833805+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'FAILED'}]'. Reason: State transition not allowed: (SUSPENDED -> FAILED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:39.833805+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:41.514040+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'CANCELLED'}]'. Reason: State transition not allowed: (SUSPENDED -> CANCELLED)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:41.514040+00:00', 'deleted_at': None, 'updated_at': None} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:43.227437+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'PENDING', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/state', 'op': 'replace', 'value': 'PENDING'}]'. Reason: State transition not allowed: (SUSPENDED -> PENDING)\", \"debuginfo\": null}"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:43.227437+00:00', 'deleted_at': None, 'updated_at': None}watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> PENDING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionDenied.test_replace_denied(SUSPENDED -> PENDING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(PENDING -> ONGOING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(PENDING -> ONGOING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(PENDING -> CANCELLED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(PENDING -> CANCELLED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> FAILED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> FAILED) ... ok GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:45.150497+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "ONGOING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:45.150497+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:45.150497+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:47.257366+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "CANCELLED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:47.257366+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:47.257366+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:49.217441+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'FAILED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "FAILED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:49.217441+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:49.217441+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:51.179624+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUCCEEDED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "SUCCEEDED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:51.179624+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"}watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> SUCCEEDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> SUCCEEDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> CANCELLED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> CANCELLED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> SUSPENDED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(ONGOING -> SUSPENDED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(FAILED -> DELETED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(FAILED -> DELETED) ... ok GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:51.179624+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:53.504816+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'CANCELLED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "CANCELLED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:53.504816+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:53.504816+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:55.541082+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'SUSPENDED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "SUSPENDED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:55.541082+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:55.541082+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'FAILED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:57.545327+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "DELETED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:57.545327+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:57.545327+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUCCEEDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:59.531793+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}]watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(SUCCEEDED -> DELETED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(SUCCEEDED -> DELETED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(CANCELLED -> DELETED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(CANCELLED -> DELETED) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(SUSPENDED -> ONGOING) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(SUSPENDED -> ONGOING) ... ok watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(SUSPENDED -> DELETED) watcher.tests.api.v1.test_audits.TestPatchStateTransitionOk.test_replace_ok(SUSPENDED -> DELETED) ... ok GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "DELETED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:23:59.531793+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:23:59.531793+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'CANCELLED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:24:01.884344+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "DELETED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:24:01.884344+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:24:01.884344+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:24:03.823791+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'ONGOING', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "ONGOING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:24:03.823791+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'ONGOING', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:24:03.823791+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'SUSPENDED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:24:05.817692+00:00', 'deleted_at': None, 'updated_at': None} PATCH: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d [{'path': '/state', 'value': 'DELETED', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json {"uuid": "10a47dd1-4874-4298-91cf-eff046dbdb8d", "name": "My Audit", "audit_type": "ONESHOT", "state": "DELETED", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "self"}, {"href": "http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d", "rel": "bookmark"}], "interval": "3600", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": "host_1", "created_at": "2021-02-17T17:24:05.817692+00:00", "deleted_at": null, "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d {} GOT:{'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'DELETED', 'goal_uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'goal_name': 'TEST', 'strategy_uuid': None, 'strategy_name': None, 'parameters': {}, 'links': [{'href': 'http://localhost/v1/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'self'}, {'href': 'http://localhost/audits/10a47dd1-4874-4298-91cf-eff046dbdb8d', 'rel': 'bookmark'}], 'interval': '3600', 'scope': [], 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'created_at': '2021-02-17T17:24:05.817692+00:00', 'deleted_at': None, 'updated_at': '2000-01-01T00:00:00+00:00'} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}watcher.tests.api.v1.test_audits.TestPost.test_create_audit_doesnt_contain_id watcher.tests.api.v1.test_audits.TestPost.test_create_audit_doesnt_contain_id ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_generate_uuid watcher.tests.api.v1.test_audits.TestPost.test_create_audit_generate_uuid ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_parameters_no_predefined_strategy watcher.tests.api.v1.test_audits.TestPost.test_create_audit_parameters_no_predefined_strategy ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_trigger_decision_engine watcher.tests.api.v1.test_audits.TestPost.test_create_audit_trigger_decision_engine ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_parameter_not_allowed watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_parameter_not_allowed ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_uuid watcher.tests.api.v1.test_audits.TestPost.test_create_audit_with_uuid ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_with_cron_interval watcher.tests.api.v1.test_audits.TestPost.test_create_continuous_audit_with_cron_interval ... ok watcher.tests.api.v1.test_audits.TestPost.test_create_oneshot_audit_with_period watcher.tests.api.v1.test_audits.TestPost.test_create_oneshot_audit_with_period ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_detail watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_detail_against_single ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_get_one_by_name watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_get_one_by_name ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_get_one_by_uuid watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_get_one_by_uuid ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_get_one_soft_deleted ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/bddbc5de-9053-460b-a0b0-eb00abd97bf6 {"uuid": "bddbc5de-9053-460b-a0b0-eb00abd97bf6", "name": "My Audit", "audit_type": "ONESHOT", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/bddbc5de-9053-460b-a0b0-eb00abd97bf6", "rel": "self"}, {"href": "http://localhost/audits/bddbc5de-9053-460b-a0b0-eb00abd97bf6", "rel": "bookmark"}], "interval": null, "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2021-02-17T17:24:08.178068+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/337a881d-e656-4643-bdd1-ad87d4aea690 {"uuid": "337a881d-e656-4643-bdd1-ad87d4aea690", "name": "My Audit", "audit_type": "ONESHOT", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/337a881d-e656-4643-bdd1-ad87d4aea690", "rel": "self"}, {"href": "http://localhost/audits/337a881d-e656-4643-bdd1-ad87d4aea690", "rel": "bookmark"}], "interval": null, "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2021-02-17T17:24:09.671760+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {'name': 'Tom'}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Specify parameters but no predefined strategy for audit, or no parameter spec in predefined strategy\", \"debuginfo\": null}"} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {}, 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/b2a45029-f92b-4217-a4b8-1dbd3c249949 {"uuid": "b2a45029-f92b-4217-a4b8-1dbd3c249949", "name": "My Audit", "audit_type": "ONESHOT", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/b2a45029-f92b-4217-a4b8-1dbd3c249949", "rel": "self"}, {"href": "http://localhost/audits/b2a45029-f92b-4217-a4b8-1dbd3c249949", "rel": "bookmark"}], "interval": null, "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2021-02-17T17:24:11.907627+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {'fake1': 1, 'fake2': 'hello'}, 'auto_trigger': False, 'goal': None, 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a67'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Audit parameter fake2 are not allowed\", \"debuginfo\": null}"} POST: /v1/audits {'uuid': '10a47dd1-4874-4298-91cf-eff046dbdb8d', 'name': 'My Audit', 'audit_type': 'ONESHOT', 'state': 'PENDING', 'parameters': {}, 'interval': '3600', 'auto_trigger': False, 'next_run_time': None, 'hostname': 'host_1', 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown attributes for argument audit_p: next_run_time, uuid\", \"debuginfo\": null}"} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'CONTINUOUS', 'parameters': {}, 'interval': '* * * * *', 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/audits/52074f38-3df7-46ea-9f5f-e9d5f5c411cf {"uuid": "52074f38-3df7-46ea-9f5f-e9d5f5c411cf", "name": "My Audit", "audit_type": "CONTINUOUS", "state": "PENDING", "goal_uuid": "f7ad87ae-4298-91cf-93a0-f35a852e3652", "goal_name": "TEST", "strategy_uuid": null, "strategy_name": null, "parameters": {}, "links": [{"href": "http://localhost/v1/audits/52074f38-3df7-46ea-9f5f-e9d5f5c411cf", "rel": "self"}, {"href": "http://localhost/audits/52074f38-3df7-46ea-9f5f-e9d5f5c411cf", "rel": "bookmark"}], "interval": "* * * * *", "scope": [], "auto_trigger": false, "next_run_time": null, "hostname": null, "created_at": "2021-02-17T17:24:15.380543+00:00", "deleted_at": null, "updated_at": null} POST: /v1/audits {'name': 'My Audit', 'audit_type': 'ONESHOT', 'parameters': {}, 'interval': '3600', 'auto_trigger': False, 'goal': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'strategy': None, 'audit_template_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Interval of audit must not be set for ONESHOT.\", \"debuginfo\": null}"} GET: /v1/goals/detail {} GOT:{'goals': [{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:16.890101+00:00', 'updated_at': None, 'deleted_at': None}]} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/goals/TEST {} GOT:{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:18.169192+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652 {} GOT:{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:18.820858+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652 {} GOT:{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:19.484780+00:00', 'updated_at': '2021-02-17T17:24:19.551285+00:00', 'deleted_at': '2021-02-17T17:24:19.536780+00:00'} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Goal f7ad87ae-4298-91cf-93a0-f35a852e3652 could not be found\", \"debuginfo\": null}"} GET: /v1/goals {} GOT:{'goals': [{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_one watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_one ... ok watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_goals.TestGoalPolicyEnforcementWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_detail watcher.tests.api.v1.test_goals.TestListGoal.test_detail ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_detail_against_single watcher.tests.api.v1.test_goals.TestListGoal.test_detail_against_single ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_get_one_by_uuid watcher.tests.api.v1.test_goals.TestListGoal.test_get_one_by_uuid ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_goals_collection_links_default_limit watcher.tests.api.v1.test_goals.TestListGoal.test_goals_collection_links_default_limit ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_many_with_sort_key_uuid watcher.tests.api.v1.test_goals.TestListGoal.test_many_with_sort_key_uuid ... ok watcher.tests.api.v1.test_goals.TestListGoal.test_many_without_soft_deleted watcher.tests.api.v1.test_goals.TestListGoal.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_many watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_many ... ok GET: /v1/goals?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/goals/detail {} GOT:{'goals': [{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:21.997235+00:00', 'updated_at': None, 'deleted_at': None}]} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652 {} GOT:{'uuid': 'f7ad87ae-4298-91cf-93a0-f35a852e3652', 'name': 'TEST', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'self'}, {'href': 'http://localhost/goals/f7ad87ae-4298-91cf-93a0-f35a852e3652', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:23.307156+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/goals {} GOT:{'goals': [{'uuid': '28d07aaf-c13f-44e4-a773-bb341ec74a2b', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/28d07aaf-c13f-44e4-a773-bb341ec74a2b', 'rel': 'self'}, {'href': 'http://localhost/goals/28d07aaf-c13f-44e4-a773-bb341ec74a2b', 'rel': 'bookmark'}]}, {'uuid': '2aa65431-dd0b-449f-81a8-fe621c126272', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/2aa65431-dd0b-449f-81a8-fe621c126272', 'rel': 'self'}, {'href': 'http://localhost/goals/2aa65431-dd0b-449f-81a8-fe621c126272', 'rel': 'bookmark'}]}, {'uuid': '43320af5-fafa-4a08-a7bb-7eb0f7c534c7', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/43320af5-fafa-4a08-a7bb-7eb0f7c534c7', 'rel': 'self'}, {'href': 'http://localhost/goals/43320af5-fafa-4a08-a7bb-7eb0f7c534c7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/goals?sort_key=id&sort_dir=asc&limit=3&marker=43320af5-fafa-4a08-a7bb-7eb0f7c534c7'} GET: /v1/goals/?sort_key=uuid {} GOT:{'goals': [{'uuid': '1feee5a3-9555-4bd0-a880-4c014a557f6a', 'name': 'GOAL_4', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/1feee5a3-9555-4bd0-a880-4c014a557f6a', 'rel': 'self'}, {'href': 'http://localhost/goals/1feee5a3-9555-4bd0-a880-4c014a557f6a', 'rel': 'bookmark'}]}, {'uuid': '4ec70b6c-b966-44e4-8f0b-cc9342672f7e', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/4ec70b6c-b966-44e4-8f0b-cc9342672f7e', 'rel': 'self'}, {'href': 'http://localhost/goals/4ec70b6c-b966-44e4-8f0b-cc9342672f7e', 'rel': 'bookmark'}]}, {'uuid': '6dcba1ef-1aba-4e08-ab29-ec05d6414677', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/6dcba1ef-1aba-4e08-ab29-ec05d6414677', 'rel': 'self'}, {'href': 'http://localhost/goals/6dcba1ef-1aba-4e08-ab29-ec05d6414677', 'rel': 'bookmark'}]}, {'uuid': 'c4b3aae7-8651-4e9b-b1e9-b38bd818cd45', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/c4b3aae7-8651-4e9b-b1e9-b38bd818cd45', 'rel': 'self'}, {'href': 'http://localhost/goals/c4b3aae7-8651-4e9b-b1e9-b38bd818cd45', 'rel': 'bookmark'}]}, {'uuid': 'cf4dcc1c-55c3-4ac1-87af-9a4e1a687fdc', 'name': 'GOAL_5', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/cf4dcc1c-55c3-4ac1-87af-9a4e1a687fdc', 'rel': 'self'}, {'href': 'http://localhost/goals/cf4dcc1c-55c3-4ac1-87af-9a4e1a687fdc', 'rel': 'bookmark'}]}]} GET: /v1/goals {} GOT:{'goals': [{'uuid': '395354c1-d338-4cd3-9bbc-95fa795e5601', 'name': 'GOAL_1', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/395354c1-d338-4cd3-9bbc-95fa795e5601', 'rel': 'self'}, {'href': 'http://localhost/goals/395354c1-d338-4cd3-9bbc-95fa795e5601', 'rel': 'bookmark'}]}, {'uuid': '28ffead7-c435-4b16-9127-9c1b16918339', 'name': 'GOAL_2', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/28ffead7-c435-4b16-9127-9c1b16918339', 'rel': 'self'}, {'href': 'http://localhost/goals/28ffead7-c435-4b16-9127-9c1b16918339', 'rel': 'bookmark'}]}, {'uuid': '2445353a-a476-4a5c-99e3-f9fa3278fbfb', 'name': 'GOAL_3', 'display_name': 'test goal', 'efficacy_specification': [], 'links': [{'href': 'http://localhost/v1/goals/2445353a-a476-4a5c-99e3-f9fa3278fbfb', 'rel': 'self'}, {'href': 'http://localhost/goals/2445353a-a476-4a5c-99e3-f9fa3278fbfb', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': 'bbf5f5c5-78f7-41da-9078-32c7c9f169f9', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/bbf5f5c5-78f7-41da-9078-32c7c9f169f9', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/bbf5f5c5-78f7-41da-9078-32c7c9f169f9', 'rel': 'bookmark'}]}, {'uuid': 'd1be0131-f5ca-4e50-b22c-f80777f7d54a', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/d1be0131-f5ca-4e50-b22c-f80777f7d54a', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/d1be0131-f5ca-4e50-b22c-f80777f7d54a', 'rel': 'bookmark'}]}, {'uuid': '7566cdd5-18ab-46da-b681-6f19a21aa324', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/7566cdd5-18ab-46da-b681-6f19a21aa324', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/7566cdd5-18ab-46da-b681-6f19a21aa324', 'rel': 'bookmark'}]}, {'uuid': '684a46e4-26e7-45a1-8cbe-8b17d7daf2f4', 'name': '4', 'description': 'SE_4', 'links': [{'href': 'http://localhost/v1/scoring_engines/684a46e4-26e7-45a1-8cbe-8b17d7daf2f4', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/684a46e4-26e7-45a1-8cbe-8b17d7daf2f4', 'rel': 'bookmark'}]}, {'uuid': 'ee6fef9f-0b9c-441f-b7ce-78677a56b8cd', 'name': '5', 'description': 'SE_5', 'links': [{'href': 'http://localhost/v1/scoring_engines/ee6fef9f-0b9c-441f-b7ce-78677a56b8cd', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/ee6fef9f-0b9c-441f-b7ce-78677a56b8cd', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines/?sort_key=uuid {} GOT:{'scoring_engines': [{'uuid': '0f2f477a-76ed-4b65-b869-45baaf983d00', 'name': '4', 'description': 'SE_4', 'links': [{'href': 'http://localhost/v1/scoring_engines/0f2f477a-76ed-4b65-b869-45baaf983d00', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/0f2f477a-76ed-4b65-b869-45baaf983d00', 'rel': 'bookmark'}]}, {'uuid': '34415542-66fe-45b9-91fa-6aad1eca217a', 'name': '5', 'description': 'SE_5', 'links': [{'href': 'http://localhost/v1/scoring_engines/34415542-66fe-45b9-91fa-6aad1eca217a', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/34415542-66fe-45b9-91fa-6aad1eca217a', 'rel': 'bookmark'}]}, {'uuid': '9dc55c11-83a2-48d4-881a-57c0ba0192b5', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/9dc55c11-83a2-48d4-881a-57c0ba0192b5', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/9dc55c11-83a2-48d4-881a-57c0ba0192b5', 'rel': 'bookmark'}]}, {'uuid': 'ba0e00a7-b9a4-4879-b4ad-7258640adf5b', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/ba0e00a7-b9a4-4879-b4ad-7258640adf5b', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/ba0e00a7-b9a4-4879-b4ad-7258640adf5b', 'rel': 'bookmark'}]}, {'uuid': 'fa196935-814c-48f7-a463-227c48f44757', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/fa196935-814c-48f7-a463-227c48f44757', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/fa196935-814c-48f7-a463-227c48f44757', 'rel': 'bookmark'}]}]}watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_many_with_sort_key_uuid watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_many_with_sort_key_uuid ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_many_without_soft_deleted watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_one watcher.tests.api.v1.test_scoring_engines.TestListScoringEngine.test_one ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcement.test_policy_disallow_detail ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_detail watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_detail ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_detail_against_single ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_many watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_many ... ok watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_scoring_engines.TestScoringEnginePolicyEnforcementWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_services.TestListService.test_detail watcher.tests.api.v1.test_services.TestListService.test_detail ... ok watcher.tests.api.v1.test_services.TestListService.test_get_one_by_id watcher.tests.api.v1.test_services.TestListService.test_get_one_by_id ... ok watcher.tests.api.v1.test_services.TestListService.test_get_one_by_name watcher.tests.api.v1.test_services.TestListService.test_get_one_by_name ... ok watcher.tests.api.v1.test_services.TestListService.test_many_with_sort_key_name watcher.tests.api.v1.test_services.TestListService.test_many_with_sort_key_name ... ok watcher.tests.api.v1.test_services.TestListService.test_many_without_soft_deleted watcher.tests.api.v1.test_services.TestListService.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_services.TestListService.test_services_collection_links_default_limit watcher.tests.api.v1.test_services.TestListService.test_services_collection_links_default_limit ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_detail_against_single ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_get_one_by_id watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_get_one_by_id ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_get_one_by_name watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_get_one_by_name ... ok GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': 'e93a4128-c9c6-44af-9e83-ec1833da7dfb', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/e93a4128-c9c6-44af-9e83-ec1833da7dfb', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e93a4128-c9c6-44af-9e83-ec1833da7dfb', 'rel': 'bookmark'}]}, {'uuid': 'b2321571-cfc0-4826-aef2-a24f87fecb13', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/b2321571-cfc0-4826-aef2-a24f87fecb13', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/b2321571-cfc0-4826-aef2-a24f87fecb13', 'rel': 'bookmark'}]}, {'uuid': '61dcf826-2adb-44f6-b472-c46177ba549d', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/61dcf826-2adb-44f6-b472-c46177ba549d', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/61dcf826-2adb-44f6-b472-c46177ba549d', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': 'e8370ede-4f39-11e6-9ffa-08002722cb21', 'name': 'test-se-01', 'description': 'test scoring engine 01', 'links': [{'href': 'http://localhost/v1/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow scoring_engine:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/scoring_engines/detail {} GOT:{'scoring_engines': [{'uuid': 'e8370ede-4f39-11e6-9ffa-08002722cb21', 'name': 'test-se-01', 'description': 'test scoring engine 01', 'metainfo': 'test_attr=test_val', 'links': [{'href': 'http://localhost/v1/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e8370ede-4f39-11e6-9ffa-08002722cb21', 'rel': 'bookmark'}]}]} GET: /v1/scoring_engines/1/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/scoring_engines {} GOT:{'scoring_engines': [{'uuid': '9c073046-17db-42e8-b082-6468e70e422b', 'name': '1', 'description': 'SE_1', 'links': [{'href': 'http://localhost/v1/scoring_engines/9c073046-17db-42e8-b082-6468e70e422b', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/9c073046-17db-42e8-b082-6468e70e422b', 'rel': 'bookmark'}]}, {'uuid': 'c6a3cc73-298e-4ade-a817-34216721100d', 'name': '2', 'description': 'SE_2', 'links': [{'href': 'http://localhost/v1/scoring_engines/c6a3cc73-298e-4ade-a817-34216721100d', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/c6a3cc73-298e-4ade-a817-34216721100d', 'rel': 'bookmark'}]}, {'uuid': 'a50e9edc-9368-48cd-b884-59627fe46935', 'name': '3', 'description': 'SE_3', 'links': [{'href': 'http://localhost/v1/scoring_engines/a50e9edc-9368-48cd-b884-59627fe46935', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/a50e9edc-9368-48cd-b884-59627fe46935', 'rel': 'bookmark'}]}, {'uuid': '1e2d5661-ef42-44df-92e7-0d57768a6a32', 'name': '4', 'description': 'SE_4', 'links': [{'href': 'http://localhost/v1/scoring_engines/1e2d5661-ef42-44df-92e7-0d57768a6a32', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/1e2d5661-ef42-44df-92e7-0d57768a6a32', 'rel': 'bookmark'}]}, {'uuid': 'e5cfa7e3-ea23-4a2b-8d4a-5bf3a4481755', 'name': '5', 'description': 'SE_5', 'links': [{'href': 'http://localhost/v1/scoring_engines/e5cfa7e3-ea23-4a2b-8d4a-5bf3a4481755', 'rel': 'self'}, {'href': 'http://localhost/scoring_engines/e5cfa7e3-ea23-4a2b-8d4a-5bf3a4481755', 'rel': 'bookmark'}]}]} GET: /v1/goals?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/services/detail {} GOT:{'services': [{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:33.835530+00:00', 'updated_at': None, 'deleted_at': None}]} GET: /v1/services/1 {} GOT:{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:34.571942+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/services/watcher-service {} GOT:{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:35.269964+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/services/?sort_key=name {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}]} GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}]} GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/services?sort_key=id&sort_dir=asc&limit=3&marker=3'} GET: /v1/services/1/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/services/1 {} GOT:{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:39.578303+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/services/watcher-service {} GOT:{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:40.282386+00:00', 'updated_at': None, 'deleted_at': None} GET: /v1/services/1 {} GOT:{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'last_seen_up': '2016-09-22T08:32:06', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}], 'created_at': '2021-02-17T17:24:41.040351+00:00', 'updated_at': '2021-02-17T17:24:41.103496+00:00', 'deleted_at': '2021-02-17T17:24:41.095795+00:00'}watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_many_with_sort_key_name watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_many_with_sort_key_name ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_many_without_soft_deleted watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_one watcher.tests.api.v1.test_services.TestServiceEnforcementWithAdminContext.test_one ... ok watcher.tests.api.v1.test_services.TestServicePolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_services.TestServicePolicyEnforcement.test_policy_disallow_detail ... ok watcher.tests.api.v1.test_services.TestServicePolicyEnforcement.test_policy_disallow_get_one watcher.tests.api.v1.test_services.TestServicePolicyEnforcement.test_policy_disallow_get_one ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_detail_against_single watcher.tests.api.v1.test_strategies.TestListStrategy.test_detail_against_single ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_filter_by_goal_uuid watcher.tests.api.v1.test_strategies.TestListStrategy.test_filter_by_goal_uuid ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_get_one_by_name watcher.tests.api.v1.test_strategies.TestListStrategy.test_get_one_by_name ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_get_one_by_uuid watcher.tests.api.v1.test_strategies.TestListStrategy.test_get_one_by_uuid ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_get_one_soft_deleted watcher.tests.api.v1.test_strategies.TestListStrategy.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_many watcher.tests.api.v1.test_strategies.TestListStrategy.test_many ... ok GET: /v1/services/1 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The service 1 cannot be found.\", \"debuginfo\": null}"} GET: /v1/services/?sort_key=name {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}]} GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'SERVICE_1', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}, {'id': 2, 'name': 'SERVICE_2', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/2', 'rel': 'self'}, {'href': 'http://localhost/services/2', 'rel': 'bookmark'}]}, {'id': 3, 'name': 'SERVICE_3', 'host': 'CONTROLLER', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/3', 'rel': 'self'}, {'href': 'http://localhost/services/3', 'rel': 'bookmark'}]}]} GET: /v1/services {} GOT:{'services': [{'id': 1, 'name': 'watcher-service', 'host': 'controller', 'status': 'FAILED', 'links': [{'href': 'http://localhost/v1/services/1', 'rel': 'self'}, {'href': 'http://localhost/services/1', 'rel': 'bookmark'}]}]} GET: /v1/services/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow service:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/services/1 {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow service:get to be performed.\", \"debuginfo\": null}"} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/strategies/?goal=6123d649-a92c-4cd4-acca-526b62b1d497 {} GOT:{'strategies': [{'uuid': 'bc5015c2-7455-4e5d-bae9-ba771a85bd6d', 'name': 'Goal 1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/bc5015c2-7455-4e5d-bae9-ba771a85bd6d', 'rel': 'self'}, {'href': 'http://localhost/strategies/bc5015c2-7455-4e5d-bae9-ba771a85bd6d', 'rel': 'bookmark'}], 'goal_uuid': '6123d649-a92c-4cd4-acca-526b62b1d497', 'goal_name': 'My_Goal 1'}, {'uuid': '9f7eed85-cdce-4a9c-91ec-9c138be10c7f', 'name': 'Goal 2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/9f7eed85-cdce-4a9c-91ec-9c138be10c7f', 'rel': 'self'}, {'href': 'http://localhost/strategies/9f7eed85-cdce-4a9c-91ec-9c138be10c7f', 'rel': 'bookmark'}], 'goal_uuid': '6123d649-a92c-4cd4-acca-526b62b1d497', 'goal_name': 'My_Goal 1'}]} GET: /v1/strategies/TEST {} GOT:{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '34144b3f-6565-4869-aa0b-7957f2276819', 'goal_name': 'TEST', 'parameters_spec': {}} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3 {} GOT:{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '8764d654-6c87-4bca-b2b9-249963db613f', 'goal_name': 'TEST', 'parameters_spec': {}} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3 {} GOT:{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '3f4fe85a-f293-435a-8cfd-3752584eaf7a', 'goal_name': 'TEST', 'parameters_spec': {}} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Strategy cb3d0b58-4415-4d90-b75b-1e96878730e3 could not be found\", \"debuginfo\": null}"} GET: /v1/strategies {} GOT:{'strategies': [{'uuid': '8cc4c731-c2d8-42ef-b338-e80ed85bed04', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/8cc4c731-c2d8-42ef-b338-e80ed85bed04', 'rel': 'self'}, {'href': 'http://localhost/strategies/8cc4c731-c2d8-42ef-b338-e80ed85bed04', 'rel': 'bookmark'}], 'goal_uuid': '5ae0fed7-496a-472c-96f4-03ac5d3092a1', 'goal_name': 'TEST'}, {'uuid': '70d04a22-0ace-48da-91ff-158bedeb60c8', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/70d04a22-0ace-48da-91ff-158bedeb60c8', 'rel': 'self'}, {'href': 'http://localhost/strategies/70d04a22-0ace-48da-91ff-158bedeb60c8', 'rel': 'bookmark'}], 'goal_uuid': '5ae0fed7-496a-472c-96f4-03ac5d3092a1', 'goal_name': 'TEST'}, {'uuid': 'd7d3cae6-977a-420b-a2fe-69ec542b0b23', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/d7d3cae6-977a-420b-a2fe-69ec542b0b23', 'rel': 'self'}, {'href': 'http://localhost/strategies/d7d3cae6-977a-420b-a2fe-69ec542b0b23', 'rel': 'bookmark'}], 'goal_uuid': '5ae0fed7-496a-472c-96f4-03ac5d3092a1', 'goal_name': 'TEST'}, {'uuid': 'e9ff8d75-cc02-445d-a900-12885ed5dff5', 'name': 'STRATEGY_4', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/e9ff8d75-cc02-445d-a900-12885ed5dff5', 'rel': 'self'}, {'href': 'http://localhost/strategies/e9ff8d75-cc02-445d-a900-12885ed5dff5', 'rel': 'bookmark'}], 'goal_uuid': '5ae0fed7-496a-472c-96f4-03ac5d3092a1', 'goal_name': 'TEST'}, {'uuid': 'd0f0d015-65be-4ca9-ae18-c93249378753', 'name': 'STRATEGY_5', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/d0f0d015-65be-4ca9-ae18-c93249378753', 'rel': 'self'}, {'href': 'http://localhost/strategies/d0f0d015-65be-4ca9-ae18-c93249378753', 'rel': 'bookmark'}], 'goal_uuid': '5ae0fed7-496a-472c-96f4-03ac5d3092a1', 'goal_name': 'TEST'}]} GET: /v1/strategies/?sort_key=goal_uuid {} GOT:{'strategies': [{'uuid': '0c8f3b75-b4a8-4de8-bac0-571f60165d0a', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/0c8f3b75-b4a8-4de8-bac0-571f60165d0a', 'rel': 'self'}, {'href': 'http://localhost/strategies/0c8f3b75-b4a8-4de8-bac0-571f60165d0a', 'rel': 'bookmark'}], 'goal_uuid': 'e1f2d960-62ac-4c00-ab91-7d6499475649', 'goal_name': 'TEST'}, {'uuid': '3d0280a2-2053-4147-bea0-18a5c15e874a', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/3d0280a2-2053-4147-bea0-18a5c15e874a', 'rel': 'self'}, {'href': 'http://localhost/strategies/3d0280a2-2053-4147-bea0-18a5c15e874a', 'rel': 'bookmark'}], 'goal_uuid': 'e1f2d960-62ac-4c00-ab91-7d6499475649', 'goal_name': 'TEST'}, {'uuid': '9f19abe1-e288-4890-b877-cb51a62f35a2', 'name': 'STRATEGY_5', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/9f19abe1-e288-4890-b877-cb51a62f35a2', 'rel': 'self'}, {'href': 'http://localhost/strategies/9f19abe1-e288-4890-b877-cb51a62f35a2', 'rel': 'bookmark'}], 'goal_uuid': 'e1f2d960-62ac-4c00-ab91-7d6499475649', 'goal_name': 'TEST'}, {'uuid': 'a1c8a77e-2401-49aa-a994-0fe0363c78cf', 'name': 'STRATEGY_4', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/a1c8a77e-2401-49aa-a994-0fe0363c78cf', 'rel': 'self'}, {'href': 'http://localhost/strategies/a1c8a77e-2401-49aa-a994-0fe0363c78cf', 'rel': 'bookmark'}], 'goal_uuid': 'e1f2d960-62ac-4c00-ab91-7d6499475649', 'goal_name': 'TEST'}, {'uuid': 'd45ff66b-3cf4-4e70-a558-4c72bac9438b', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/d45ff66b-3cf4-4e70-a558-4c72bac9438b', 'rel': 'self'}, {'href': 'http://localhost/strategies/d45ff66b-3cf4-4e70-a558-4c72bac9438b', 'rel': 'bookmark'}], 'goal_uuid': 'e1f2d960-62ac-4c00-ab91-7d6499475649', 'goal_name': 'TEST'}]}watcher.tests.api.v1.test_strategies.TestListStrategy.test_many_with_sort_key_goal_uuid watcher.tests.api.v1.test_strategies.TestListStrategy.test_many_with_sort_key_goal_uuid ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_many_without_soft_deleted watcher.tests.api.v1.test_strategies.TestListStrategy.test_many_without_soft_deleted ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_one watcher.tests.api.v1.test_strategies.TestListStrategy.test_one ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_state watcher.tests.api.v1.test_strategies.TestListStrategy.test_state ... ok watcher.tests.api.v1.test_strategies.TestListStrategy.test_strategies_collection_links watcher.tests.api.v1.test_strategies.TestListStrategy.test_strategies_collection_links ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_detail_against_single watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_detail_against_single ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_filter_by_goal_uuid watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_filter_by_goal_uuid ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_get_one_by_name watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_get_one_by_name ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_get_one_by_uuid watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_get_one_by_uuid ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_get_one_soft_deleted watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_get_one_soft_deleted ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_many_with_sort_key_goal_uuid watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_many_with_sort_key_goal_uuid ... ok GET: /v1/strategies {} GOT:{'strategies': [{'uuid': '435733e4-cd56-4f84-aa7c-7c037cd4725a', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/435733e4-cd56-4f84-aa7c-7c037cd4725a', 'rel': 'self'}, {'href': 'http://localhost/strategies/435733e4-cd56-4f84-aa7c-7c037cd4725a', 'rel': 'bookmark'}], 'goal_uuid': '9f2831b5-07c1-4846-bddf-52fcb62783ee', 'goal_name': 'TEST'}, {'uuid': 'd7e6018e-b601-49ca-8ee7-ba9a7a95b680', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/d7e6018e-b601-49ca-8ee7-ba9a7a95b680', 'rel': 'self'}, {'href': 'http://localhost/strategies/d7e6018e-b601-49ca-8ee7-ba9a7a95b680', 'rel': 'bookmark'}], 'goal_uuid': '9f2831b5-07c1-4846-bddf-52fcb62783ee', 'goal_name': 'TEST'}, {'uuid': 'b89c8c76-feda-4833-8e44-6ffaa1651ee5', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/b89c8c76-feda-4833-8e44-6ffaa1651ee5', 'rel': 'self'}, {'href': 'http://localhost/strategies/b89c8c76-feda-4833-8e44-6ffaa1651ee5', 'rel': 'bookmark'}], 'goal_uuid': '9f2831b5-07c1-4846-bddf-52fcb62783ee', 'goal_name': 'TEST'}]} GET: /v1/strategies {} GOT:{'strategies': [{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '44cbac0d-bb2e-434f-aa8d-f42d4198e0f1', 'goal_name': 'TEST'}]} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3/state {} GOT:[{'type': 'Datasource', 'mandatory': True, 'comment': '', 'state': 'gnocchi: True'}, {'type': 'Metrics', 'mandatory': False, 'comment': '', 'state': [{'compute.node.cpu.percent': 'available'}, {'cpu_util': 'available'}]}, {'type': 'CDM', 'mandatory': True, 'comment': '', 'state': [{'compute_model': 'available'}, {'storage_model': 'not available'}]}, {'type': 'Name', 'mandatory': '', 'comment': '', 'state': 'TEST'}, {'type': 'Name', 'state': 'TEST', 'mandatory': '', 'comment': ''}] GET: /v1/strategies/?limit=2 {} GOT:{'strategies': [{'uuid': '470867c8-7b03-453a-98d6-b8b7338c51cf', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/470867c8-7b03-453a-98d6-b8b7338c51cf', 'rel': 'self'}, {'href': 'http://localhost/strategies/470867c8-7b03-453a-98d6-b8b7338c51cf', 'rel': 'bookmark'}], 'goal_uuid': '87d68714-fa76-402a-8058-745c37c46cb3', 'goal_name': 'TEST'}, {'uuid': '0709197c-f789-4789-8265-ede961cd24e7', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/0709197c-f789-4789-8265-ede961cd24e7', 'rel': 'self'}, {'href': 'http://localhost/strategies/0709197c-f789-4789-8265-ede961cd24e7', 'rel': 'bookmark'}], 'goal_uuid': '87d68714-fa76-402a-8058-745c37c46cb3', 'goal_name': 'TEST'}], 'next': 'http://localhost/v1/strategies?sort_key=id&sort_dir=asc&limit=2&marker=0709197c-f789-4789-8265-ede961cd24e7'} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The %(name)s resource %(id)s could not be found\", \"debuginfo\": null}"} GET: /v1/strategies/?goal=eca06868-4aed-4283-a481-df614611c1c6 {} GOT:{'strategies': [{'uuid': '74dfdb41-411c-44b8-a69a-75f3827950c6', 'name': 'Goal 1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/74dfdb41-411c-44b8-a69a-75f3827950c6', 'rel': 'self'}, {'href': 'http://localhost/strategies/74dfdb41-411c-44b8-a69a-75f3827950c6', 'rel': 'bookmark'}], 'goal_uuid': 'eca06868-4aed-4283-a481-df614611c1c6', 'goal_name': 'My_Goal 1'}, {'uuid': 'dc2f7ad4-3c11-4301-9171-0610407822da', 'name': 'Goal 2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/dc2f7ad4-3c11-4301-9171-0610407822da', 'rel': 'self'}, {'href': 'http://localhost/strategies/dc2f7ad4-3c11-4301-9171-0610407822da', 'rel': 'bookmark'}], 'goal_uuid': 'eca06868-4aed-4283-a481-df614611c1c6', 'goal_name': 'My_Goal 1'}]} GET: /v1/strategies/TEST {} GOT:{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '39149c3f-dad7-4ccd-b309-fbdb12b95ad7', 'goal_name': 'TEST', 'parameters_spec': {}} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3 {} GOT:{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': 'd6862287-46fa-4769-bdd9-0b2a92ddc4c1', 'goal_name': 'TEST', 'parameters_spec': {}} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3 {} GOT:{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '39bd3fd8-2160-4d3b-a351-c971e3395da3', 'goal_name': 'TEST', 'parameters_spec': {}} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Strategy cb3d0b58-4415-4d90-b75b-1e96878730e3 could not be found\", \"debuginfo\": null}"} GET: /v1/strategies/?sort_key=goal_uuid {} GOT:{'strategies': [{'uuid': '044d3732-ee26-4ee3-94d7-d0f01fe536f4', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/044d3732-ee26-4ee3-94d7-d0f01fe536f4', 'rel': 'self'}, {'href': 'http://localhost/strategies/044d3732-ee26-4ee3-94d7-d0f01fe536f4', 'rel': 'bookmark'}], 'goal_uuid': 'f7f03bbf-a89d-4fde-bbcd-fb8c7faa84a4', 'goal_name': 'TEST'}, {'uuid': '31b07f22-bcb6-4379-89e9-12858296f5da', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/31b07f22-bcb6-4379-89e9-12858296f5da', 'rel': 'self'}, {'href': 'http://localhost/strategies/31b07f22-bcb6-4379-89e9-12858296f5da', 'rel': 'bookmark'}], 'goal_uuid': 'f7f03bbf-a89d-4fde-bbcd-fb8c7faa84a4', 'goal_name': 'TEST'}, {'uuid': '645135b4-b0eb-4b9a-bd84-7c942cc58598', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/645135b4-b0eb-4b9a-bd84-7c942cc58598', 'rel': 'self'}, {'href': 'http://localhost/strategies/645135b4-b0eb-4b9a-bd84-7c942cc58598', 'rel': 'bookmark'}], 'goal_uuid': 'f7f03bbf-a89d-4fde-bbcd-fb8c7faa84a4', 'goal_name': 'TEST'}, {'uuid': '6dbd69b9-1553-4676-8060-13f1ddcd6a21', 'name': 'STRATEGY_5', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/6dbd69b9-1553-4676-8060-13f1ddcd6a21', 'rel': 'self'}, {'href': 'http://localhost/strategies/6dbd69b9-1553-4676-8060-13f1ddcd6a21', 'rel': 'bookmark'}], 'goal_uuid': 'f7f03bbf-a89d-4fde-bbcd-fb8c7faa84a4', 'goal_name': 'TEST'}, {'uuid': '78195229-eafd-4429-84b1-32d49f99ba85', 'name': 'STRATEGY_4', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/78195229-eafd-4429-84b1-32d49f99ba85', 'rel': 'self'}, {'href': 'http://localhost/strategies/78195229-eafd-4429-84b1-32d49f99ba85', 'rel': 'bookmark'}], 'goal_uuid': 'f7f03bbf-a89d-4fde-bbcd-fb8c7faa84a4', 'goal_name': 'TEST'}]} GET: /v1/strategies {} GOT:{'strategies': [{'uuid': 'cb3d0b58-4415-4d90-b75b-1e96878730e3', 'name': 'TEST', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'self'}, {'href': 'http://localhost/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3', 'rel': 'bookmark'}], 'goal_uuid': '678d50cd-bedb-458f-bf0a-2530e68ed17a', 'goal_name': 'TEST'}]}watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_one watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_one ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_sort_key_validation watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_sort_key_validation ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_state watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_state ... ok watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_strategies_collection_links_default_limit watcher.tests.api.v1.test_strategies.TestStrategyEnforcementWithAdminContext.test_strategies_collection_links_default_limit ... ok watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_detail watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_detail ... ok watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_get_all watcher.tests.api.v1.test_strategies.TestStrategyPolicyEnforcement.test_policy_disallow_get_all ... ok watcher.tests.api.v1.test_types.TestBooleanType.test_invalid_value watcher.tests.api.v1.test_types.TestBooleanType.test_invalid_value ... ok watcher.tests.api.v1.test_types.TestBooleanType.test_valid_true_values watcher.tests.api.v1.test_types.TestBooleanType.test_valid_true_values ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr watcher.tests.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_invalid_op watcher.tests.api.v1.test_types.TestJsonPatchType.test_invalid_op ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_invalid_path watcher.tests.api.v1.test_types.TestJsonPatchType.test_invalid_path ... ok watcher.tests.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_op watcher.tests.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok watcher.tests.api.v1.test_types.TestJsonType.test_valid_values watcher.tests.api.v1.test_types.TestJsonType.test_valid_values ... ok watcher.tests.api.v1.test_types.TestNameType.test_valid_name watcher.tests.api.v1.test_types.TestNameType.test_valid_name ... ok watcher.tests.api.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name watcher.tests.api.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name ... ok watcher.tests.api.v1.test_types.TestUuidOrNameType.test_valid_name watcher.tests.api.v1.test_types.TestUuidOrNameType.test_valid_name ... ok watcher.tests.api.v1.test_types.TestUuidType.test_valid_uuid watcher.tests.api.v1.test_types.TestUuidType.test_valid_uuid ... ok watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_search_filters watcher.tests.api.v1.test_utils.TestApiUtils.test_validate_search_filters ... ok /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning /usr/lib/python3/dist-packages/pecan/__init__.py:122: RuntimeWarning: `static_root` is only used when `debug` is True, ignoring RuntimeWarning GET: /v1/strategies?sort_key=bad_name {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid sort key: bad_name\", \"debuginfo\": null}"} GET: /v1/strategies/cb3d0b58-4415-4d90-b75b-1e96878730e3/state {} GOT:[{'type': 'Datasource', 'mandatory': True, 'comment': '', 'state': 'gnocchi: True'}, {'type': 'Metrics', 'mandatory': False, 'comment': '', 'state': [{'compute.node.cpu.percent': 'available'}, {'cpu_util': 'available'}]}, {'type': 'CDM', 'mandatory': True, 'comment': '', 'state': [{'compute_model': 'available'}, {'storage_model': 'not available'}]}, {'type': 'Name', 'mandatory': '', 'comment': '', 'state': 'TEST'}, {'type': 'Name', 'state': 'TEST', 'mandatory': '', 'comment': ''}] GET: /v1/strategies {} GOT:{'strategies': [{'uuid': 'f332b631-fe25-4c73-aa80-c73571d7cd23', 'name': 'STRATEGY_1', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/f332b631-fe25-4c73-aa80-c73571d7cd23', 'rel': 'self'}, {'href': 'http://localhost/strategies/f332b631-fe25-4c73-aa80-c73571d7cd23', 'rel': 'bookmark'}], 'goal_uuid': '98535b14-8bf6-4f13-8ad7-11e97e7be43b', 'goal_name': 'TEST'}, {'uuid': '86f318cf-faee-4292-a06f-ff4da0a4553a', 'name': 'STRATEGY_2', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/86f318cf-faee-4292-a06f-ff4da0a4553a', 'rel': 'self'}, {'href': 'http://localhost/strategies/86f318cf-faee-4292-a06f-ff4da0a4553a', 'rel': 'bookmark'}], 'goal_uuid': '98535b14-8bf6-4f13-8ad7-11e97e7be43b', 'goal_name': 'TEST'}, {'uuid': 'a26a1d94-c09a-4598-a788-7eb20a34191b', 'name': 'STRATEGY_3', 'display_name': 'test strategy', 'links': [{'href': 'http://localhost/v1/strategies/a26a1d94-c09a-4598-a788-7eb20a34191b', 'rel': 'self'}, {'href': 'http://localhost/strategies/a26a1d94-c09a-4598-a788-7eb20a34191b', 'rel': 'bookmark'}], 'goal_uuid': '98535b14-8bf6-4f13-8ad7-11e97e7be43b', 'goal_name': 'TEST'}], 'next': 'http://localhost/v1/strategies?sort_key=id&sort_dir=asc&limit=3&marker=a26a1d94-c09a-4598-a788-7eb20a34191b'} GET: /v1/strategies/detail {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow strategy:detail to be performed.\", \"debuginfo\": null}"} GET: /v1/strategies {} GOT:Response: 403 Forbidden Content-Type: application/json {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Policy doesn't allow strategy:get_all to be performed.\", \"debuginfo\": null}"} ---------------------------------------------------------------------- Ran 522 tests in 894.048s OK + python3-stestr slowest Test id Runtime (s) ------------------------------------------------------------------------------------------------------------------------------ ----------- watcher.tests.api.test_base.TestBase.test_api_setup 8.019 watcher.tests.api.v1.test_actions.TestActionPolicyEnforcementWithAdminContext.test_many_with_soft_deleted_action_plan_uuid 5.776 watcher.tests.api.test_hooks.TestContextHook.test_context_hook_admin 5.604 watcher.tests.api.v1.test_actions.TestListAction.test_many_with_soft_deleted_action_plan_uuid 5.590 watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_soft_deleted_audit_uuid 5.549 watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_collection_links 5.537 watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_soft_deleted 5.502 watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_with_soft_deleted_audit_uuid 5.458 watcher.tests.api.v1.test_actions_plans.TestListActionPlan.test_many_with_soft_deleted 5.457 watcher.tests.api.v1.test_actions_plans.TestActionPlanPolicyEnforcementWithAdminContext.test_many_without_soft_deleted 5.024 + rm -rf .stestr #pkgos-dh_auto_test --no-py2 'watcher\.tests\.applier.*' pkgos-dh_auto_test --no-py2 'watcher\.tests\.cmd.*' + PKGOS_USE_PY2=yes + PKGOS_USE_PY3=yes + PKGOS_TEST_PARALLEL=yes + PYTHONS=disabled + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + for i in $@ + case "${1}" in + PKGOS_USE_PY2=no + shift + for i in $@ + case "${1}" in + '[' no = yes ']' + '[' yes = yes ']' ++ py3versions -vr + PYTHON3S=3.7 + '[' yes = no ']' + for pyvers in ${PYTHONS} ${PYTHON3S} + '[' disabled = disabled ']' + continue + for pyvers in ${PYTHONS} ${PYTHON3S} + '[' 3.7 = disabled ']' ++ cut -d. -f1 ++ echo 3.7 + PYMAJOR=3 + echo '===> Testing with python (python3)' ===> Testing with python (python3) + '[' 3 = 3 ']' ++ pwd + '[' -d /build/watcher-1.12.0/debian/tmp/usr/lib/python3/dist-packages ']' + '[' -e .stestr.conf ']' + rm -rf .stestr + PYTHON=python3.7 + python3-stestr run --subunit 'watcher\.tests\.cmd.*' + subunit2pyunit The option "config_source" in conf is not known to auth_token The option "periodic_interval" in conf is not known to auth_token The option "host" in conf is not known to auth_token The option "service_down_time" in conf is not known to auth_token The option "enable_authentication" in conf is not known to auth_token The option "pybasedir" in conf is not known to auth_token The option "bindir" in conf is not known to auth_token The option "state_path" in conf is not known to auth_token The option "fatal_exception_format_errors" in conf is not known to auth_token The option "notification_level" in conf is not known to auth_token The option "debug" in conf is not known to auth_token The option "log_date_format" in conf is not known to auth_token The option "watch_log_file" in conf is not known to auth_token The option "use_syslog" in conf is not known to auth_token The option "use_journal" in conf is not known to auth_token The option "syslog_log_facility" in conf is not known to auth_token The option "use_json" in conf is not known to auth_token The option "use_stderr" in conf is not known to auth_token The option "logging_context_format_string" in conf is not known to auth_token The option "logging_default_format_string" in conf is not known to auth_token The option "logging_debug_format_suffix" in conf is not known to auth_token The option "logging_exception_prefix" in conf is not known to auth_token The option "logging_user_identity_format" in conf is not known to auth_token The option "default_log_levels" in conf is not known to auth_token The option "publish_errors" in conf is not known to auth_token The option "instance_format" in conf is not known to auth_token The option "instance_uuid_format" in conf is not known to auth_token The option "rate_limit_interval" in conf is not known to auth_token The option "rate_limit_burst" in conf is not known to auth_token The option "rate_limit_except_level" in conf is not known to auth_token The option "api" in conf is not known to auth_token The option "database" in conf is not known to auth_token The option "watcher_planner" in conf is not known to auth_token The option "watcher_applier" in conf is not known to auth_token The option "watcher_decision_engine" in conf is not known to auth_token The option "monasca_client" in conf is not known to auth_token The option "nova_client" in conf is not known to auth_token The option "glance_client" in conf is not known to auth_token The option "gnocchi_client" in conf is not known to auth_token The option "cinder_client" in conf is not known to auth_token The option "ceilometer_client" in conf is not known to auth_token The option "neutron_client" in conf is not known to auth_token The option "watcher_clients_auth" in conf is not known to auth_token The option "ironic_client" in conf is not known to auth_token The option "collector" in conf is not known to auth_token The option "oslo_concurrency" in conf is not known to auth_token The option "oslo_versionedobjects" in conf is not known to auth_token The option "keystone_authtoken" in conf is not known to auth_token AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. Use of the auth_admin_prefix, auth_host, auth_port, auth_protocol, identity_uri, admin_token, admin_user, admin_password, and admin_tenant_name configuration options was deprecated in the Mitaka release in favor of an auth_plugin and its related options. This class may be removed in a future release. Configuring admin URI using auth fragments was deprecated in the Kilo release, and will be removed in the Newton release, use 'identity_uri\ instead. Configuring www_authenticate_uri to point to the public identity endpoint is required; clients may not be able to authenticate against an admin endpoint The option "config_source" in conf is not known to auth_token The option "periodic_interval" in conf is not known to auth_token The option "host" in conf is not known to auth_token The option "service_down_time" in conf is not known to auth_token The option "enable_authentication" in conf is not known to auth_token The option "pybasedir" in conf is not known to auth_token The option "bindir" in conf is not known to auth_token The option "state_path" in conf is not known to auth_token The option "fatal_exception_format_errors" in conf is not known to auth_token The option "notification_level" in conf is not known to auth_token The option "debug" in conf is not known to auth_token The option "log_date_format" in conf is not known to auth_token The option "watch_log_file" in conf is not known to auth_token The option "use_syslog" in conf is not known to auth_token The option "use_journal" in conf is not known to auth_token The option "syslog_log_facility" in conf is not known to auth_token The option "use_json" in conf is not known to auth_token The option "use_stderr" in conf is not known to auth_token The option "logging_context_format_string" in conf is not known to auth_token The option "logging_default_format_string" in conf is not known to auth_token The option "logging_debug_format_suffix" in conf is not known to auth_token The option "logging_exception_prefix" in conf is not known to auth_token The option "logging_user_identity_format" in conf is not known to auth_token The option "default_log_levels" in conf is not known to auth_token The option "publish_errors" in conf is not known to auth_token The option "instance_format" in conf is not known to auth_token The option "instance_uuid_format" in conf is not known to auth_token The option "rate_limit_interval" in conf is not known to auth_token The option "rate_limit_burst" in conf is not known to auth_token The option "rate_limit_except_level" in conf is not known to auth_token The option "api" in conf is not known to auth_token The option "database" in conf is not known to auth_token The option "watcher_planner" in conf is not known to auth_token The option "watcher_applier" in conf is not known to auth_token The option "watcher_decision_engine" in conf is not known to auth_token The option "monasca_client" in conf is not known to auth_token The option "nova_client" in conf is not known to auth_token The option "glance_client" in conf is not known to auth_token The option "gnocchi_client" in conf is not known to auth_token The option "cinder_client" in conf is not known to auth_token The option "ceilometer_client" in conf is not known to auth_token The option "neutron_client" in conf is not known to auth_token The option "watcher_clients_auth" in conf is not known to auth_token The option "ironic_client" in conf is not known to auth_token The option "collector" in conf is not known to auth_token The option "oslo_concurrency" in conf is not known to auth_token The option "oslo_versionedobjects" in conf is not known to auth_token The option "keystone_authtoken" in conf is not known to auth_token AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. Use of the auth_admin_prefix, auth_host, auth_port, auth_protocol, identity_uri, admin_token, admin_user, admin_password, and admin_tenant_name configuration options was deprecated in the Mitaka release in favor of an auth_plugin and its related options. This class may be removed in a future release. Configuring admin URI using auth fragments was deprecated in the Kilo release, and will be removed in the Newton release, use 'identity_uri\ instead. Configuring www_authenticate_uri to point to the public identity endpoint is required; clients may not be able to authenticate against an admin endpoint 2021-02-17 17:30:22.311 30472 INFO keystonemiddleware.auth_token [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:24.789 30473 INFO keystonemiddleware.auth_token [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:22.449 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:22.462 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:22.469 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:22.473 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:22.476 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:22.480 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:22.483 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:22.485 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:22.489 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:22.492 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:22.495 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:22.502 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:22.505 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:22.521 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:22.540 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:22.555 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:22.557 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:22.573 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:22.592 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:22.603 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:22.606 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:22.613 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:22.621 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:22.628 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:22.636 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:22.665 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:22.680 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:22.700 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:22.715 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:22.718 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:22.733 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:22.752 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:22.771 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:22.786 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:22.789 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:22.805 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:22.828 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:22.839 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:22.841 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:22.856 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:22.858 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:22.873 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:22.884 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:22.905 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:22.943 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:22.946 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:22.969 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:22.996 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:23.027 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:23.030 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:23.049 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:23.076 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:23.103 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:23.128 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:23.147 30472 WARNING keystonemiddleware._common.config [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:23.168 30472 WARNING keystonemiddleware.auth_token [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. 2021-02-17 17:30:23.189 30472 WARNING keystonemiddleware.auth_token [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] Use of the auth_admin_prefix, auth_host, auth_port, auth_protocol, identity_uri, admin_token, admin_user, admin_password, and admin_tenant_name configuration options was deprecated in the Mitaka release in favor of an auth_plugin and its related options. This class may be removed in a future release. 2021-02-17 17:30:23.205 30472 WARNING keystonemiddleware.auth_token [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] Configuring admin URI using auth fragments was deprecated in the Kilo release, and will be removed in the Newton release, use 'identity_uri\ instead. 2021-02-17 17:30:23.325 30472 WARNING keystonemiddleware.auth_token [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] Configuring www_authenticate_uri to point to the public identity endpoint is required; clients may not be able to authenticate against an admin endpoint 2021-02-17 17:30:23.375 30472 INFO watcher.cmd.api [req-4d3503c0-f6fe-4ae9-bd14-34007bfc3277 - - - - -] serving on http://localhost:9322 watcher.tests.cmd.test_api.TestApi.test_run_api_app_serve_specific_address watcher.tests.cmd.test_api.TestApi.test_run_api_app_serve_specific_address ... ok 2021-02-17 17:30:25.191 30472 INFO watcher.cmd.applier [req-f9d18623-85d9-4648-b2b7-3e19457f27d1 - - - - -] Starting Watcher Applier service in PID 30472 watcher.tests.cmd.test_applier.TestApplier.test_run_applier_app watcher.tests.cmd.test_applier.TestApplier.test_run_applier_app ... ok 2021-02-17 17:30:28.202 30472 INFO keystonemiddleware.auth_token [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:24.990 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:25.063 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:25.066 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:25.085 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:25.112 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:25.144 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:25.167 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:25.170 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:25.197 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:25.228 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:25.259 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:25.262 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:25.285 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:25.309 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:25.344 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:25.367 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:25.370 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:25.389 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:25.408 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:25.431 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:25.434 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:25.453 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:25.468 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:25.491 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:25.509 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:25.556 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:25.575 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:25.578 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:25.601 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:25.617 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:25.632 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:25.647 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:25.650 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:25.665 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:25.677 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:25.688 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:25.704 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:25.715 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:25.718 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:25.729 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:25.740 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:25.751 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:25.765 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:25.768 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:25.791 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:25.794 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:25.805 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:25.816 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:25.829 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:25.845 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:25.853 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:25.872 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:25.883 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:25.895 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:25.898 30473 WARNING keystonemiddleware._common.config [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:25.917 30473 WARNING keystonemiddleware.auth_token [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. 2021-02-17 17:30:25.932 30473 WARNING keystonemiddleware.auth_token [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] Use of the auth_admin_prefix, auth_host, auth_port, auth_protocol, identity_uri, admin_token, admin_user, admin_password, and admin_tenant_name configuration options was deprecated in the Mitaka release in favor of an auth_plugin and its related options. This class may be removed in a future release. 2021-02-17 17:30:25.955 30473 WARNING keystonemiddleware.auth_token [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] Configuring admin URI using auth fragments was deprecated in the Kilo release, and will be removed in the Newton release, use 'identity_uri\ instead. 2021-02-17 17:30:26.091 30473 WARNING keystonemiddleware.auth_token [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] Configuring www_authenticate_uri to point to the public identity endpoint is required; clients may not be able to authenticate against an admin endpoint 2021-02-17 17:30:26.125 30473 INFO watcher.cmd.api [req-7c4d64f5-40bc-49cc-babb-b931ebe1e75e - - - - -] serving on 127.0.0.1:9322, view at http://127.0.0.1:9322 watcher.tests.cmd.test_api.TestApi.test_run_api_app watcher.tests.cmd.test_api.TestApi.test_run_api_app ... ok 2021-02-17 17:30:28.388 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:28.399 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:28.418 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:28.421 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:28.437 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:28.452 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:28.467 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:28.470 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:28.484 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:28.500 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:28.512 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:28.521 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:28.532 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:28.547 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:28.549 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:28.564 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:28.575 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:28.578 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:28.589 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:28.608 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:28.624 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:28.631 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:28.648 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:28.660 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:28.675 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:28.684 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:28.699 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:28.702 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:28.729 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:28.757 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:28.771 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:28.786 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:28.807 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:28.810 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "executor_thread_pool_size" in conf is not known to auth_token 2021-02-17 17:30:28.832 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:28.852 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:28.861 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:28.873 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:28.895 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:28.920 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:28.932 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:28.945 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:28.954 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:28.969 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:28.983 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:28.985 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:29.004 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:29.019 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:29.021 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:29.033 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:29.048 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:29.063 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:29.066 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:29.073 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:29.081 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:29.092 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:29.103 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:29.106 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:29.120 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:29.127 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:29.130 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:29.137 30472 WARNING keystonemiddleware._common.config [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:29.156 30472 WARNING keystonemiddleware.auth_token [req-2e79910c-df26-4c18-b692-6bb8d7e59a46 - - - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(upgrade) watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(upgrade) ... ok 2021-02-17 17:30:29.529 30473 INFO keystonemiddleware.auth_token [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:29.802 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:29.805 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:29.833 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:29.860 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:29.891 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:29.894 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:29.917 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:29.945 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:29.956 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:29.958 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:29.977 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:30.012 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:30.036 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:30.078 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:30.081 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:30.108 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:30.131 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:30.133 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:30.156 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:30.166 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:30.169 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:30.181 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:30.196 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:30.211 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:30.213 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:30.224 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:30.240 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:30.250 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:30.253 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:30.268 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:30.287 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:30.290 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:30.304 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:30.323 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:30.326 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:30.341 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:30.356 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:30.367 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:30.370 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:30.385 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:30.400 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:30.420 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:30.447 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:30.450 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:30.481 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:30.508 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:30.531 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:30.534 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:30.557 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:30.592 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:30.620 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:30.647 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:30.649 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:30.685 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:30.708 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:30.731 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:30.734 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:30.753 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:30.776 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:30.804 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:30.831 30473 WARNING keystonemiddleware._common.config [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:30.857 30473 WARNING keystonemiddleware.auth_token [req-b4e72c73-f44d-471c-b43b-2e7769658476 - - - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. 2021-02-17 17:30:31.569 30473 INFO watcher.db.purge [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] [options] age_in_days = None 2021-02-17 17:30:31.632 30473 INFO watcher.db.purge [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] [options] max_number = None 2021-02-17 17:30:31.660 30473 INFO watcher.db.purge [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] [options] goal = None 2021-02-17 17:30:31.696 30473 INFO watcher.db.purge [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] [options] exclude_orphans = True 2021-02-17 17:30:31.708 30473 INFO watcher.db.purge [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] [options] dry_run = False watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_purge watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_purge ... ok 2021-02-17 17:30:30.123 30472 INFO keystonemiddleware.auth_token [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:30.187 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:30.189 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:30.200 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:30.211 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:30.213 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:30.232 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:30.242 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:30.252 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:30.263 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:30.275 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:30.277 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:30.292 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:30.303 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:30.305 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:30.320 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:30.335 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:30.337 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:30.348 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:30.362 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:30.365 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:30.376 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:30.389 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:30.403 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:30.406 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:30.453 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:30.488 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:30.519 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:30.522 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:30.545 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:30.572 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:30.600 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:30.631 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:30.634 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:30.665 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "executor_thread_pool_size" in conf is not known to auth_token 2021-02-17 17:30:30.692 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:30.719 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:30.722 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:30.741 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:30.769 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:30.792 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:30.819 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:30.822 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:30.845 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:30.876 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:30.896 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:30.911 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:30.914 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:30.939 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:30.942 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:30.968 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:30.991 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:30.994 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:31.009 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:31.024 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:31.043 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:31.058 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:31.061 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:31.072 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:31.083 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:31.102 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:31.105 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:31.131 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:31.146 30472 WARNING keystonemiddleware._common.config [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:31.161 30472 WARNING keystonemiddleware.auth_token [req-b81fca28-3d90-4f4e-b770-e8b20234772c fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(downgrade) watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(downgrade) ... ok 2021-02-17 17:30:32.236 30473 INFO keystonemiddleware.auth_token [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:32.531 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:32.534 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:32.569 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:32.593 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:32.612 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:32.631 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:32.634 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:32.657 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:32.671 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:32.674 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:32.685 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:32.696 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:32.707 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:32.710 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:32.742 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:32.745 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:32.787 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:32.807 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:32.810 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:32.833 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:32.849 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:32.864 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:32.875 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:32.878 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:32.889 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:32.900 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:32.911 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:32.914 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:32.925 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:32.940 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:32.956 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:32.979 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:32.982 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:33.013 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:33.032 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:33.051 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:33.053 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:33.064 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:33.075 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:33.077 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:33.088 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:33.106 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:33.109 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:33.120 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:33.131 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:33.133 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:33.144 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:33.163 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:33.165 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:33.177 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:33.188 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:33.203 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:33.205 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:33.216 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:33.231 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:33.233 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:33.246 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:33.257 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:33.268 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:33.270 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:33.285 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:33.303 30473 WARNING keystonemiddleware._common.config [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:33.347 30473 WARNING keystonemiddleware.auth_token [req-6b4fd90d-f09a-44a5-b8d7-1a310a41d1c1 fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. 2021-02-17 17:30:33.639 30473 ERROR watcher.db.purge [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] Limit should be positive: watcher.common.exception.NegativeLimitError: Limit should be positive 2021-02-17 17:30:33.639 30473 ERROR watcher.db.purge Traceback (most recent call last): 2021-02-17 17:30:33.639 30473 ERROR watcher.db.purge File "/build/watcher-1.12.0/watcher/db/purge.py", line 458, in purge 2021-02-17 17:30:33.639 30473 ERROR watcher.db.purge raise exception.NegativeLimitError 2021-02-17 17:30:33.639 30473 ERROR watcher.db.purge watcher.common.exception.NegativeLimitError: Limit should be positive 2021-02-17 17:30:33.639 30473 ERROR watcher.db.purge  watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_purge_negative_max_number watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_purge_negative_max_number ... ok 2021-02-17 17:30:32.286 30472 INFO keystonemiddleware.auth_token [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:32.579 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:32.582 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:32.605 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:32.628 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:32.651 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:32.654 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:32.665 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:32.675 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:32.678 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:32.693 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:32.703 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:32.706 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:32.716 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:32.747 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:32.749 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:32.791 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:32.794 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:32.813 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:32.840 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:32.851 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:32.866 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:32.869 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:32.881 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:32.892 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:32.903 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:32.906 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:32.917 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:32.928 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:32.943 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:32.958 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:32.962 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:32.989 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:33.005 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:33.028 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "executor_thread_pool_size" in conf is not known to auth_token 2021-02-17 17:30:33.043 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:33.054 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:33.057 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:33.073 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:33.084 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:33.099 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:33.102 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:33.117 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:33.136 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:33.147 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:33.150 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:33.161 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:33.172 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:33.192 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:33.203 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:33.205 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:33.220 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:33.235 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:33.251 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:33.253 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:33.268 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:33.279 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:33.291 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:33.293 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:33.313 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:33.324 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:33.335 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:33.367 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:33.369 30472 WARNING keystonemiddleware._common.config [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:33.419 30472 WARNING keystonemiddleware.auth_token [req-ad8a3549-2969-4963-a08e-66713602a4ca fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(revision) watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(revision) ... ok Limit should be positive 2021-02-17 17:30:34.132 30473 INFO keystonemiddleware.auth_token [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:34.379 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:34.382 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:34.397 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:34.410 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:34.413 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:34.432 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:34.443 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:34.446 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:34.465 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:34.483 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:34.486 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:34.493 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:34.504 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:34.519 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:34.521 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:34.528 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:34.535 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:34.538 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:34.549 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:34.560 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:34.572 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:34.591 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:34.593 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:34.604 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:34.627 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:34.635 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:34.638 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:34.649 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:34.676 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:34.703 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:34.719 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:34.722 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:34.741 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:34.757 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:34.772 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:34.786 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:34.793 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:34.811 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:34.814 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:34.821 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:34.845 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:34.859 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:34.872 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:34.881 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:34.901 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:34.915 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:34.917 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:34.942 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:34.976 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:34.999 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:35.002 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:35.017 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:35.032 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:35.034 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:35.049 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:35.060 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:35.075 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:35.077 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:35.088 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:35.103 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:35.106 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:35.121 30473 WARNING keystonemiddleware._common.config [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:35.147 30473 WARNING keystonemiddleware.auth_token [req-8878f7c3-d067-4e13-bfe5-3657959e74aa fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_revision watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_revision ... ok 2021-02-17 17:30:34.199 30472 INFO keystonemiddleware.auth_token [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:34.371 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:34.379 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:34.382 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:34.393 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:34.400 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:34.407 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:34.419 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:34.421 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:34.437 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:34.448 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:34.467 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:34.469 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:34.483 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:34.486 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:34.501 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:34.520 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:34.522 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:34.537 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:34.552 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:34.567 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:34.570 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:34.589 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:34.600 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:34.623 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:34.626 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:34.641 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:34.652 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:34.661 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:34.692 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:34.694 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:34.731 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:34.734 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:34.749 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:34.764 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "executor_thread_pool_size" in conf is not known to auth_token 2021-02-17 17:30:34.783 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:34.789 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:34.804 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:34.822 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:34.825 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:34.840 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:34.856 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:34.864 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:34.883 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:34.886 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:34.905 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:34.924 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:34.938 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:34.941 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:34.964 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:34.991 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:34.994 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:35.021 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:35.032 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:35.034 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:35.045 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:35.060 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:35.075 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:35.077 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:35.088 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:35.099 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:35.102 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:35.117 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:35.132 30472 WARNING keystonemiddleware._common.config [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:35.145 30472 WARNING keystonemiddleware.auth_token [req-ac219a06-7b27-49b9-b277-3cde2fbe734d fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(stamp) watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(stamp) ... ok 2021-02-17 17:30:36.056 30473 INFO keystonemiddleware.auth_token [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:36.233 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:36.247 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:36.270 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:36.273 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:36.284 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:36.307 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:36.310 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:36.321 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:36.332 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:36.347 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:36.350 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:36.369 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:36.389 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:36.408 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:36.424 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:36.451 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:36.482 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:36.485 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:36.513 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:36.536 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:36.567 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:36.590 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:36.593 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:36.621 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:36.640 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:36.655 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:36.658 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:36.681 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:36.696 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:36.716 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:36.731 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:36.734 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:36.757 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:36.771 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:36.790 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:36.793 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:36.809 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:36.836 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:36.858 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:36.861 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:36.889 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:36.912 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:36.935 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:36.938 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:36.969 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:36.997 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:37.024 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:37.040 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:37.055 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:37.058 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:37.077 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:37.096 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:37.111 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:37.127 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:37.130 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:37.153 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:37.164 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:37.175 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:37.177 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:37.188 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:37.208 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:37.219 30473 WARNING keystonemiddleware._common.config [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:37.234 30473 WARNING keystonemiddleware.auth_token [req-55ca5c35-043f-497e-90a2-6d53d7b6deb6 fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_version watcher.tests.cmd.test_db_manage.TestDBManageRunCommand.test_run_db_version ... ok 2021-02-17 17:30:38.790 30473 INFO watcher.cmd.decisionengine [req-229c4264-458f-4622-b142-3a6490c53016 fake_user fake_project - - -] Starting Watcher Decision Engine service in PID 30473 watcher.tests.cmd.test_decision_engine.TestDecisionEngine.test_run_de_app watcher.tests.cmd.test_decision_engine.TestDecisionEngine.test_run_de_app ... ok 2021-02-17 17:30:36.112 30472 INFO keystonemiddleware.auth_token [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:36.279 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:36.282 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:36.297 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:36.316 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:36.327 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:36.330 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:36.345 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:36.360 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:36.379 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:36.381 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:36.412 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:36.435 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:36.437 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:36.465 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:36.492 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:36.515 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:36.518 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:36.545 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:36.572 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:36.600 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:36.627 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:36.629 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:36.648 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:36.663 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:36.682 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:36.685 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:36.704 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:36.723 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:36.726 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:36.741 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:36.760 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:36.779 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:36.782 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:36.801 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "executor_thread_pool_size" in conf is not known to auth_token 2021-02-17 17:30:36.820 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:36.844 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:36.867 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:36.870 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:36.897 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:36.916 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:36.918 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:36.953 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:36.980 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:37.014 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:37.017 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:37.044 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:37.059 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:37.062 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:37.085 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:37.100 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:37.115 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:37.118 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:37.137 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:37.147 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:37.149 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:37.164 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:37.175 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:37.177 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:37.192 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:37.215 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:37.274 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:37.277 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:37.336 30472 WARNING keystonemiddleware._common.config [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:37.391 30472 WARNING keystonemiddleware.auth_token [req-97743271-374e-429c-b61a-1dab9c60c5d0 fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(version) watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(version) ... ok 2021-02-17 17:30:38.493 30472 INFO keystonemiddleware.auth_token [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:38.697 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:38.708 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:38.710 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:38.733 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:38.744 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:38.754 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:38.756 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:38.767 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:38.770 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:38.780 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:38.791 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:38.794 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:38.805 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:38.812 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:38.823 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:38.826 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:38.833 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:38.844 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:38.855 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:38.858 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token 2021-02-17 17:30:38.873 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "logging_debug_format_suffix" in conf is not known to auth_token 2021-02-17 17:30:38.896 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "logging_exception_prefix" in conf is not known to auth_token 2021-02-17 17:30:38.907 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "logging_user_identity_format" in conf is not known to auth_token 2021-02-17 17:30:38.923 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "default_log_levels" in conf is not known to auth_token 2021-02-17 17:30:38.926 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "publish_errors" in conf is not known to auth_token 2021-02-17 17:30:38.953 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "instance_format" in conf is not known to auth_token 2021-02-17 17:30:38.976 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "instance_uuid_format" in conf is not known to auth_token 2021-02-17 17:30:38.995 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "rate_limit_interval" in conf is not known to auth_token 2021-02-17 17:30:39.007 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "rate_limit_burst" in conf is not known to auth_token 2021-02-17 17:30:39.009 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "rate_limit_except_level" in conf is not known to auth_token 2021-02-17 17:30:39.024 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "transport_url" in conf is not known to auth_token 2021-02-17 17:30:39.035 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "rpc_backend" in conf is not known to auth_token 2021-02-17 17:30:39.046 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "control_exchange" in conf is not known to auth_token 2021-02-17 17:30:39.049 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "executor_thread_pool_size" in conf is not known to auth_token 2021-02-17 17:30:39.071 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "rpc_response_timeout" in conf is not known to auth_token 2021-02-17 17:30:39.084 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "command" in conf is not known to auth_token 2021-02-17 17:30:39.091 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "config_file" in conf is not known to auth_token 2021-02-17 17:30:39.093 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "config_dir" in conf is not known to auth_token 2021-02-17 17:30:39.108 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "api" in conf is not known to auth_token 2021-02-17 17:30:39.110 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "database" in conf is not known to auth_token 2021-02-17 17:30:39.123 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "watcher_planner" in conf is not known to auth_token 2021-02-17 17:30:39.125 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "watcher_applier" in conf is not known to auth_token 2021-02-17 17:30:39.140 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "watcher_decision_engine" in conf is not known to auth_token 2021-02-17 17:30:39.179 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "monasca_client" in conf is not known to auth_token 2021-02-17 17:30:39.182 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "nova_client" in conf is not known to auth_token 2021-02-17 17:30:39.237 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "glance_client" in conf is not known to auth_token 2021-02-17 17:30:39.268 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "gnocchi_client" in conf is not known to auth_token 2021-02-17 17:30:39.296 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "cinder_client" in conf is not known to auth_token 2021-02-17 17:30:39.331 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "ceilometer_client" in conf is not known to auth_token 2021-02-17 17:30:39.333 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "neutron_client" in conf is not known to auth_token 2021-02-17 17:30:39.357 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "watcher_clients_auth" in conf is not known to auth_token 2021-02-17 17:30:39.392 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "ironic_client" in conf is not known to auth_token 2021-02-17 17:30:39.423 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "collector" in conf is not known to auth_token 2021-02-17 17:30:39.426 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_concurrency" in conf is not known to auth_token 2021-02-17 17:30:39.461 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_versionedobjects" in conf is not known to auth_token 2021-02-17 17:30:39.488 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "keystone_authtoken" in conf is not known to auth_token 2021-02-17 17:30:39.507 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_reports" in conf is not known to auth_token 2021-02-17 17:30:39.510 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_messaging_rabbit" in conf is not known to auth_token 2021-02-17 17:30:39.533 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_messaging_notifications" in conf is not known to auth_token 2021-02-17 17:30:39.560 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_policy" in conf is not known to auth_token 2021-02-17 17:30:39.584 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_messaging_amqp" in conf is not known to auth_token 2021-02-17 17:30:39.615 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "oslo_messaging_zmq" in conf is not known to auth_token 2021-02-17 17:30:39.617 30472 WARNING keystonemiddleware._common.config [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] The option "matchmaker_redis" in conf is not known to auth_token 2021-02-17 17:30:39.672 30472 WARNING keystonemiddleware.auth_token [req-6a3477a2-7060-460e-bafc-27d9aaaf59e2 fake_user fake_project - - -] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True. watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(create_schema) watcher.tests.cmd.test_db_manage.TestDBManageRunApp.test_run_db_manage_app(create_schema) ... ok 2021-02-17 17:30:40.692 30472 INFO keystonemiddleware.auth_token [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] Starting Keystone auth_token middleware 2021-02-17 17:30:40.913 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "config_source" in conf is not known to auth_token 2021-02-17 17:30:40.924 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "periodic_interval" in conf is not known to auth_token 2021-02-17 17:30:40.943 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "host" in conf is not known to auth_token 2021-02-17 17:30:40.945 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "service_down_time" in conf is not known to auth_token 2021-02-17 17:30:40.960 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "enable_authentication" in conf is not known to auth_token 2021-02-17 17:30:40.972 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "pybasedir" in conf is not known to auth_token 2021-02-17 17:30:40.983 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "bindir" in conf is not known to auth_token 2021-02-17 17:30:40.986 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "state_path" in conf is not known to auth_token 2021-02-17 17:30:41.005 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "fatal_exception_format_errors" in conf is not known to auth_token 2021-02-17 17:30:41.016 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "notification_level" in conf is not known to auth_token 2021-02-17 17:30:41.032 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "debug" in conf is not known to auth_token 2021-02-17 17:30:41.047 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "log_date_format" in conf is not known to auth_token 2021-02-17 17:30:41.050 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "watch_log_file" in conf is not known to auth_token 2021-02-17 17:30:41.064 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "use_syslog" in conf is not known to auth_token 2021-02-17 17:30:41.075 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "use_journal" in conf is not known to auth_token 2021-02-17 17:30:41.077 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "syslog_log_facility" in conf is not known to auth_token 2021-02-17 17:30:41.093 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "use_json" in conf is not known to auth_token 2021-02-17 17:30:41.112 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "use_stderr" in conf is not known to auth_token 2021-02-17 17:30:41.131 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "logging_context_format_string" in conf is not known to auth_token 2021-02-17 17:30:41.134 30472 WARNING keystonemiddleware._common.config [req-1c0266af-0bd7-45b4-a713-c800826df52d fake_user fake_project - - -] The option "logging_default_format_string" in conf is not known to auth_token Thu Feb 18 16:37:37 UTC 2021 - pbuilder was killed by timeout after 24h.