0s autopkgtest [17:54:21]: starting date and time: 2024-03-22 17:54:21+0000 0s autopkgtest [17:54:21]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [17:54:21]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.a6dy07bw/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:sphinx --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/7.2.6-6 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos02-ppc64el-12.secgroup --name adt-noble-ppc64el-patroni-20240322-164611-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 147s autopkgtest [17:56:48]: testbed dpkg architecture: ppc64el 147s autopkgtest [17:56:48]: testbed apt version: 2.7.12 147s autopkgtest [17:56:48]: @@@@@@@@@@@@@@@@@@@@ test bed setup 148s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 148s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 149s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3980 kB] 149s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 149s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 149s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [674 kB] 149s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 149s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 149s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 149s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4138 kB] 149s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 149s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [59.4 kB] 149s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 153s Fetched 9544 kB in 3s (3532 kB/s) 153s Reading package lists... 156s Reading package lists... 156s Building dependency tree... 156s Reading state information... 156s Calculating upgrade... 156s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 156s Reading package lists... 157s Building dependency tree... 157s Reading state information... 157s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 157s sh: Attempting to set up Debian/Ubuntu apt sources automatically 157s sh: Distribution appears to be Ubuntu 158s Reading package lists... 158s Building dependency tree... 158s Reading state information... 158s eatmydata is already the newest version (131-1). 158s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 158s Reading package lists... 159s Building dependency tree... 159s Reading state information... 159s dbus is already the newest version (1.14.10-4ubuntu1). 159s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 159s Reading package lists... 159s Building dependency tree... 159s Reading state information... 159s rng-tools-debian is already the newest version (2.4). 159s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 159s Reading package lists... 159s Building dependency tree... 159s Reading state information... 159s The following packages will be REMOVED: 159s cloud-init* python3-configobj* python3-debconf* 160s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 160s After this operation, 3256 kB disk space will be freed. 160s (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 ... 70156 files and directories currently installed.) 160s Removing cloud-init (24.1.2-0ubuntu1) ... 160s Removing python3-configobj (5.0.8-3) ... 160s Removing python3-debconf (1.5.86) ... 160s Processing triggers for man-db (2.12.0-3) ... 161s (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 ... 69767 files and directories currently installed.) 161s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 161s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 162s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 162s invoke-rc.d: policy-rc.d denied execution of try-restart. 162s Reading package lists... 162s Building dependency tree... 162s Reading state information... 162s linux-generic is already the newest version (6.8.0-11.11+1). 162s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 162s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 162s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 162s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 165s Reading package lists... 165s Reading package lists... 165s Building dependency tree... 165s Reading state information... 165s Calculating upgrade... 165s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 165s Reading package lists... 166s Building dependency tree... 166s Reading state information... 166s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 166s autopkgtest [17:57:07]: rebooting testbed after setup commands that affected boot 326s autopkgtest [17:59:47]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Wed Feb 14 00:33:03 UTC 2024 330s autopkgtest [17:59:51]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 333s Get:1 http://ftpmaster.internal/ubuntu noble/universe patroni 3.2.2-2 (dsc) [2873 B] 333s Get:2 http://ftpmaster.internal/ubuntu noble/universe patroni 3.2.2-2 (tar) [1121 kB] 333s Get:3 http://ftpmaster.internal/ubuntu noble/universe patroni 3.2.2-2 (diff) [22.9 kB] 333s gpgv: Signature made Tue Feb 6 14:38:55 2024 UTC 333s gpgv: using RSA key 5C48FE6157F49179597087C64C5A6BAB12D2A7AE 333s gpgv: Can't check signature: No public key 333s dpkg-source: warning: cannot verify inline signature for ./patroni_3.2.2-2.dsc: no acceptable signature found 333s autopkgtest [17:59:54]: testing package patroni version 3.2.2-2 334s autopkgtest [17:59:55]: build not needed 337s autopkgtest [17:59:58]: test acceptance-etcd3: preparing testbed 338s Reading package lists... 338s Building dependency tree... 338s Reading state information... 338s Starting pkgProblemResolver with broken count: 0 338s Starting 2 pkgProblemResolver with broken count: 0 338s Done 339s The following additional packages will be installed: 339s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 339s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm17 libpq5 339s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 339s patroni-doc postgresql postgresql-16 postgresql-client-16 339s postgresql-client-common postgresql-common python3-behave python3-cdiff 339s python3-click python3-colorama python3-coverage python3-dateutil 339s python3-dnspython python3-etcd python3-parse python3-parse-type 339s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 339s sphinx-rtd-theme-common ssl-cert 339s Suggested packages: 339s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 339s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 339s python3-httpcore etcd python-psycopg2-doc 339s Recommended packages: 339s javascript-common libjson-xs-perl 339s The following NEW packages will be installed: 339s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 339s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 339s libllvm17 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 339s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 339s postgresql-client-common postgresql-common python3-behave python3-cdiff 339s python3-click python3-colorama python3-coverage python3-dateutil 339s python3-dnspython python3-etcd python3-parse python3-parse-type 339s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 339s sphinx-rtd-theme-common ssl-cert 339s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 339s Need to get 60.6 MB/60.6 MB of archives. 339s After this operation, 256 MB of additional disk space will be used. 339s Get:1 /tmp/autopkgtest.gBYNUz/1-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [760 B] 339s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-lato all 2.015-1 [2781 kB] 341s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 341s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-common all 257 [36.2 kB] 341s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el ssl-cert all 1.1.2ubuntu1 [17.8 kB] 341s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-common all 257 [162 kB] 341s Get:7 http://ftpmaster.internal/ubuntu noble/universe ppc64el etcd-server ppc64el 3.4.30-1 [7420 kB] 343s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 343s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libio-pty-perl ppc64el 1:1.20-1 [31.7 kB] 343s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libipc-run-perl all 20231003.0-1 [92.1 kB] 343s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 343s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 343s Get:13 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-sphinxdoc all 7.2.6-4 [149 kB] 343s Get:14 http://ftpmaster.internal/ubuntu noble/main ppc64el libllvm17 ppc64el 1:17.0.6-5build1 [27.3 MB] 351s Get:15 http://ftpmaster.internal/ubuntu noble/main ppc64el libpq5 ppc64el 16.2-1 [170 kB] 352s Get:16 http://ftpmaster.internal/ubuntu noble/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 352s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 352s Get:18 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.35-1 [185 kB] 352s Get:19 http://ftpmaster.internal/ubuntu noble/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 352s Get:20 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cdiff all 1.0-1.1 [16.4 kB] 352s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 352s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-click all 8.1.6-1 [79.0 kB] 352s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 352s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 352s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-prettytable all 3.6.0-1 [33.1 kB] 352s Get:26 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psutil ppc64el 5.9.8-1 [197 kB] 352s Get:27 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psycopg2 ppc64el 2.9.9-1 [197 kB] 352s Get:28 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 352s Get:29 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-etcd all 0.4.5-4 [31.9 kB] 352s Get:30 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni all 3.2.2-2 [253 kB] 352s Get:31 http://ftpmaster.internal/ubuntu noble/main ppc64el sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 352s Get:32 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni-doc all 3.2.2-2 [476 kB] 352s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-16 ppc64el 16.2-1 [1399 kB] 353s Get:34 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-16 ppc64el 16.2-1 [16.9 MB] 359s Get:35 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql all 16+257 [11.4 kB] 359s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse all 1.19.0-0.2 [18.1 kB] 359s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse-type all 0.6.2-1 [22.7 kB] 359s Get:38 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-behave all 1.2.6-5 [98.4 kB] 359s Get:39 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-coverage ppc64el 7.3.2-0ubuntu1 [148 kB] 359s Preconfiguring packages ... 359s Fetched 60.6 MB in 20s (3036 kB/s) 359s Selecting previously unselected package fonts-lato. 359s (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 ... 69712 files and directories currently installed.) 359s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 359s Unpacking fonts-lato (2.015-1) ... 359s Selecting previously unselected package libjson-perl. 359s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 359s Unpacking libjson-perl (4.10000-1) ... 359s Selecting previously unselected package postgresql-client-common. 359s Preparing to unpack .../02-postgresql-client-common_257_all.deb ... 359s Unpacking postgresql-client-common (257) ... 359s Selecting previously unselected package ssl-cert. 359s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu1_all.deb ... 359s Unpacking ssl-cert (1.1.2ubuntu1) ... 359s Selecting previously unselected package postgresql-common. 359s Preparing to unpack .../04-postgresql-common_257_all.deb ... 359s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 359s Unpacking postgresql-common (257) ... 359s Selecting previously unselected package etcd-server. 359s Preparing to unpack .../05-etcd-server_3.4.30-1_ppc64el.deb ... 359s Unpacking etcd-server (3.4.30-1) ... 360s Selecting previously unselected package fonts-font-awesome. 360s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 360s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 360s Selecting previously unselected package libio-pty-perl. 360s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1_ppc64el.deb ... 360s Unpacking libio-pty-perl (1:1.20-1) ... 360s Selecting previously unselected package libipc-run-perl. 360s Preparing to unpack .../08-libipc-run-perl_20231003.0-1_all.deb ... 360s Unpacking libipc-run-perl (20231003.0-1) ... 360s Selecting previously unselected package libjs-jquery. 360s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 360s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 360s Selecting previously unselected package libjs-underscore. 360s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 360s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 360s Selecting previously unselected package libjs-sphinxdoc. 360s Preparing to unpack .../11-libjs-sphinxdoc_7.2.6-4_all.deb ... 360s Unpacking libjs-sphinxdoc (7.2.6-4) ... 360s Selecting previously unselected package libllvm17:ppc64el. 360s Preparing to unpack .../12-libllvm17_1%3a17.0.6-5build1_ppc64el.deb ... 360s Unpacking libllvm17:ppc64el (1:17.0.6-5build1) ... 361s Selecting previously unselected package libpq5:ppc64el. 361s Preparing to unpack .../13-libpq5_16.2-1_ppc64el.deb ... 361s Unpacking libpq5:ppc64el (16.2-1) ... 361s Selecting previously unselected package libtime-duration-perl. 361s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 361s Unpacking libtime-duration-perl (1.21-2) ... 361s Selecting previously unselected package libtimedate-perl. 361s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 361s Unpacking libtimedate-perl (2.3300-2) ... 361s Selecting previously unselected package libxslt1.1:ppc64el. 361s Preparing to unpack .../16-libxslt1.1_1.1.35-1_ppc64el.deb ... 361s Unpacking libxslt1.1:ppc64el (1.1.35-1) ... 361s Selecting previously unselected package moreutils. 361s Preparing to unpack .../17-moreutils_0.69-1_ppc64el.deb ... 361s Unpacking moreutils (0.69-1) ... 361s Selecting previously unselected package python3-cdiff. 361s Preparing to unpack .../18-python3-cdiff_1.0-1.1_all.deb ... 361s Unpacking python3-cdiff (1.0-1.1) ... 361s Selecting previously unselected package python3-colorama. 361s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 361s Unpacking python3-colorama (0.4.6-4) ... 361s Selecting previously unselected package python3-click. 361s Preparing to unpack .../20-python3-click_8.1.6-1_all.deb ... 361s Unpacking python3-click (8.1.6-1) ... 361s Selecting previously unselected package python3-dateutil. 361s Preparing to unpack .../21-python3-dateutil_2.8.2-3_all.deb ... 361s Unpacking python3-dateutil (2.8.2-3) ... 361s Selecting previously unselected package python3-wcwidth. 361s Preparing to unpack .../22-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 361s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 361s Selecting previously unselected package python3-prettytable. 361s Preparing to unpack .../23-python3-prettytable_3.6.0-1_all.deb ... 361s Unpacking python3-prettytable (3.6.0-1) ... 361s Selecting previously unselected package python3-psutil. 361s Preparing to unpack .../24-python3-psutil_5.9.8-1_ppc64el.deb ... 361s Unpacking python3-psutil (5.9.8-1) ... 361s Selecting previously unselected package python3-psycopg2. 361s Preparing to unpack .../25-python3-psycopg2_2.9.9-1_ppc64el.deb ... 361s Unpacking python3-psycopg2 (2.9.9-1) ... 361s Selecting previously unselected package python3-dnspython. 361s Preparing to unpack .../26-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 361s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 361s Selecting previously unselected package python3-etcd. 361s Preparing to unpack .../27-python3-etcd_0.4.5-4_all.deb ... 361s Unpacking python3-etcd (0.4.5-4) ... 361s Selecting previously unselected package patroni. 361s Preparing to unpack .../28-patroni_3.2.2-2_all.deb ... 361s Unpacking patroni (3.2.2-2) ... 361s Selecting previously unselected package sphinx-rtd-theme-common. 361s Preparing to unpack .../29-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 361s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 361s Selecting previously unselected package patroni-doc. 361s Preparing to unpack .../30-patroni-doc_3.2.2-2_all.deb ... 361s Unpacking patroni-doc (3.2.2-2) ... 361s Selecting previously unselected package postgresql-client-16. 361s Preparing to unpack .../31-postgresql-client-16_16.2-1_ppc64el.deb ... 361s Unpacking postgresql-client-16 (16.2-1) ... 361s Selecting previously unselected package postgresql-16. 361s Preparing to unpack .../32-postgresql-16_16.2-1_ppc64el.deb ... 361s Unpacking postgresql-16 (16.2-1) ... 362s Selecting previously unselected package postgresql. 362s Preparing to unpack .../33-postgresql_16+257_all.deb ... 362s Unpacking postgresql (16+257) ... 362s Selecting previously unselected package python3-parse. 362s Preparing to unpack .../34-python3-parse_1.19.0-0.2_all.deb ... 362s Unpacking python3-parse (1.19.0-0.2) ... 362s Selecting previously unselected package python3-parse-type. 362s Preparing to unpack .../35-python3-parse-type_0.6.2-1_all.deb ... 362s Unpacking python3-parse-type (0.6.2-1) ... 362s Selecting previously unselected package python3-behave. 362s Preparing to unpack .../36-python3-behave_1.2.6-5_all.deb ... 362s Unpacking python3-behave (1.2.6-5) ... 362s Selecting previously unselected package python3-coverage. 362s Preparing to unpack .../37-python3-coverage_7.3.2-0ubuntu1_ppc64el.deb ... 362s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 362s Selecting previously unselected package autopkgtest-satdep. 362s Preparing to unpack .../38-1-autopkgtest-satdep.deb ... 362s Unpacking autopkgtest-satdep (0) ... 362s Setting up postgresql-client-common (257) ... 362s Setting up fonts-lato (2.015-1) ... 362s Setting up libio-pty-perl (1:1.20-1) ... 362s Setting up python3-colorama (0.4.6-4) ... 362s Setting up python3-cdiff (1.0-1.1) ... 362s Setting up libpq5:ppc64el (16.2-1) ... 362s Setting up python3-coverage (7.3.2-0ubuntu1) ... 362s Setting up python3-click (8.1.6-1) ... 363s Setting up python3-psutil (5.9.8-1) ... 363s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 363s Setting up ssl-cert (1.1.2ubuntu1) ... 363s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 364s Setting up python3-psycopg2 (2.9.9-1) ... 364s Setting up libipc-run-perl (20231003.0-1) ... 364s Setting up libtime-duration-perl (1.21-2) ... 364s Setting up libtimedate-perl (2.3300-2) ... 364s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 364s Setting up python3-parse (1.19.0-0.2) ... 364s Setting up libjson-perl (4.10000-1) ... 364s Setting up libxslt1.1:ppc64el (1.1.35-1) ... 364s Setting up python3-dateutil (2.8.2-3) ... 365s Setting up etcd-server (3.4.30-1) ... 365s info: Selecting UID from range 100 to 999 ... 365s 365s info: Selecting GID from range 100 to 999 ... 365s info: Adding system user `etcd' (UID 107) ... 365s info: Adding new group `etcd' (GID 111) ... 365s info: Adding new user `etcd' (UID 107) with group `etcd' ... 365s info: Creating home directory `/var/lib/etcd/' ... 365s Created symlink /etc/systemd/system/etcd2.service → /usr/lib/systemd/system/etcd.service. 365s Created symlink /etc/systemd/system/multi-user.target.wants/etcd.service → /usr/lib/systemd/system/etcd.service. 366s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 366s Setting up python3-prettytable (3.6.0-1) ... 366s Setting up libllvm17:ppc64el (1:17.0.6-5build1) ... 366s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 366s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 366s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 366s Setting up moreutils (0.69-1) ... 366s Setting up python3-etcd (0.4.5-4) ... 366s Setting up postgresql-client-16 (16.2-1) ... 367s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 367s Setting up python3-parse-type (0.6.2-1) ... 367s Setting up postgresql-common (257) ... 367s 367s Creating config file /etc/postgresql-common/createcluster.conf with new version 367s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 367s Removing obsolete dictionary files: 368s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 369s Setting up libjs-sphinxdoc (7.2.6-4) ... 369s Setting up python3-behave (1.2.6-5) ... 369s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 369s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 369s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 369s """Registers a custom type that will be available to "parse" 369s Setting up patroni (3.2.2-2) ... 369s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 370s Setting up postgresql-16 (16.2-1) ... 370s Creating new PostgreSQL cluster 16/main ... 370s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 370s The files belonging to this database system will be owned by user "postgres". 370s This user must also own the server process. 370s 370s The database cluster will be initialized with locale "C.UTF-8". 370s The default database encoding has accordingly been set to "UTF8". 370s The default text search configuration will be set to "english". 370s 370s Data page checksums are disabled. 370s 370s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 370s creating subdirectories ... ok 370s selecting dynamic shared memory implementation ... posix 370s selecting default max_connections ... 100 370s selecting default shared_buffers ... 128MB 370s selecting default time zone ... Etc/UTC 370s creating configuration files ... ok 370s running bootstrap script ... ok 371s performing post-bootstrap initialization ... ok 371s syncing data to disk ... ok 374s Setting up patroni-doc (3.2.2-2) ... 374s Setting up postgresql (16+257) ... 374s Setting up autopkgtest-satdep (0) ... 374s Processing triggers for man-db (2.12.0-3) ... 375s Processing triggers for libc-bin (2.39-0ubuntu2) ... 378s (Reading database ... 73074 files and directories currently installed.) 378s Removing autopkgtest-satdep (0) ... 379s autopkgtest [18:00:40]: test acceptance-etcd3: debian/tests/acceptance etcd3 379s autopkgtest [18:00:40]: test acceptance-etcd3: [----------------------- 379s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 379s ++ ls -1r /usr/lib/postgresql/ 379s ### PostgreSQL 16 acceptance-etcd3 ### 379s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 379s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 379s + '[' 16 == 10 ']' 379s + SKIP= 379s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd3 PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 380s Mar 22 18:00:41 Feature: basic replication # features/basic_replication.feature:1 380s Mar 22 18:00:41 We should check that the basic bootstrapping, replication and failover works. 380s Mar 22 18:00:41 Scenario: check replication of a single table # features/basic_replication.feature:4 380s Mar 22 18:00:41 Given I start postgres0 # features/steps/basic_replication.py:8 384s Mar 22 18:00:45 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 385s Mar 22 18:00:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 385s Mar 22 18:00:46 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 385s Mar 22 18:00:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 385s Mar 22 18:00:46 When I start postgres1 # features/steps/basic_replication.py:8 389s Mar 22 18:00:50 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 394s Mar 22 18:00:54 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 394s Mar 22 18:00:54 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 394s Mar 22 18:00:54 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 394s Mar 22 18:00:55 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 394s Mar 22 18:00:55 394s Mar 22 18:00:55 Scenario: check restart of sync replica # features/basic_replication.feature:17 394s Mar 22 18:00:55 Given I shut down postgres2 # features/steps/basic_replication.py:29 395s Mar 22 18:00:56 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 395s Mar 22 18:00:56 When I start postgres2 # features/steps/basic_replication.py:8 398s Mar 22 18:00:59 And I shut down postgres1 # features/steps/basic_replication.py:29 401s Mar 22 18:01:02 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 402s Mar 22 18:01:03 When I start postgres1 # features/steps/basic_replication.py:8 405s Mar 22 18:01:06 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 406s Mar 22 18:01:07 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 407s Mar 22 18:01:07 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 407s Mar 22 18:01:08 407s Mar 22 18:01:08 Scenario: check stuck sync replica # features/basic_replication.feature:28 407s Mar 22 18:01:08 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 407s Mar 22 18:01:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 407s Mar 22 18:01:08 And I create table on postgres0 # features/steps/basic_replication.py:69 407s Mar 22 18:01:08 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 408s Mar 22 18:01:09 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 408s Mar 22 18:01:09 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 408s Mar 22 18:01:09 And I load data on postgres0 # features/steps/basic_replication.py:80 409s Mar 22 18:01:10 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 412s Mar 22 18:01:13 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 412s Mar 22 18:01:13 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 412s Mar 22 18:01:13 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 412s Mar 22 18:01:13 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 412s Mar 22 18:01:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 412s Mar 22 18:01:13 And I drop table on postgres0 # features/steps/basic_replication.py:69 412s Mar 22 18:01:13 412s Mar 22 18:01:13 Scenario: check multi sync replication # features/basic_replication.feature:44 412s Mar 22 18:01:13 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 412s Mar 22 18:01:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 412s Mar 22 18:01:13 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 416s Mar 22 18:01:17 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 416s Mar 22 18:01:17 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 416s Mar 22 18:01:17 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 416s Mar 22 18:01:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 416s Mar 22 18:01:17 And I shut down postgres1 # features/steps/basic_replication.py:29 419s Mar 22 18:01:20 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 420s Mar 22 18:01:21 When I start postgres1 # features/steps/basic_replication.py:8 423s Mar 22 18:01:24 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 424s Mar 22 18:01:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 424s Mar 22 18:01:25 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 425s Mar 22 18:01:25 425s Mar 22 18:01:25 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 425s Mar 22 18:01:25 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 426s Mar 22 18:01:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 426s Mar 22 18:01:27 When I sleep for 2 seconds # features/steps/patroni_api.py:39 428s Mar 22 18:01:29 And I shut down postgres0 # features/steps/basic_replication.py:29 429s Mar 22 18:01:30 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 431s Mar 22 18:01:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 431s Mar 22 18:01:32 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 449s Mar 22 18:01:50 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 452s Mar 22 18:01:53 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 452s Mar 22 18:01:53 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 453s Mar 22 18:01:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 453s Mar 22 18:01:53 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 453s Mar 22 18:01:53 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 455s Mar 22 18:01:55 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 455s Mar 22 18:01:56 455s Mar 22 18:01:56 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 455s Mar 22 18:01:56 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 455s Mar 22 18:01:56 And I start postgres0 # features/steps/basic_replication.py:8 455s Mar 22 18:01:56 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 463s Mar 22 18:02:04 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 463s Mar 22 18:02:04 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 464s Mar 22 18:02:05 464s Mar 22 18:02:05 @reject-duplicate-name 464s Mar 22 18:02:05 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 464s Mar 22 18:02:05 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 467s Mar 22 18:02:08 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:117 471s Mar 22 18:02:12 471s Mar 22 18:02:12 Feature: cascading replication # features/cascading_replication.feature:1 471s Mar 22 18:02:12 We should check that patroni can do base backup and streaming from the replica 471s Mar 22 18:02:12 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 471s Mar 22 18:02:12 Given I start postgres0 # features/steps/basic_replication.py:8 475s Mar 22 18:02:16 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 476s Mar 22 18:02:17 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 480s Mar 22 18:02:21 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 485s Mar 22 18:02:26 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 485s Mar 22 18:02:26 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 485s Mar 22 18:02:26 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 485s Mar 22 18:02:26 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 488s Mar 22 18:02:29 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 493s Mar 22 18:02:34 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 499s Mar 22 18:02:40 499s SKIP FEATURE citus: Citus extenstion isn't available 499s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 499s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 499s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 499s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 499s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 499s Mar 22 18:02:40 Feature: citus # features/citus.feature:1 499s Mar 22 18:02:40 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 499s Mar 22 18:02:40 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 499s Mar 22 18:02:40 Given I start postgres0 in citus group 0 # None 499s Mar 22 18:02:40 And I start postgres2 in citus group 1 # None 499s Mar 22 18:02:40 Then postgres0 is a leader in a group 0 after 10 seconds # None 499s Mar 22 18:02:40 And postgres2 is a leader in a group 1 after 10 seconds # None 499s Mar 22 18:02:40 When I start postgres1 in citus group 0 # None 499s Mar 22 18:02:40 And I start postgres3 in citus group 1 # None 499s Mar 22 18:02:40 Then replication works from postgres0 to postgres1 after 15 seconds # None 499s Mar 22 18:02:40 Then replication works from postgres2 to postgres3 after 15 seconds # None 499s Mar 22 18:02:40 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 499s Mar 22 18:02:40 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 499s Mar 22 18:02:40 499s Mar 22 18:02:40 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 499s Mar 22 18:02:40 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 499s Mar 22 18:02:40 Then postgres1 role is the primary after 10 seconds # None 499s Mar 22 18:02:40 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 499s Mar 22 18:02:40 And replication works from postgres1 to postgres0 after 15 seconds # None 499s Mar 22 18:02:40 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 499s Mar 22 18:02:40 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 499s Mar 22 18:02:40 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 499s Mar 22 18:02:40 Then postgres0 role is the primary after 10 seconds # None 499s Mar 22 18:02:40 And replication works from postgres0 to postgres1 after 15 seconds # None 499s Mar 22 18:02:40 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 499s Mar 22 18:02:40 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 499s Mar 22 18:02:40 499s Mar 22 18:02:40 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 499s Mar 22 18:02:40 Given I create a distributed table on postgres0 # None 499s Mar 22 18:02:40 And I start a thread inserting data on postgres0 # None 499s Mar 22 18:02:40 When I run patronictl.py switchover batman --group 1 --force # None 499s Mar 22 18:02:40 Then I receive a response returncode 0 # None 499s Mar 22 18:02:40 And postgres3 role is the primary after 10 seconds # None 499s Mar 22 18:02:40 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 499s Mar 22 18:02:40 And replication works from postgres3 to postgres2 after 15 seconds # None 499s Mar 22 18:02:40 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 499s Mar 22 18:02:40 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 499s Mar 22 18:02:40 And a thread is still alive # None 499s Mar 22 18:02:40 When I run patronictl.py switchover batman --group 1 --force # None 499s Mar 22 18:02:40 Then I receive a response returncode 0 # None 499s Mar 22 18:02:40 And postgres2 role is the primary after 10 seconds # None 499s Mar 22 18:02:40 And replication works from postgres2 to postgres3 after 15 seconds # None 499s Mar 22 18:02:40 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 499s Mar 22 18:02:40 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 499s Mar 22 18:02:40 And a thread is still alive # None 499s Mar 22 18:02:40 When I stop a thread # None 499s Mar 22 18:02:40 Then a distributed table on postgres0 has expected rows # None 499s Mar 22 18:02:40 499s Mar 22 18:02:40 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 499s Mar 22 18:02:40 Given I cleanup a distributed table on postgres0 # None 499s Mar 22 18:02:40 And I start a thread inserting data on postgres0 # None 499s Mar 22 18:02:40 When I run patronictl.py restart batman postgres2 --group 1 --force # None 499s Mar 22 18:02:40 Then I receive a response returncode 0 # None 499s Mar 22 18:02:40 And postgres2 role is the primary after 10 seconds # None 499s Mar 22 18:02:40 And replication works from postgres2 to postgres3 after 15 seconds # None 499s Mar 22 18:02:40 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 499s Mar 22 18:02:40 And a thread is still alive # None 499s Mar 22 18:02:40 When I stop a thread # None 499s Mar 22 18:02:40 Then a distributed table on postgres0 has expected rows # None 499s Mar 22 18:02:40 499s Mar 22 18:02:40 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 499s Mar 22 18:02:40 Given I start postgres4 in citus group 2 # None 499s Mar 22 18:02:40 Then postgres4 is a leader in a group 2 after 10 seconds # None 499s Mar 22 18:02:40 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 499s Mar 22 18:02:40 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 499s Mar 22 18:02:40 Then I receive a response returncode 0 # None 499s Mar 22 18:02:40 And I receive a response output "+ttl: 20" # None 499s Mar 22 18:02:40 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 499s Mar 22 18:02:40 When I shut down postgres4 # None 499s Mar 22 18:02:40 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 499s Mar 22 18:02:40 When I run patronictl.py restart batman postgres2 --group 1 --force # None 499s Mar 22 18:02:40 Then a transaction finishes in 20 seconds # None 499s Mar 22 18:02:40 499s Mar 22 18:02:40 Feature: custom bootstrap # features/custom_bootstrap.feature:1 499s Mar 22 18:02:40 We should check that patroni can bootstrap a new cluster from a backup 499s Mar 22 18:02:40 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 499s Mar 22 18:02:40 Given I start postgres0 # features/steps/basic_replication.py:8 503s Mar 22 18:02:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 504s Mar 22 18:02:45 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 504s Mar 22 18:02:45 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 510s Mar 22 18:02:50 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 510s Mar 22 18:02:51 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 510s Mar 22 18:02:51 510s Mar 22 18:02:51 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 510s Mar 22 18:02:51 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 510s Mar 22 18:02:51 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 511s Mar 22 18:02:52 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 517s Mar 22 18:02:58 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 518s Mar 22 18:02:59 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 524s Mar 22 18:03:05 525s Mar 22 18:03:05 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 525s Mar 22 18:03:05 We should check the basic dcs failsafe mode functioning 525s Mar 22 18:03:05 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 525s Mar 22 18:03:05 Given I start postgres0 # features/steps/basic_replication.py:8 528s Mar 22 18:03:09 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 529s Mar 22 18:03:10 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 529s Mar 22 18:03:10 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 530s Mar 22 18:03:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 530s Mar 22 18:03:10 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 531s Mar 22 18:03:12 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 531s Mar 22 18:03:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 531s Mar 22 18:03:12 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 531s Mar 22 18:03:12 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 531s Mar 22 18:03:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 531s Mar 22 18:03:12 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 531s Mar 22 18:03:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 531s Mar 22 18:03:12 531s Mar 22 18:03:12 @dcs-failsafe 531s Mar 22 18:03:12 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 531s Mar 22 18:03:12 Given DCS is down # None 531s Mar 22 18:03:12 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 531s Mar 22 18:03:12 And postgres0 role is the primary after 10 seconds # None 531s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 531s SKIP Scenario check new replica isn't promoted when leader is down and DCS is up: it is not possible to control state of etcd3 from tests 531s Mar 22 18:03:12 531s Mar 22 18:03:12 @dcs-failsafe 531s Mar 22 18:03:12 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 531s Mar 22 18:03:12 Given DCS is up # None 531s Mar 22 18:03:12 When I do a backup of postgres0 # None 531s Mar 22 18:03:12 And I shut down postgres0 # None 531s Mar 22 18:03:12 When I start postgres1 in a cluster batman from backup with no_leader # None 531s Mar 22 18:03:12 Then postgres1 role is the replica after 12 seconds # None 531s Mar 22 18:03:12 531s Mar 22 18:03:12 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 531s Mar 22 18:03:12 Given I start postgres0 # features/steps/basic_replication.py:8 531s Mar 22 18:03:12 And I start postgres1 # features/steps/basic_replication.py:8 535s Mar 22 18:03:16 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 535s Mar 22 18:03:16 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 536s Mar 22 18:03:17 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 536s Mar 22 18:03:17 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 536s Mar 22 18:03:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 536s Mar 22 18:03:17 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 536s Mar 22 18:03:17 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 536s Mar 22 18:03:17 536s Mar 22 18:03:17 @dcs-failsafe @slot-advance 536s Mar 22 18:03:17 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 536s Mar 22 18:03:17 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 536s Mar 22 18:03:17 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 536s Mar 22 18:03:17 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 536s Mar 22 18:03:17 And DCS is down # None 536s Mar 22 18:03:17 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 536s Mar 22 18:03:17 Then postgres0 role is the primary after 10 seconds # None 536s Mar 22 18:03:17 And postgres1 role is the replica after 2 seconds # None 536s Mar 22 18:03:17 And replication works from postgres0 to postgres1 after 10 seconds # None 536s Mar 22 18:03:17 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 536s Mar 22 18:03:17 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 536s Mar 22 18:03:17 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 536s Mar 22 18:03:17 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 536s Mar 22 18:03:17 536s Mar 22 18:03:17 @dcs-failsafe 536s Mar 22 18:03:17 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 536s Mar 22 18:03:17 Given DCS is down # None 536s Mar 22 18:03:17 And I kill postgres1 # None 536s Mar 22 18:03:17 And I kill postmaster on postgres1 # None 536s Mar 22 18:03:17SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 536s SKIP Scenario check primary is demoted when one replica is shut down and DCS is down: it is not possible to control state of etcd3 from tests 536s SKIP Scenario check known replica is promoted when leader is down and DCS is up: it is not possible to control state of etcd3 from tests 536s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 536s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 536s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 536s SKIP Scenario check that permanent slots are in sync between nodes while DCS is down: it is not possible to control state of etcd3 from tests 536s Then postgres0 role is the replica after 12 seconds # None 536s Mar 22 18:03:17 536s Mar 22 18:03:17 @dcs-failsafe 536s Mar 22 18:03:17 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 536s Mar 22 18:03:17 Given I kill postgres0 # None 536s Mar 22 18:03:17 And I shut down postmaster on postgres0 # None 536s Mar 22 18:03:17 And DCS is up # None 536s Mar 22 18:03:17 When I start postgres1 # None 536s Mar 22 18:03:17 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 536s Mar 22 18:03:17 And postgres1 role is the primary after 25 seconds # None 536s Mar 22 18:03:17 536s Mar 22 18:03:17 @dcs-failsafe 536s Mar 22 18:03:17 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 536s Mar 22 18:03:17 Given I start postgres0 # None 536s Mar 22 18:03:17 And I start postgres2 # None 536s Mar 22 18:03:17 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 536s Mar 22 18:03:17 And "members/postgres0" key in DCS has state=running after 20 seconds # None 536s Mar 22 18:03:17 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 536s Mar 22 18:03:17 And replication works from postgres1 to postgres0 after 10 seconds # None 536s Mar 22 18:03:17 And replication works from postgres1 to postgres2 after 10 seconds # None 536s Mar 22 18:03:17 536s Mar 22 18:03:17 @dcs-failsafe @slot-advance 536s Mar 22 18:03:17 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 536s Mar 22 18:03:17 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # None 536s Mar 22 18:03:17 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 536s Mar 22 18:03:17 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 536s Mar 22 18:03:17 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 536s Mar 22 18:03:17 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 536s Mar 22 18:03:17 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 536s Mar 22 18:03:17 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 536s Mar 22 18:03:17 536s Mar 22 18:03:17 @dcs-failsafe 536s Mar 22 18:03:17 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 536s Mar 22 18:03:17 Given DCS is down # None 536s Mar 22 18:03:17 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 536s Mar 22 18:03:17 Then postgres1 role is the primary after 10 seconds # None 536s Mar 22 18:03:17 And postgres0 role is the replica after 2 seconds # None 536s Mar 22 18:03:17 And postgres2 role is the replica after 2 seconds # None 540s Mar 22 18:03:21 540s Mar 22 18:03:21 @dcs-failsafe @slot-advance 540s Mar 22 18:03:21 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 540s Mar 22 18:03:21 Given replication works from postgres1 to postgres0 after 10 seconds # None 540s Mar 22 18:03:21 And replication works from postgres1 to postgres2 after 10 seconds # None 540s Mar 22 18:03:21 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 540s Mar 22 18:03:21 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 540s Mar 22 18:03:21 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 540s Mar 22 18:03:21 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 540s Mar 22 18:03:21 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 540s Mar 22 18:03:21 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 540s Mar 22 18:03:21 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 540s Mar 22 18:03:21 540s Mar 22 18:03:21 Feature: ignored slots # features/ignored_slots.feature:1 540s Mar 22 18:03:21 540s Mar 22 18:03:21 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 540s Mar 22 18:03:21 Given I start postgres1 # features/steps/basic_replication.py:8 544s Mar 22 18:03:25 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 545s Mar 22 18:03:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 545s Mar 22 18:03:26 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 545s Mar 22 18:03:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 545s Mar 22 18:03:26 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 546s Mar 22 18:03:27 When I shut down postgres1 # features/steps/basic_replication.py:29 548s Mar 22 18:03:29 And I start postgres1 # features/steps/basic_replication.py:8 551s Mar 22 18:03:32 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 552s Mar 22 18:03:33 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 553s Mar 22 18:03:34 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 553s Mar 22 18:03:34 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 553s Mar 22 18:03:34 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 553s Mar 22 18:03:34 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 553s Mar 22 18:03:34 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 553s Mar 22 18:03:34 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 553s Mar 22 18:03:34 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 553s Mar 22 18:03:34 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 553s Mar 22 18:03:34 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 553s Mar 22 18:03:34 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 553s Mar 22 18:03:34 When I start postgres0 # features/steps/basic_replication.py:8 557s Mar 22 18:03:38 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 557s Mar 22 18:03:38 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 557s Mar 22 18:03:38 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 559s Mar 22 18:03:39 When I shut down postgres1 # features/steps/basic_replication.py:29 561s Mar 22 18:03:41 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 562s Mar 22 18:03:42 When I start postgres1 # features/steps/basic_replication.py:8 565s Mar 22 18:03:45 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 565s Mar 22 18:03:45 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 566s Mar 22 18:03:46 And I sleep for 2 seconds # features/steps/patroni_api.py:39 568s Mar 22 18:03:48 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 568s Mar 22 18:03:48 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 568s Mar 22 18:03:48 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 568s Mar 22 18:03:48 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 568s Mar 22 18:03:48 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 568s Mar 22 18:03:48 When I shut down postgres0 # features/steps/basic_replication.py:29 570s Mar 22 18:03:50 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 571s Mar 22 18:03:51 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 571s Mar 22 18:03:51 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 571s Mar 22 18:03:51 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 571s Mar 22 18:03:51 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 573s Mar 22 18:03:54 573s Mar 22 18:03:54 Feature: patroni api # features/patroni_api.feature:1 573s Mar 22 18:03:54 We should check that patroni correctly responds to valid and not-valid API requests. 573s Mar 22 18:03:54 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 573s Mar 22 18:03:54 Given I start postgres0 # features/steps/basic_replication.py:8 577s Mar 22 18:03:58 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 577s Mar 22 18:03:58 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 577s Mar 22 18:03:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 And I receive a response state running # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 And I receive a response role master # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 577s Mar 22 18:03:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 577s Mar 22 18:03:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 577s Mar 22 18:03:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 577s Mar 22 18:03:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 577s Mar 22 18:03:58 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 579s Mar 22 18:04:00 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 579s Mar 22 18:04:00 Then I receive a response code 412 # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 579s Mar 22 18:04:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 579s Mar 22 18:04:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 579s Mar 22 18:04:00 Scenario: check local configuration reload # features/patroni_api.feature:32 579s Mar 22 18:04:00 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 579s Mar 22 18:04:00 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 579s Mar 22 18:04:00 Then I receive a response code 202 # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 579s Mar 22 18:04:00 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 579s Mar 22 18:04:00 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 579s Mar 22 18:04:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 579s Mar 22 18:04:00 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 582s Mar 22 18:04:02 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 582s Mar 22 18:04:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 582s Mar 22 18:04:03 And I receive a response ttl 20 # features/steps/patroni_api.py:98 582s Mar 22 18:04:03 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 582s Mar 22 18:04:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 582s Mar 22 18:04:03 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 582s Mar 22 18:04:03 And I sleep for 4 seconds # features/steps/patroni_api.py:39 587s Mar 22 18:04:07 587s Mar 22 18:04:07 Scenario: check the scheduled restart # features/patroni_api.feature:49 587s Mar 22 18:04:07 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 588s Mar 22 18:04:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 588s Mar 22 18:04:08 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 588s Mar 22 18:04:08 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 588s Mar 22 18:04:09 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 588s Mar 22 18:04:09 Then I receive a response code 202 # features/steps/patroni_api.py:98 588s Mar 22 18:04:09 And I sleep for 8 seconds # features/steps/patroni_api.py:39 596s Mar 22 18:04:17 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 596s Mar 22 18:04:17 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 596s Mar 22 18:04:17 Then I receive a response code 202 # features/steps/patroni_api.py:98 596s Mar 22 18:04:17 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 603s Mar 22 18:04:24 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 604s Mar 22 18:04:25 604s Mar 22 18:04:25 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 604s Mar 22 18:04:25 Given I start postgres1 # features/steps/basic_replication.py:8 608s Mar 22 18:04:29 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 609s Mar 22 18:04:30 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 611s Mar 22 18:04:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 611s Mar 22 18:04:31 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 611s Mar 22 18:04:32 waiting for server to shut down.... done 611s Mar 22 18:04:32 server stopped 611s Mar 22 18:04:32 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 611s Mar 22 18:04:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 611s Mar 22 18:04:32 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 613s Mar 22 18:04:34 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 616s Mar 22 18:04:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 616s Mar 22 18:04:37 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 617s Mar 22 18:04:38 And I sleep for 2 seconds # features/steps/patroni_api.py:39 619s Mar 22 18:04:40 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 619s Mar 22 18:04:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 619s Mar 22 18:04:40 And I receive a response state running # features/steps/patroni_api.py:98 619s Mar 22 18:04:40 And I receive a response role replica # features/steps/patroni_api.py:98 619s Mar 22 18:04:40 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 623s Mar 22 18:04:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 623s Mar 22 18:04:44 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 623s Mar 22 18:04:44 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 624s Mar 22 18:04:45 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 625s Mar 22 18:04:46 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 629s Mar 22 18:04:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 629s Mar 22 18:04:50 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 629s Mar 22 18:04:50 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 630s Mar 22 18:04:51 630s Mar 22 18:04:51 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 630s Mar 22 18:04:51 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 632s Mar 22 18:04:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 632s Mar 22 18:04:53 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 632s Mar 22 18:04:53 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 632s Mar 22 18:04:53 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 634s Mar 22 18:04:55 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 638s Mar 22 18:04:59 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 639s Mar 22 18:05:00 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 639s Mar 22 18:05:00 Then I receive a response code 503 # features/steps/patroni_api.py:98 639s Mar 22 18:05:00 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 639s Mar 22 18:05:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 639s Mar 22 18:05:00 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 640s Mar 22 18:05:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 640s Mar 22 18:05:00 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 640s Mar 22 18:05:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 640s Mar 22 18:05:01 640s Mar 22 18:05:01 Scenario: check the scheduled switchover # features/patroni_api.feature:107 640s Mar 22 18:05:01 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 641s Mar 22 18:05:02 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 641s Mar 22 18:05:02 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 641s Mar 22 18:05:02 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 643s Mar 22 18:05:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 643s Mar 22 18:05:04 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 645s Mar 22 18:05:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 645s Mar 22 18:05:06 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 655s Mar 22 18:05:16 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 655s Mar 22 18:05:16 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 657s Mar 22 18:05:18 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 658s Mar 22 18:05:19 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 659s Mar 22 18:05:20 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 659s Mar 22 18:05:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 659s Mar 22 18:05:20 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 659s Mar 22 18:05:20 Then I receive a response code 503 # features/steps/patroni_api.py:98 659s Mar 22 18:05:20 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 659s Mar 22 18:05:20 Then I receive a response code 503 # features/steps/patroni_api.py:98 659s Mar 22 18:05:20 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 659s Mar 22 18:05:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 663s Mar 22 18:05:24 663s Mar 22 18:05:24 Feature: permanent slots # features/permanent_slots.feature:1 663s Mar 22 18:05:24 663s Mar 22 18:05:24 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 663s Mar 22 18:05:24 Given I start postgres0 # features/steps/basic_replication.py:8 668s Mar 22 18:05:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 669s Mar 22 18:05:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 669s Mar 22 18:05:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 669s Mar 22 18:05:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 669s Mar 22 18:05:30 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 669s Mar 22 18:05:30 When I start postgres1 # features/steps/basic_replication.py:8 673s Mar 22 18:05:34 And I start postgres2 # features/steps/basic_replication.py:8 677s Mar 22 18:05:38 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 682s Mar 22 18:05:43 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 682s Mar 22 18:05:43 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 682s Mar 22 18:05:43 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 682s Mar 22 18:05:43 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 682s Mar 22 18:05:43 682s Mar 22 18:05:43 @slot-advance 682s Mar 22 18:05:43 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 682s Mar 22 18:05:43 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 686s Mar 22 18:05:47 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 686s Mar 22 18:05:47 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 687s Mar 22 18:05:48 687s Mar 22 18:05:48 @slot-advance 687s Mar 22 18:05:48 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 687s Mar 22 18:05:48 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 692s Mar 22 18:05:53 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 692s Mar 22 18:05:53 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 693s Mar 22 18:05:54 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 694s Mar 22 18:05:55 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 694s Mar 22 18:05:55 @slot-advance 694s Mar 22 18:05:55 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 694s Mar 22 18:05:55 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 694s Mar 22 18:05:55 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 694s Mar 22 18:05:55 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 694s Mar 22 18:05:55 694s Mar 22 18:05:55 @slot-advance 694s Mar 22 18:05:55 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 694s Mar 22 18:05:55 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 694s Mar 22 18:05:55 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 694s Mar 22 18:05:55 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 694s Mar 22 18:05:55 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 697s Mar 22 18:05:58 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 697s Mar 22 18:05:58 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 697s Mar 22 18:05:58 697s Mar 22 18:05:58 @slot-advance 697s Mar 22 18:05:58 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 697s Mar 22 18:05:58 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 697s Mar 22 18:05:58 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 697s Mar 22 18:05:58 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 697s Mar 22 18:05:58 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 697s Mar 22 18:05:58 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 697s Mar 22 18:05:58 697s Mar 22 18:05:58 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 697s Mar 22 18:05:58 Given I shut down postgres3 # features/steps/basic_replication.py:29 698s Mar 22 18:05:59 And I shut down postgres2 # features/steps/basic_replication.py:29 699s Mar 22 18:06:00 And I shut down postgres0 # features/steps/basic_replication.py:29 701s Mar 22 18:06:02 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 701s Mar 22 18:06:02 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 701s Mar 22 18:06:02 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 703s Mar 22 18:06:04 703s Mar 22 18:06:04 Feature: priority replication # features/priority_failover.feature:1 703s Mar 22 18:06:04 We should check that we can give nodes priority during failover 703s Mar 22 18:06:04 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 703s Mar 22 18:06:04 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 707s Mar 22 18:06:08 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 710s Mar 22 18:06:11 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 715s Mar 22 18:06:16 When I shut down postgres0 # features/steps/basic_replication.py:29 717s Mar 22 18:06:18 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 719s Mar 22 18:06:20 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 719s Mar 22 18:06:20 When I start postgres0 # features/steps/basic_replication.py:8 722s Mar 22 18:06:23 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 723s Mar 22 18:06:24 723s Mar 22 18:06:24 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 723s Mar 22 18:06:24 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 727s Mar 22 18:06:28 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 731s Mar 22 18:06:32 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 732s Mar 22 18:06:33 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 732s Mar 22 18:06:33 When I shut down postgres0 # features/steps/basic_replication.py:29 734s Mar 22 18:06:35 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 734s Mar 22 18:06:35 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 734s Mar 22 18:06:35 734s Mar 22 18:06:35 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 734s Mar 22 18:06:35 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 734s Mar 22 18:06:35 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 734s Mar 22 18:06:35 Then I receive a response code 202 # features/steps/patroni_api.py:98 734s Mar 22 18:06:35 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 735s Mar 22 18:06:36 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 736s Mar 22 18:06:37 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 737s Mar 22 18:06:38 Then I receive a response code 412 # features/steps/patroni_api.py:98 737s Mar 22 18:06:38 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 737s Mar 22 18:06:38 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 737s Mar 22 18:06:38 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 737s Mar 22 18:06:38 Then I receive a response code 202 # features/steps/patroni_api.py:98 737s Mar 22 18:06:38 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 739s Mar 22 18:06:40 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 740s Mar 22 18:06:41 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 743s Mar 22 18:06:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 743s Mar 22 18:06:44 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 747s Mar 22 18:06:48 747s Mar 22 18:06:48 Feature: recovery # features/recovery.feature:1 747s Mar 22 18:06:48 We want to check that crashed postgres is started back 747s Mar 22 18:06:48 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 747s Mar 22 18:06:48 Given I start postgres0 # features/steps/basic_replication.py:8 751s Mar 22 18:06:52 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 752s Mar 22 18:06:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 752s Mar 22 18:06:53 When I start postgres1 # features/steps/basic_replication.py:8 756s Mar 22 18:06:57 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 756s Mar 22 18:06:57 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 761s Mar 22 18:07:02 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 761s Mar 22 18:07:02 waiting for server to shut down.... done 761s Mar 22 18:07:02 server stopped 761s Mar 22 18:07:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 763s Mar 22 18:07:04 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 763s Mar 22 18:07:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 763s Mar 22 18:07:04 And I receive a response role master # features/steps/patroni_api.py:98 763s Mar 22 18:07:04 And I receive a response timeline 1 # features/steps/patroni_api.py:98 763s Mar 22 18:07:04 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 764s Mar 22 18:07:05 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 765s Mar 22 18:07:06 765s Mar 22 18:07:06 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 765s Mar 22 18:07:06 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 765s Mar 22 18:07:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 765s Mar 22 18:07:06 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 765s Mar 22 18:07:06 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 765s Mar 22 18:07:06 waiting for server to shut down... done 765s Mar 22 18:07:06 server stopped 765s Mar 22 18:07:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 768s Mar 22 18:07:09 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 772s Mar 22 18:07:13 772s Mar 22 18:07:13 Feature: standby cluster # features/standby_cluster.feature:1 772s Mar 22 18:07:13 772s Mar 22 18:07:13 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 772s Mar 22 18:07:13 Given I start postgres1 # features/steps/basic_replication.py:8 776s Mar 22 18:07:17 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 778s Mar 22 18:07:19 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 778s Mar 22 18:07:19 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 778s Mar 22 18:07:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 778s Mar 22 18:07:19 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 778s Mar 22 18:07:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 781s Mar 22 18:07:22 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 781s Mar 22 18:07:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 781s Mar 22 18:07:22 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 782s Mar 22 18:07:23 When I start postgres0 # features/steps/basic_replication.py:8 786s Mar 22 18:07:27 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 787s Mar 22 18:07:28 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 788s Mar 22 18:07:29 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 788s Mar 22 18:07:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 788s Mar 22 18:07:29 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 788s Mar 22 18:07:29 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 788s Mar 22 18:07:29 788s Mar 22 18:07:29 @slot-advance 788s Mar 22 18:07:29 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 788s Mar 22 18:07:29 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 792s Mar 22 18:07:33 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 798s Mar 22 18:07:39 798s Mar 22 18:07:39 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 798s Mar 22 18:07:39 When I shut down postgres1 # features/steps/basic_replication.py:29 800s Mar 22 18:07:41 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 800s Mar 22 18:07:41 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 801s Mar 22 18:07:42 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 801s Mar 22 18:07:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 801s Mar 22 18:07:42 801s Mar 22 18:07:42 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 801s Mar 22 18:07:42 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 804s Mar 22 18:07:45 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 805s Mar 22 18:07:46 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 805s Mar 22 18:07:46 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 806s Mar 22 18:07:47 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 806s Mar 22 18:07:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 806s Mar 22 18:07:47 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 806s Mar 22 18:07:47 And I sleep for 3 seconds # features/steps/patroni_api.py:39 809s Mar 22 18:07:50 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 809s Mar 22 18:07:50 Then I receive a response code 503 # features/steps/patroni_api.py:98 809s Mar 22 18:07:50 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 809s Mar 22 18:07:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 809s Mar 22 18:07:50 And I receive a response role standby_leader # features/steps/patroni_api.py:98 809s Mar 22 18:07:50 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 809s Mar 22 18:07:50 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 813s Mar 22 18:07:54 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 813s Mar 22 18:07:54 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 814s Mar 22 18:07:55 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 814s Mar 22 18:07:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 814s Mar 22 18:07:55 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 814s Mar 22 18:07:55 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 814s Mar 22 18:07:55 814s Mar 22 18:07:55 Scenario: check switchover # features/standby_cluster.feature:56 814s Mar 22 18:07:55 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 818s Mar 22 18:07:59 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 819s Mar 22 18:07:59 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 821s Mar 22 18:08:01 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 821s Mar 22 18:08:01 821s Mar 22 18:08:01 Scenario: check failover # features/standby_cluster.feature:62 821s Mar 22 18:08:01 When I kill postgres2 # features/steps/basic_replication.py:34 822s Mar 22 18:08:02 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 822s Mar 22 18:08:03 waiting for server to shut down.... done 822s Mar 22 18:08:03 server stopped 822s Mar 22 18:08:03 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 841s Mar 22 18:08:22 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 841s Mar 22 18:08:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 841s Mar 22 18:08:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 841s Mar 22 18:08:22 And I receive a response role standby_leader # features/steps/patroni_api.py:98 841s Mar 22 18:08:22 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 842s Mar 22 18:08:23 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 846s Mar 22 18:08:27 846s Mar 22 18:08:27 Feature: watchdog # features/watchdog.feature:1 846s Mar 22 18:08:27 Verify that watchdog gets pinged and triggered under appropriate circumstances. 846s Mar 22 18:08:27 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 846s Mar 22 18:08:27 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 850s Mar 22 18:08:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 852s Mar 22 18:08:33 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 852s Mar 22 18:08:33 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 852s Mar 22 18:08:33 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 852s Mar 22 18:08:33 852s Mar 22 18:08:33 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 852s Mar 22 18:08:33 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 854s Mar 22 18:08:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 854s Mar 22 18:08:35 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 854s Mar 22 18:08:35 When I sleep for 4 seconds # features/steps/patroni_api.py:39 858s Mar 22 18:08:39 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 858s Mar 22 18:08:39 858s Mar 22 18:08:39 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 858s Mar 22 18:08:39 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 860s Mar 22 18:08:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 860s Mar 22 18:08:41 When I sleep for 2 seconds # features/steps/patroni_api.py:39 862s Mar 22 18:08:43 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 862s Mar 22 18:08:43 862s Mar 22 18:08:43 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 862s Mar 22 18:08:43 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 862s Mar 22 18:08:43 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 864s Mar 22 18:08:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 864s Mar 22 18:08:45 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 865s Mar 22 18:08:46 865s Mar 22 18:08:46 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 865s Mar 22 18:08:46 Given I shut down postgres0 # features/steps/basic_replication.py:29 867s Mar 22 18:08:48 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 867s Mar 22 18:08:48 867s Mar 22 18:08:48 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 867s Mar 22 18:08:48 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 867s Mar 22 18:08:48 And I start postgres0 with watchdog # features/steps/watchdog.py:16 870s Mar 22 18:08:51 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 870s Mar 22 18:08:51 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 870s Mar 22 18:08:51 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 897s Mar 22 18:09:18 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5377.902570 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5470.231422 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5040.612920 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4731.691555 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4904.093915 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6724.042397 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5103.273926 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6588.591241 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4968.092591 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6677.947987 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4195.748175 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6727.448737 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5921.770090 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4140.257149 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5632.191474 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4143.082517 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5811.656072 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5549.612381 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4300.557076 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6738.170711 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6418.746794 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5371.106392 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5182.552281 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5768.572697 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4805.862510 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4103.665936 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6499.359961 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4680.680549 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4860.386787 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4344.754341 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6721.372896 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4592.003464 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6315.771906 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6162.341787 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.3968.369914 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.3929.330783 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6378.988081 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5139.863824 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5966.860469 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5515.987391 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4040.879655 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5366.366059 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4005.628466 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.3883.687671 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4385.892435 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4290.557791 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.6206.626461 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5866.281387 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5089.941304 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5206.092513 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5594.959152 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4535.546571 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5243.908820 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.4491.585579 898s Mar 22 18:09:19 Combined data file .coverage.autopkgtest.5176.481022 901s + echo '### End 16 acceptance-etcd3 ###' 901s + rm -f '/tmp/pgpass?' 901s ++ id -u 901s + '[' 1000 -eq 0 ']' 901s Mar 22 18:09:22 Name Stmts Miss Cover 901s Mar 22 18:09:22 ------------------------------------------------------------------------------------------------------------- 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 596 44% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 79 43% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 58 59% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/utils.py 76 29 62% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/idna/core.py 294 259 12% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/__main__.py 199 64 68% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/api.py 768 286 63% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/config.py 416 91 78% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 84 87% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 683 122 82% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 602 256 57% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/ha.py 1239 364 71% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/log.py 155 31 80% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 181 78% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 218 73% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 169 59% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 37 89% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 18 86% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/utils.py 318 92 71% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/six.py 504 250 50% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 901s Mar 22 18:09:22 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 901s Mar 22 18:09:22 patroni/__init__.py 13 2 85% 901s Mar 22 18:09:22 patroni/__main__.py 199 199 0% 901s Mar 22 18:09:22 patroni/api.py 768 768 0% 901s Mar 22 18:09:22 patroni/async_executor.py 96 69 28% 901s Mar 22 18:09:22 patroni/collections.py 43 11 74% 901s Mar 22 18:09:22 patroni/config.py 416 206 50% 901s Mar 22 18:09:22 patroni/config_generator.py 210 210 0% 901s Mar 22 18:09:22 patroni/ctl.py 940 409 56% 901s Mar 22 18:09:22 patroni/daemon.py 76 76 0% 901s Mar 22 18:09:22 patroni/dcs/__init__.py 667 265 60% 901s Mar 22 18:09:22 patroni/dcs/consul.py 482 482 0% 901s Mar 22 18:09:22 patroni/dcs/etcd3.py 683 344 50% 901s Mar 22 18:09:22 patroni/dcs/etcd.py 602 277 54% 901s Mar 22 18:09:22 patroni/dcs/exhibitor.py 60 60 0% 901s Mar 22 18:09:22 patroni/dcs/kubernetes.py 935 935 0% 901s Mar 22 18:09:22 patroni/dcs/raft.py 318 318 0% 901s Mar 22 18:09:22 patroni/dcs/zookeeper.py 287 287 0% 901s Mar 22 18:09:22 patroni/exceptions.py 16 1 94% 901s Mar 22 18:09:22 patroni/file_perm.py 43 15 65% 901s Mar 22 18:09:22 patroni/ha.py 1239 1239 0% 901s Mar 22 18:09:22 patroni/log.py 155 155 0% 901s Mar 22 18:09:22 patroni/postgresql/__init__.py 826 655 21% 901s Mar 22 18:09:22 patroni/postgresql/bootstrap.py 253 224 11% 901s Mar 22 18:09:22 patroni/postgresql/callback_executor.py 55 34 38% 901s Mar 22 18:09:22 patroni/postgresql/cancellable.py 104 84 19% 901s Mar 22 18:09:22 patroni/postgresql/citus.py 258 217 16% 901s Mar 22 18:09:22 patroni/postgresql/config.py 806 693 14% 901s Mar 22 18:09:22 patroni/postgresql/connection.py 75 50 33% 901s Mar 22 18:09:22 patroni/postgresql/misc.py 41 29 29% 901s Mar 22 18:09:22 patroni/postgresql/postmaster.py 170 139 18% 901s Mar 22 18:09:22 patroni/postgresql/rewind.py 415 415 0% 901s Mar 22 18:09:22 patroni/postgresql/slots.py 332 285 14% 901s Mar 22 18:09:22 patroni/postgresql/sync.py 129 96 26% 901s Mar 22 18:09:22 patroni/postgresql/validator.py 165 53 68% 901s Mar 22 18:09:22 patroni/psycopg.py 41 27 34% 901s Mar 22 18:09:22 patroni/raft_controller.py 22 22 0% 901s Mar 22 18:09:22 patroni/request.py 62 6 90% 901s Mar 22 18:09:22 patroni/scripts/__init__.py 0 0 100% 901s Mar 22 18:09:22 patroni/scripts/aws.py 59 59 0% 901s Mar 22 18:09:22 patroni/scripts/wale_restore.py 207 207 0% 901s Mar 22 18:09:22 patroni/tags.py 35 10 71% 901s Mar 22 18:09:22 patroni/utils.py 318 149 53% 901s Mar 22 18:09:22 patroni/validator.py 284 201 29% 901s Mar 22 18:09:22 patroni/version.py 1 0 100% 901s Mar 22 18:09:22 patroni/watchdog/__init__.py 2 2 0% 901s Mar 22 18:09:22 patroni/watchdog/base.py 203 203 0% 901s Mar 22 18:09:22 patroni/watchdog/linux.py 135 135 0% 901s Mar 22 18:09:22 ------------------------------------------------------------------------------------------------------------- 901s Mar 22 18:09:22 TOTAL 53582 32332 40% 901s Mar 22 18:09:22 11 features passed, 0 failed, 1 skipped 901s Mar 22 18:09:22 44 scenarios passed, 0 failed, 14 skipped 901s Mar 22 18:09:22 453 steps passed, 0 failed, 119 skipped, 0 undefined 901s Mar 22 18:09:22 Took 7m54.069s 901s ### End 16 acceptance-etcd3 ### 901s autopkgtest [18:09:22]: test acceptance-etcd3: -----------------------] 902s acceptance-etcd3 PASS 902s autopkgtest [18:09:23]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 902s autopkgtest [18:09:23]: test acceptance-etcd-basic: preparing testbed 1257s autopkgtest [18:15:18]: testbed dpkg architecture: ppc64el 1258s autopkgtest [18:15:19]: testbed apt version: 2.7.12 1258s autopkgtest [18:15:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1259s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 1259s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 1259s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 1259s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3980 kB] 1261s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 1261s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [674 kB] 1261s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 1261s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 1261s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 1261s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4138 kB] 1263s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 1263s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [59.4 kB] 1263s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 1266s Fetched 9544 kB in 5s (1953 kB/s) 1266s Reading package lists... 1269s Reading package lists... 1269s Building dependency tree... 1269s Reading state information... 1269s Calculating upgrade... 1269s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1269s Reading package lists... 1269s Building dependency tree... 1269s Reading state information... 1270s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1270s sh: Attempting to set up Debian/Ubuntu apt sources automatically 1270s sh: Distribution appears to be Ubuntu 1271s Reading package lists... 1271s Building dependency tree... 1271s Reading state information... 1271s eatmydata is already the newest version (131-1). 1271s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1271s Reading package lists... 1272s Building dependency tree... 1272s Reading state information... 1272s dbus is already the newest version (1.14.10-4ubuntu1). 1272s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1272s Reading package lists... 1272s Building dependency tree... 1272s Reading state information... 1272s rng-tools-debian is already the newest version (2.4). 1272s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1272s Reading package lists... 1272s Building dependency tree... 1272s Reading state information... 1272s The following packages will be REMOVED: 1272s cloud-init* python3-configobj* python3-debconf* 1273s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 1273s After this operation, 3256 kB disk space will be freed. 1273s (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 ... 70156 files and directories currently installed.) 1273s Removing cloud-init (24.1.2-0ubuntu1) ... 1273s Removing python3-configobj (5.0.8-3) ... 1273s Removing python3-debconf (1.5.86) ... 1274s Processing triggers for man-db (2.12.0-3) ... 1274s (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 ... 69767 files and directories currently installed.) 1274s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 1275s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 1275s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 1275s invoke-rc.d: policy-rc.d denied execution of try-restart. 1275s Reading package lists... 1275s Building dependency tree... 1275s Reading state information... 1275s linux-generic is already the newest version (6.8.0-11.11+1). 1275s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1276s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 1276s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 1276s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 1279s Reading package lists... 1279s Reading package lists... 1279s Building dependency tree... 1279s Reading state information... 1279s Calculating upgrade... 1279s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1279s Reading package lists... 1279s Building dependency tree... 1279s Reading state information... 1279s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1280s autopkgtest [18:15:41]: rebooting testbed after setup commands that affected boot 1452s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 1464s Reading package lists... 1464s Building dependency tree... 1464s Reading state information... 1464s Starting pkgProblemResolver with broken count: 0 1464s Starting 2 pkgProblemResolver with broken count: 0 1464s Done 1465s The following additional packages will be installed: 1465s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 1465s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm17 libpq5 1465s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1465s patroni-doc postgresql postgresql-16 postgresql-client-16 1465s postgresql-client-common postgresql-common python3-behave python3-cdiff 1465s python3-click python3-colorama python3-coverage python3-dateutil 1465s python3-dnspython python3-etcd python3-parse python3-parse-type 1465s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 1465s sphinx-rtd-theme-common ssl-cert 1465s Suggested packages: 1465s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 1465s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 1465s python3-httpcore etcd python-psycopg2-doc 1465s Recommended packages: 1465s javascript-common libjson-xs-perl 1465s The following NEW packages will be installed: 1465s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 1465s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 1465s libllvm17 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 1465s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 1465s postgresql-client-common postgresql-common python3-behave python3-cdiff 1465s python3-click python3-colorama python3-coverage python3-dateutil 1465s python3-dnspython python3-etcd python3-parse python3-parse-type 1465s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 1465s sphinx-rtd-theme-common ssl-cert 1465s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 1465s Need to get 60.6 MB/60.6 MB of archives. 1465s After this operation, 256 MB of additional disk space will be used. 1465s Get:1 /tmp/autopkgtest.gBYNUz/2-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [772 B] 1465s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-lato all 2.015-1 [2781 kB] 1466s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 1466s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-common all 257 [36.2 kB] 1466s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el ssl-cert all 1.1.2ubuntu1 [17.8 kB] 1467s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-common all 257 [162 kB] 1467s Get:7 http://ftpmaster.internal/ubuntu noble/universe ppc64el etcd-server ppc64el 3.4.30-1 [7420 kB] 1468s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1468s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libio-pty-perl ppc64el 1:1.20-1 [31.7 kB] 1468s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libipc-run-perl all 20231003.0-1 [92.1 kB] 1468s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1468s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1468s Get:13 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-sphinxdoc all 7.2.6-4 [149 kB] 1468s Get:14 http://ftpmaster.internal/ubuntu noble/main ppc64el libllvm17 ppc64el 1:17.0.6-5build1 [27.3 MB] 1475s Get:15 http://ftpmaster.internal/ubuntu noble/main ppc64el libpq5 ppc64el 16.2-1 [170 kB] 1475s Get:16 http://ftpmaster.internal/ubuntu noble/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 1475s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 1475s Get:18 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.35-1 [185 kB] 1475s Get:19 http://ftpmaster.internal/ubuntu noble/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 1475s Get:20 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cdiff all 1.0-1.1 [16.4 kB] 1475s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 1475s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-click all 8.1.6-1 [79.0 kB] 1475s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 1475s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 1475s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-prettytable all 3.6.0-1 [33.1 kB] 1475s Get:26 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psutil ppc64el 5.9.8-1 [197 kB] 1475s Get:27 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psycopg2 ppc64el 2.9.9-1 [197 kB] 1475s Get:28 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1475s Get:29 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-etcd all 0.4.5-4 [31.9 kB] 1475s Get:30 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni all 3.2.2-2 [253 kB] 1475s Get:31 http://ftpmaster.internal/ubuntu noble/main ppc64el sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 1476s Get:32 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni-doc all 3.2.2-2 [476 kB] 1476s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-16 ppc64el 16.2-1 [1399 kB] 1476s Get:34 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-16 ppc64el 16.2-1 [16.9 MB] 1482s Get:35 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql all 16+257 [11.4 kB] 1482s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse all 1.19.0-0.2 [18.1 kB] 1482s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse-type all 0.6.2-1 [22.7 kB] 1482s Get:38 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-behave all 1.2.6-5 [98.4 kB] 1482s Get:39 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-coverage ppc64el 7.3.2-0ubuntu1 [148 kB] 1482s Preconfiguring packages ... 1482s Fetched 60.6 MB in 17s (3501 kB/s) 1482s Selecting previously unselected package fonts-lato. 1483s (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 ... 69712 files and directories currently installed.) 1483s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 1483s Unpacking fonts-lato (2.015-1) ... 1483s Selecting previously unselected package libjson-perl. 1483s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 1483s Unpacking libjson-perl (4.10000-1) ... 1483s Selecting previously unselected package postgresql-client-common. 1483s Preparing to unpack .../02-postgresql-client-common_257_all.deb ... 1483s Unpacking postgresql-client-common (257) ... 1483s Selecting previously unselected package ssl-cert. 1483s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu1_all.deb ... 1483s Unpacking ssl-cert (1.1.2ubuntu1) ... 1483s Selecting previously unselected package postgresql-common. 1483s Preparing to unpack .../04-postgresql-common_257_all.deb ... 1483s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1483s Unpacking postgresql-common (257) ... 1483s Selecting previously unselected package etcd-server. 1483s Preparing to unpack .../05-etcd-server_3.4.30-1_ppc64el.deb ... 1483s Unpacking etcd-server (3.4.30-1) ... 1483s Selecting previously unselected package fonts-font-awesome. 1483s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1483s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1483s Selecting previously unselected package libio-pty-perl. 1483s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1_ppc64el.deb ... 1483s Unpacking libio-pty-perl (1:1.20-1) ... 1483s Selecting previously unselected package libipc-run-perl. 1483s Preparing to unpack .../08-libipc-run-perl_20231003.0-1_all.deb ... 1483s Unpacking libipc-run-perl (20231003.0-1) ... 1483s Selecting previously unselected package libjs-jquery. 1483s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1483s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1483s Selecting previously unselected package libjs-underscore. 1483s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1483s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1483s Selecting previously unselected package libjs-sphinxdoc. 1483s Preparing to unpack .../11-libjs-sphinxdoc_7.2.6-4_all.deb ... 1483s Unpacking libjs-sphinxdoc (7.2.6-4) ... 1483s Selecting previously unselected package libllvm17:ppc64el. 1483s Preparing to unpack .../12-libllvm17_1%3a17.0.6-5build1_ppc64el.deb ... 1483s Unpacking libllvm17:ppc64el (1:17.0.6-5build1) ... 1484s Selecting previously unselected package libpq5:ppc64el. 1484s Preparing to unpack .../13-libpq5_16.2-1_ppc64el.deb ... 1484s Unpacking libpq5:ppc64el (16.2-1) ... 1484s Selecting previously unselected package libtime-duration-perl. 1484s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 1484s Unpacking libtime-duration-perl (1.21-2) ... 1484s Selecting previously unselected package libtimedate-perl. 1484s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 1484s Unpacking libtimedate-perl (2.3300-2) ... 1484s Selecting previously unselected package libxslt1.1:ppc64el. 1484s Preparing to unpack .../16-libxslt1.1_1.1.35-1_ppc64el.deb ... 1484s Unpacking libxslt1.1:ppc64el (1.1.35-1) ... 1484s Selecting previously unselected package moreutils. 1484s Preparing to unpack .../17-moreutils_0.69-1_ppc64el.deb ... 1484s Unpacking moreutils (0.69-1) ... 1484s Selecting previously unselected package python3-cdiff. 1484s Preparing to unpack .../18-python3-cdiff_1.0-1.1_all.deb ... 1484s Unpacking python3-cdiff (1.0-1.1) ... 1484s Selecting previously unselected package python3-colorama. 1484s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 1484s Unpacking python3-colorama (0.4.6-4) ... 1485s Selecting previously unselected package python3-click. 1485s Preparing to unpack .../20-python3-click_8.1.6-1_all.deb ... 1485s Unpacking python3-click (8.1.6-1) ... 1485s Selecting previously unselected package python3-dateutil. 1485s Preparing to unpack .../21-python3-dateutil_2.8.2-3_all.deb ... 1485s Unpacking python3-dateutil (2.8.2-3) ... 1485s Selecting previously unselected package python3-wcwidth. 1485s Preparing to unpack .../22-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 1485s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 1485s Selecting previously unselected package python3-prettytable. 1485s Preparing to unpack .../23-python3-prettytable_3.6.0-1_all.deb ... 1485s Unpacking python3-prettytable (3.6.0-1) ... 1485s Selecting previously unselected package python3-psutil. 1485s Preparing to unpack .../24-python3-psutil_5.9.8-1_ppc64el.deb ... 1485s Unpacking python3-psutil (5.9.8-1) ... 1485s Selecting previously unselected package python3-psycopg2. 1485s Preparing to unpack .../25-python3-psycopg2_2.9.9-1_ppc64el.deb ... 1485s Unpacking python3-psycopg2 (2.9.9-1) ... 1485s Selecting previously unselected package python3-dnspython. 1485s Preparing to unpack .../26-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1485s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1485s Selecting previously unselected package python3-etcd. 1485s Preparing to unpack .../27-python3-etcd_0.4.5-4_all.deb ... 1485s Unpacking python3-etcd (0.4.5-4) ... 1485s Selecting previously unselected package patroni. 1485s Preparing to unpack .../28-patroni_3.2.2-2_all.deb ... 1485s Unpacking patroni (3.2.2-2) ... 1485s Selecting previously unselected package sphinx-rtd-theme-common. 1485s Preparing to unpack .../29-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 1485s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 1485s Selecting previously unselected package patroni-doc. 1485s Preparing to unpack .../30-patroni-doc_3.2.2-2_all.deb ... 1485s Unpacking patroni-doc (3.2.2-2) ... 1485s Selecting previously unselected package postgresql-client-16. 1485s Preparing to unpack .../31-postgresql-client-16_16.2-1_ppc64el.deb ... 1485s Unpacking postgresql-client-16 (16.2-1) ... 1485s Selecting previously unselected package postgresql-16. 1485s Preparing to unpack .../32-postgresql-16_16.2-1_ppc64el.deb ... 1485s Unpacking postgresql-16 (16.2-1) ... 1485s Selecting previously unselected package postgresql. 1485s Preparing to unpack .../33-postgresql_16+257_all.deb ... 1485s Unpacking postgresql (16+257) ... 1485s Selecting previously unselected package python3-parse. 1486s Preparing to unpack .../34-python3-parse_1.19.0-0.2_all.deb ... 1486s Unpacking python3-parse (1.19.0-0.2) ... 1486s Selecting previously unselected package python3-parse-type. 1486s Preparing to unpack .../35-python3-parse-type_0.6.2-1_all.deb ... 1486s Unpacking python3-parse-type (0.6.2-1) ... 1486s Selecting previously unselected package python3-behave. 1486s Preparing to unpack .../36-python3-behave_1.2.6-5_all.deb ... 1486s Unpacking python3-behave (1.2.6-5) ... 1486s Selecting previously unselected package python3-coverage. 1486s Preparing to unpack .../37-python3-coverage_7.3.2-0ubuntu1_ppc64el.deb ... 1486s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 1486s Selecting previously unselected package autopkgtest-satdep. 1486s Preparing to unpack .../38-2-autopkgtest-satdep.deb ... 1486s Unpacking autopkgtest-satdep (0) ... 1486s Setting up postgresql-client-common (257) ... 1486s Setting up fonts-lato (2.015-1) ... 1486s Setting up libio-pty-perl (1:1.20-1) ... 1486s Setting up python3-colorama (0.4.6-4) ... 1486s Setting up python3-cdiff (1.0-1.1) ... 1486s Setting up libpq5:ppc64el (16.2-1) ... 1486s Setting up python3-coverage (7.3.2-0ubuntu1) ... 1486s Setting up python3-click (8.1.6-1) ... 1486s Setting up python3-psutil (5.9.8-1) ... 1487s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 1487s Setting up ssl-cert (1.1.2ubuntu1) ... 1487s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 1488s Setting up python3-psycopg2 (2.9.9-1) ... 1488s Setting up libipc-run-perl (20231003.0-1) ... 1488s Setting up libtime-duration-perl (1.21-2) ... 1488s Setting up libtimedate-perl (2.3300-2) ... 1488s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1488s Setting up python3-parse (1.19.0-0.2) ... 1488s Setting up libjson-perl (4.10000-1) ... 1489s Setting up libxslt1.1:ppc64el (1.1.35-1) ... 1489s Setting up python3-dateutil (2.8.2-3) ... 1489s Setting up etcd-server (3.4.30-1) ... 1489s info: Selecting UID from range 100 to 999 ... 1489s 1489s info: Selecting GID from range 100 to 999 ... 1489s info: Adding system user `etcd' (UID 107) ... 1489s info: Adding new group `etcd' (GID 111) ... 1489s info: Adding new user `etcd' (UID 107) with group `etcd' ... 1489s info: Creating home directory `/var/lib/etcd/' ... 1489s Created symlink /etc/systemd/system/etcd2.service → /usr/lib/systemd/system/etcd.service. 1489s Created symlink /etc/systemd/system/multi-user.target.wants/etcd.service → /usr/lib/systemd/system/etcd.service. 1491s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1491s Setting up python3-prettytable (3.6.0-1) ... 1491s Setting up libllvm17:ppc64el (1:17.0.6-5build1) ... 1491s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1491s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 1491s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1491s Setting up moreutils (0.69-1) ... 1491s Setting up python3-etcd (0.4.5-4) ... 1491s Setting up postgresql-client-16 (16.2-1) ... 1491s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 1491s Setting up python3-parse-type (0.6.2-1) ... 1491s Setting up postgresql-common (257) ... 1492s 1492s Creating config file /etc/postgresql-common/createcluster.conf with new version 1492s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1492s Removing obsolete dictionary files: 1493s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 1493s Setting up libjs-sphinxdoc (7.2.6-4) ... 1493s Setting up python3-behave (1.2.6-5) ... 1493s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1493s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1493s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1493s """Registers a custom type that will be available to "parse" 1494s Setting up patroni (3.2.2-2) ... 1494s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 1494s Setting up postgresql-16 (16.2-1) ... 1495s Creating new PostgreSQL cluster 16/main ... 1495s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1495s The files belonging to this database system will be owned by user "postgres". 1495s This user must also own the server process. 1495s 1495s The database cluster will be initialized with locale "C.UTF-8". 1495s The default database encoding has accordingly been set to "UTF8". 1495s The default text search configuration will be set to "english". 1495s 1495s Data page checksums are disabled. 1495s 1495s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1495s creating subdirectories ... ok 1495s selecting dynamic shared memory implementation ... posix 1495s selecting default max_connections ... 100 1495s selecting default shared_buffers ... 128MB 1495s selecting default time zone ... Etc/UTC 1495s creating configuration files ... ok 1495s running bootstrap script ... ok 1495s performing post-bootstrap initialization ... ok 1495s syncing data to disk ... ok 1499s Setting up patroni-doc (3.2.2-2) ... 1499s Setting up postgresql (16+257) ... 1499s Setting up autopkgtest-satdep (0) ... 1499s Processing triggers for man-db (2.12.0-3) ... 1500s Processing triggers for libc-bin (2.39-0ubuntu2) ... 1503s (Reading database ... 73074 files and directories currently installed.) 1503s Removing autopkgtest-satdep (0) ... 1507s autopkgtest [18:19:28]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 1507s autopkgtest [18:19:28]: test acceptance-etcd-basic: [----------------------- 1507s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1508s ○ etcd.service - etcd - highly-available key value store 1508s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1508s Active: inactive (dead) since Fri 2024-03-22 18:19:29 UTC; 11ms ago 1508s Duration: 17.186s 1508s Docs: https://etcd.io/docs 1508s man:etcd 1508s Process: 1654 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1508s Main PID: 1654 (code=killed, signal=TERM) 1508s CPU: 54ms 1508s 1508s Mar 22 18:19:12 autopkgtest systemd[1]: Started etcd.service - etcd - highly-available key value store. 1508s Mar 22 18:19:12 autopkgtest etcd[1654]: set the initial cluster version to 3.4 1508s Mar 22 18:19:12 autopkgtest etcd[1654]: enabled capabilities for version 3.4 1508s Mar 22 18:19:29 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 1508s Mar 22 18:19:29 autopkgtest etcd[1654]: received terminated signal, shutting down... 1508s Mar 22 18:19:29 autopkgtest etcd[1654]: stopping insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1508s Mar 22 18:19:29 autopkgtest etcd[1654]: stopped insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1508s Mar 22 18:19:29 autopkgtest etcd[1654]: skipped leadership transfer for single voting member cluster 1508s Mar 22 18:19:29 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 1508s Mar 22 18:19:29 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1508s ++ ls -1r /usr/lib/postgresql/ 1508s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 1508s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1508s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 1508s + '[' 16 == 10 ']' 1508s + SKIP= 1508s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave features/basic_replication.feature | ts' 1510s Mar 22 18:19:31 Feature: basic replication # features/basic_replication.feature:1 1510s Mar 22 18:19:31 We should check that the basic bootstrapping, replication and failover works. 1510s Mar 22 18:19:31 Scenario: check replication of a single table # features/basic_replication.feature:4 1510s Mar 22 18:19:31 Given I start postgres0 # features/steps/basic_replication.py:8 1514s Mar 22 18:19:35 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1515s Mar 22 18:19:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1515s Mar 22 18:19:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1515s Mar 22 18:19:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1515s Mar 22 18:19:36 When I start postgres1 # features/steps/basic_replication.py:8 1519s Mar 22 18:19:40 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1523s Mar 22 18:19:44 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1523s Mar 22 18:19:44 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 1523s Mar 22 18:19:44 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1524s Mar 22 18:19:45 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 1524s Mar 22 18:19:45 1524s Mar 22 18:19:45 Scenario: check restart of sync replica # features/basic_replication.feature:17 1524s Mar 22 18:19:45 Given I shut down postgres2 # features/steps/basic_replication.py:29 1525s Mar 22 18:19:46 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1525s Mar 22 18:19:46 When I start postgres2 # features/steps/basic_replication.py:8 1528s Mar 22 18:19:49 And I shut down postgres1 # features/steps/basic_replication.py:29 1531s Mar 22 18:19:52 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1532s Mar 22 18:19:53 When I start postgres1 # features/steps/basic_replication.py:8 1535s Mar 22 18:19:56 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1536s Mar 22 18:19:57 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1536s Mar 22 18:19:57 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1536s Mar 22 18:19:57 1536s Mar 22 18:19:57 Scenario: check stuck sync replica # features/basic_replication.feature:28 1536s Mar 22 18:19:57 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1536s Mar 22 18:19:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1536s Mar 22 18:19:57 And I create table on postgres0 # features/steps/basic_replication.py:69 1536s Mar 22 18:19:57 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 1537s Mar 22 18:19:58 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 1537s Mar 22 18:19:58 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 1537s Mar 22 18:19:58 And I load data on postgres0 # features/steps/basic_replication.py:80 1539s Mar 22 18:20:00 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1541s Mar 22 18:20:02 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 1541s Mar 22 18:20:02 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1542s Mar 22 18:20:03 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1542s Mar 22 18:20:03 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1542s Mar 22 18:20:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1542s Mar 22 18:20:03 And I drop table on postgres0 # features/steps/basic_replication.py:69 1542s Mar 22 18:20:03 1542s Mar 22 18:20:03 Scenario: check multi sync replication # features/basic_replication.feature:44 1542s Mar 22 18:20:03 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1542s Mar 22 18:20:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1542s Mar 22 18:20:03 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1546s Mar 22 18:20:07 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1546s Mar 22 18:20:07 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1546s Mar 22 18:20:07 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1546s Mar 22 18:20:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1546s Mar 22 18:20:07 And I shut down postgres1 # features/steps/basic_replication.py:29 1549s Mar 22 18:20:10 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1550s Mar 22 18:20:11 When I start postgres1 # features/steps/basic_replication.py:8 1553s Mar 22 18:20:14 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1554s Mar 22 18:20:15 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1554s Mar 22 18:20:15 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1554s Mar 22 18:20:15 1554s Mar 22 18:20:15 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1554s Mar 22 18:20:15 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1556s Mar 22 18:20:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1556s Mar 22 18:20:17 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1558s Mar 22 18:20:19 And I shut down postgres0 # features/steps/basic_replication.py:29 1559s Mar 22 18:20:20 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1561s Mar 22 18:20:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1561s Mar 22 18:20:22 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 1579s Mar 22 18:20:40 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1583s Mar 22 18:20:43 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1583s Mar 22 18:20:43 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 1583s Mar 22 18:20:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 1583s Mar 22 18:20:44 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 1583s Mar 22 18:20:44 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1585s Mar 22 18:20:46 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1585s Mar 22 18:20:46 1585s Mar 22 18:20:46 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1585s Mar 22 18:20:46 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 1585s Mar 22 18:20:46 And I start postgres0 # features/steps/basic_replication.py:8 1585s Mar 22 18:20:46 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1593s Mar 22 18:20:54 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 1593s Mar 22 18:20:54 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 1594s Mar 22 18:20:55 1594s Mar 22 18:20:55 @reject-duplicate-name 1594s Mar 22 18:20:55 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1594s Mar 22 18:20:55 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1597s Mar 22 18:20:58 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:117 1601s Mar 22 18:21:02 1602s Failed to get list of machines from http://127.0.0.1:2379/v2: MaxRetryError("HTTPConnectionPool(host='127.0.0.1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 1602s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.4048.362053 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.4101.973934 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.3794.207916 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.4052.111679 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.4011.766186 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.3913.922831 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.3877.465131 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.3839.840223 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.3945.597224 1602s Mar 22 18:21:03 Combined data file .coverage.autopkgtest.4192.394974 1605s Mar 22 18:21:06 Name Stmts Miss Cover 1605s Mar 22 18:21:06 ------------------------------------------------------------------------------------------------------------- 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 602 44% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 79 43% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 58 59% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/utils.py 76 29 62% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/idna/core.py 294 259 12% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/api.py 768 428 44% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/config.py 416 109 74% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 156 77% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 602 180 70% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/ha.py 1239 613 51% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/log.py 155 33 79% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 241 71% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 92 64% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 195 24% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 254 68% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 202 51% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 174 48% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/tags.py 35 5 86% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/utils.py 318 121 62% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/validator.py 284 197 31% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/six.py 504 250 50% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1605s Mar 22 18:21:06 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1605s Mar 22 18:21:06 patroni/__init__.py 13 2 85% 1605s Mar 22 18:21:06 patroni/__main__.py 199 199 0% 1605s Mar 22 18:21:06 patroni/api.py 768 768 0% 1605s Mar 22 18:21:06 patroni/async_executor.py 96 69 28% 1605s Mar 22 18:21:06 patroni/collections.py 43 11 74% 1605s Mar 22 18:21:06 patroni/config.py 416 211 49% 1605s Mar 22 18:21:06 patroni/config_generator.py 210 210 0% 1605s Mar 22 18:21:06 patroni/ctl.py 940 658 30% 1605s Mar 22 18:21:06 patroni/daemon.py 76 76 0% 1605s Mar 22 18:21:06 patroni/dcs/__init__.py 667 304 54% 1605s Mar 22 18:21:06 patroni/dcs/consul.py 482 482 0% 1605s Mar 22 18:21:06 patroni/dcs/etcd3.py 683 683 0% 1605s Mar 22 18:21:06 patroni/dcs/etcd.py 602 235 61% 1605s Mar 22 18:21:06 patroni/dcs/exhibitor.py 60 60 0% 1605s Mar 22 18:21:06 patroni/dcs/kubernetes.py 935 935 0% 1605s Mar 22 18:21:06 patroni/dcs/raft.py 318 318 0% 1605s Mar 22 18:21:06 patroni/dcs/zookeeper.py 287 287 0% 1605s Mar 22 18:21:06 patroni/exceptions.py 16 1 94% 1605s Mar 22 18:21:06 patroni/file_perm.py 43 15 65% 1605s Mar 22 18:21:06 patroni/ha.py 1239 1239 0% 1605s Mar 22 18:21:06 patroni/log.py 155 155 0% 1605s Mar 22 18:21:06 patroni/postgresql/__init__.py 826 655 21% 1605s Mar 22 18:21:06 patroni/postgresql/bootstrap.py 253 224 11% 1605s Mar 22 18:21:06 patroni/postgresql/callback_executor.py 55 34 38% 1605s Mar 22 18:21:06 patroni/postgresql/cancellable.py 104 84 19% 1605s Mar 22 18:21:06 patroni/postgresql/citus.py 258 217 16% 1605s Mar 22 18:21:06 patroni/postgresql/config.py 806 693 14% 1605s Mar 22 18:21:06 patroni/postgresql/connection.py 75 50 33% 1605s Mar 22 18:21:06 patroni/postgresql/misc.py 41 29 29% 1605s Mar 22 18:21:06 patroni/postgresql/postmaster.py 170 139 18% 1605s Mar 22 18:21:06 patroni/postgresql/rewind.py 415 415 0% 1605s Mar 22 18:21:06 patroni/postgresql/slots.py 332 285 14% 1605s Mar 22 18:21:06 patroni/postgresql/sync.py 129 96 26% 1605s Mar 22 18:21:06 patroni/postgresql/validator.py 165 53 68% 1605s Mar 22 18:21:06 patroni/psycopg.py 41 27 34% 1605s Mar 22 18:21:06 patroni/raft_controller.py 22 22 0% 1605s Mar 22 18:21:06 patroni/request.py 62 6 90% 1605s Mar 22 18:21:06 patroni/scripts/__init__.py 0 0 100% 1605s Mar 22 18:21:06 patroni/scripts/aws.py 59 59 0% 1605s Mar 22 18:21:06 patroni/scripts/wale_restore.py 207 207 0% 1605s Mar 22 18:21:06 patroni/tags.py 35 14 60% 1605s Mar 22 18:21:06 patroni/utils.py 318 220 31% 1605s Mar 22 18:21:06 patroni/validator.py 284 201 29% 1605s Mar 22 18:21:06 patroni/version.py 1 0 100% 1605s Mar 22 18:21:06 patroni/watchdog/__init__.py 2 2 0% 1605s Mar 22 18:21:06 patroni/watchdog/base.py 203 203 0% 1605s Mar 22 18:21:06 patroni/watchdog/linux.py 135 135 0% 1605s Mar 22 18:21:06 ------------------------------------------------------------------------------------------------------------- 1605s Mar 22 18:21:06 TOTAL 52899 33874 36% 1605s Mar 22 18:21:06 1 feature passed, 0 failed, 0 skipped 1605s Mar 22 18:21:06 7 scenarios passed, 0 failed, 0 skipped 1605s Mar 22 18:21:06 68 steps passed, 0 failed, 0 skipped, 0 undefined 1605s Mar 22 18:21:06 Took 1m26.698s 1605s ### End 16 acceptance-etcd features/basic_replication.feature ### 1605s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 1605s + rm -f '/tmp/pgpass?' 1605s ++ id -u 1605s + '[' 0 -eq 0 ']' 1605s + '[' -x /etc/init.d/zookeeper ']' 1605s autopkgtest [18:21:06]: test acceptance-etcd-basic: -----------------------] 1606s autopkgtest [18:21:07]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 1606s acceptance-etcd-basic PASS 1607s autopkgtest [18:21:08]: test acceptance-etcd: preparing testbed 1610s Reading package lists... 1610s Building dependency tree... 1610s Reading state information... 1611s Starting pkgProblemResolver with broken count: 0 1611s Starting 2 pkgProblemResolver with broken count: 0 1611s Done 1611s The following NEW packages will be installed: 1611s autopkgtest-satdep 1611s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1611s Need to get 0 B/772 B of archives. 1611s After this operation, 0 B of additional disk space will be used. 1611s Get:1 /tmp/autopkgtest.gBYNUz/3-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [772 B] 1612s Selecting previously unselected package autopkgtest-satdep. 1612s (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 ... 73074 files and directories currently installed.) 1612s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1612s Unpacking autopkgtest-satdep (0) ... 1612s Setting up autopkgtest-satdep (0) ... 1614s (Reading database ... 73074 files and directories currently installed.) 1614s Removing autopkgtest-satdep (0) ... 1615s autopkgtest [18:21:16]: test acceptance-etcd: debian/tests/acceptance etcd 1615s autopkgtest [18:21:16]: test acceptance-etcd: [----------------------- 1615s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1616s ○ etcd.service - etcd - highly-available key value store 1616s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1616s Active: inactive (dead) since Fri 2024-03-22 18:19:29 UTC; 1min 48s ago 1616s Duration: 17.186s 1616s Docs: https://etcd.io/docs 1616s man:etcd 1616s Process: 1654 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1616s Main PID: 1654 (code=killed, signal=TERM) 1616s CPU: 54ms 1616s 1616s Mar 22 18:19:12 autopkgtest systemd[1]: Started etcd.service - etcd - highly-available key value store. 1616s Mar 22 18:19:12 autopkgtest etcd[1654]: set the initial cluster version to 3.4 1616s Mar 22 18:19:12 autopkgtest etcd[1654]: enabled capabilities for version 3.4 1616s Mar 22 18:19:29 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 1616s Mar 22 18:19:29 autopkgtest etcd[1654]: received terminated signal, shutting down... 1616s Mar 22 18:19:29 autopkgtest etcd[1654]: stopping insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1616s Mar 22 18:19:29 autopkgtest etcd[1654]: stopped insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1616s Mar 22 18:19:29 autopkgtest etcd[1654]: skipped leadership transfer for single voting member cluster 1616s Mar 22 18:19:29 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 1616s Mar 22 18:19:29 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1616s ++ ls -1r /usr/lib/postgresql/ 1616s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1616s + echo '### PostgreSQL 16 acceptance-etcd ###' 1616s ### PostgreSQL 16 acceptance-etcd ### 1616s + '[' 16 == 10 ']' 1616s + SKIP= 1616s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 1618s Mar 22 18:21:19 Feature: basic replication # features/basic_replication.feature:1 1618s Mar 22 18:21:19 We should check that the basic bootstrapping, replication and failover works. 1618s Mar 22 18:21:19 Scenario: check replication of a single table # features/basic_replication.feature:4 1618s Mar 22 18:21:19 Given I start postgres0 # features/steps/basic_replication.py:8 1622s Mar 22 18:21:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1623s Mar 22 18:21:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1623s Mar 22 18:21:24 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1623s Mar 22 18:21:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1623s Mar 22 18:21:24 When I start postgres1 # features/steps/basic_replication.py:8 1627s Mar 22 18:21:28 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1632s Mar 22 18:21:32 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1632s Mar 22 18:21:32 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 1632s Mar 22 18:21:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1633s Mar 22 18:21:34 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 1633s Mar 22 18:21:34 1633s Mar 22 18:21:34 Scenario: check restart of sync replica # features/basic_replication.feature:17 1633s Mar 22 18:21:34 Given I shut down postgres2 # features/steps/basic_replication.py:29 1634s Mar 22 18:21:35 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1634s Mar 22 18:21:35 When I start postgres2 # features/steps/basic_replication.py:8 1637s Mar 22 18:21:38 And I shut down postgres1 # features/steps/basic_replication.py:29 1640s Mar 22 18:21:41 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1641s Mar 22 18:21:42 When I start postgres1 # features/steps/basic_replication.py:8 1644s Mar 22 18:21:45 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1644s Mar 22 18:21:45 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1644s Mar 22 18:21:45 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1644s Mar 22 18:21:45 1644s Mar 22 18:21:45 Scenario: check stuck sync replica # features/basic_replication.feature:28 1644s Mar 22 18:21:45 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1644s Mar 22 18:21:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1644s Mar 22 18:21:45 And I create table on postgres0 # features/steps/basic_replication.py:69 1644s Mar 22 18:21:45 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 1645s Mar 22 18:21:46 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 1645s Mar 22 18:21:46 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 1645s Mar 22 18:21:46 And I load data on postgres0 # features/steps/basic_replication.py:80 1646s Mar 22 18:21:47 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1649s Mar 22 18:21:50 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 1649s Mar 22 18:21:50 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1650s Mar 22 18:21:51 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1650s Mar 22 18:21:51 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1651s Mar 22 18:21:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1651s Mar 22 18:21:52 And I drop table on postgres0 # features/steps/basic_replication.py:69 1651s Mar 22 18:21:52 1651s Mar 22 18:21:52 Scenario: check multi sync replication # features/basic_replication.feature:44 1651s Mar 22 18:21:52 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1651s Mar 22 18:21:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1651s Mar 22 18:21:52 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1655s Mar 22 18:21:56 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1655s Mar 22 18:21:56 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1655s Mar 22 18:21:56 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1655s Mar 22 18:21:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1655s Mar 22 18:21:56 And I shut down postgres1 # features/steps/basic_replication.py:29 1658s Mar 22 18:21:59 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1659s Mar 22 18:22:00 When I start postgres1 # features/steps/basic_replication.py:8 1662s Mar 22 18:22:03 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1663s Mar 22 18:22:04 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1663s Mar 22 18:22:04 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1663s Mar 22 18:22:04 1663s Mar 22 18:22:04 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1663s Mar 22 18:22:04 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1665s Mar 22 18:22:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1665s Mar 22 18:22:06 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1667s Mar 22 18:22:08 And I shut down postgres0 # features/steps/basic_replication.py:29 1668s Mar 22 18:22:09 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1670s Mar 22 18:22:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1670s Mar 22 18:22:11 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 1689s Mar 22 18:22:30 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1692s Mar 22 18:22:33 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1692s Mar 22 18:22:33 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 1692s Mar 22 18:22:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1692s Mar 22 18:22:33 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 1692s Mar 22 18:22:33 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1694s Mar 22 18:22:35 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1694s Mar 22 18:22:35 1694s Mar 22 18:22:35 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1694s Mar 22 18:22:35 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 1694s Mar 22 18:22:35 And I start postgres0 # features/steps/basic_replication.py:8 1694s Mar 22 18:22:35 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1698s Mar 22 18:22:39 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 1698s Mar 22 18:22:39 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 1701s Mar 22 18:22:42 1701s Mar 22 18:22:42 @reject-duplicate-name 1701s Mar 22 18:22:42 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1701s Mar 22 18:22:42 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1704s Mar 22 18:22:45 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:117 1709s Mar 22 18:22:50 1709s Mar 22 18:22:50 Feature: cascading replication # features/cascading_replication.feature:1 1709s Mar 22 18:22:50 We should check that patroni can do base backup and streaming from the replica 1709s Mar 22 18:22:50 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1709s Mar 22 18:22:50 Given I start postgres0 # features/steps/basic_replication.py:8 1713s Mar 22 18:22:54 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1714s Mar 22 18:22:55 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1717s Mar 22 18:22:58 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1722s Mar 22 18:23:03 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1722s Mar 22 18:23:03 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1722s Mar 22 18:23:03 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1722s Mar 22 18:23:03 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1725s Mar 22 18:23:06 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 1730s Mar 22 18:23:11 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1736s Mar 22 18:23:17 1736s Mar 22 18:23:17 Feature: citus # features/citus.feature:1 1736s Mar 22 18:23:17 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1736s Mar 22 18:23:17 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1736s Mar 22 18:23:17 Given I start postgres0 in citus group 0 # None 1736s Mar 22 18:23:17 And I start postgres2 in citus group 1 # None 1736s Mar 22 18:23:17 Then postgres0 is a leader in a group 0 after 10 seconds # None 1736s Mar 22 18:23:17 And postgres2 is a leader in a group 1 after 10 seconds # None 1736s Mar 22 18:23:17 When I start postgres1 in citus group 0 # None 1736s Mar 22 18:23:17 And I start postgres3 in citus group 1 # None 1736s Mar 22 18:23:17 Then replication works from postgres0 to postgres1 after 15 seconds # None 1736s Mar 22 18:23:17 Then replication works from postgres2 to postgres3 after 15 seconds # None 1736s Mar 22 18:23:17 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1736s Mar 22 18:23:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1736s SKIP FEATURE citus: Citus extenstion isn't available 1736s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1736s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1736s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1736s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1736s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 1736s Mar 22 18:23:17 1736s Mar 22 18:23:17 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1736s Mar 22 18:23:17 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1736s Mar 22 18:23:17 Then postgres1 role is the primary after 10 seconds # None 1736s Mar 22 18:23:17 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1736s Mar 22 18:23:17 And replication works from postgres1 to postgres0 after 15 seconds # None 1736s Mar 22 18:23:17 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1736s Mar 22 18:23:17 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1736s Mar 22 18:23:17 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1736s Mar 22 18:23:17 Then postgres0 role is the primary after 10 seconds # None 1736s Mar 22 18:23:17 And replication works from postgres0 to postgres1 after 15 seconds # None 1736s Mar 22 18:23:17 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1736s Mar 22 18:23:17 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1736s Mar 22 18:23:17 1736s Mar 22 18:23:17 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1736s Mar 22 18:23:17 Given I create a distributed table on postgres0 # None 1736s Mar 22 18:23:17 And I start a thread inserting data on postgres0 # None 1736s Mar 22 18:23:17 When I run patronictl.py switchover batman --group 1 --force # None 1736s Mar 22 18:23:17 Then I receive a response returncode 0 # None 1736s Mar 22 18:23:17 And postgres3 role is the primary after 10 seconds # None 1736s Mar 22 18:23:17 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1736s Mar 22 18:23:17 And replication works from postgres3 to postgres2 after 15 seconds # None 1736s Mar 22 18:23:17 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1736s Mar 22 18:23:17 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1736s Mar 22 18:23:17 And a thread is still alive # None 1736s Mar 22 18:23:17 When I run patronictl.py switchover batman --group 1 --force # None 1736s Mar 22 18:23:17 Then I receive a response returncode 0 # None 1736s Mar 22 18:23:17 And postgres2 role is the primary after 10 seconds # None 1736s Mar 22 18:23:17 And replication works from postgres2 to postgres3 after 15 seconds # None 1736s Mar 22 18:23:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1736s Mar 22 18:23:17 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1736s Mar 22 18:23:17 And a thread is still alive # None 1736s Mar 22 18:23:17 When I stop a thread # None 1736s Mar 22 18:23:17 Then a distributed table on postgres0 has expected rows # None 1736s Mar 22 18:23:17 1736s Mar 22 18:23:17 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1736s Mar 22 18:23:17 Given I cleanup a distributed table on postgres0 # None 1736s Mar 22 18:23:17 And I start a thread inserting data on postgres0 # None 1736s Mar 22 18:23:17 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1736s Mar 22 18:23:17 Then I receive a response returncode 0 # None 1736s Mar 22 18:23:17 And postgres2 role is the primary after 10 seconds # None 1736s Mar 22 18:23:17 And replication works from postgres2 to postgres3 after 15 seconds # None 1736s Mar 22 18:23:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1736s Mar 22 18:23:17 And a thread is still alive # None 1736s Mar 22 18:23:17 When I stop a thread # None 1736s Mar 22 18:23:17 Then a distributed table on postgres0 has expected rows # None 1736s Mar 22 18:23:17 1736s Mar 22 18:23:17 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1736s Mar 22 18:23:17 Given I start postgres4 in citus group 2 # None 1736s Mar 22 18:23:17 Then postgres4 is a leader in a group 2 after 10 seconds # None 1736s Mar 22 18:23:17 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1736s Mar 22 18:23:17 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1736s Mar 22 18:23:17 Then I receive a response returncode 0 # None 1736s Mar 22 18:23:17 And I receive a response output "+ttl: 20" # None 1736s Mar 22 18:23:17 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1736s Mar 22 18:23:17 When I shut down postgres4 # None 1736s Mar 22 18:23:17 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1736s Mar 22 18:23:17 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1736s Mar 22 18:23:17 Then a transaction finishes in 20 seconds # None 1736s Mar 22 18:23:17 1736s Mar 22 18:23:17 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1736s Mar 22 18:23:17 We should check that patroni can bootstrap a new cluster from a backup 1736s Mar 22 18:23:17 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1736s Mar 22 18:23:17 Given I start postgres0 # features/steps/basic_replication.py:8 1740s Mar 22 18:23:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1741s Mar 22 18:23:22 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 1741s Mar 22 18:23:22 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1745s Mar 22 18:23:26 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1746s Mar 22 18:23:27 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 1746s Mar 22 18:23:27 1746s Mar 22 18:23:27 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1746s Mar 22 18:23:27 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 1746s Mar 22 18:23:27 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1747s Mar 22 18:23:28 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1753s Mar 22 18:23:34 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1754s Mar 22 18:23:35 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 1760s Mar 22 18:23:41 1760s Mar 22 18:23:41 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1760s Mar 22 18:23:41 We should check the basic dcs failsafe mode functioning 1760s Mar 22 18:23:41 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1760s Mar 22 18:23:41 Given I start postgres0 # features/steps/basic_replication.py:8 1764s Mar 22 18:23:45 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1765s Mar 22 18:23:46 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1765s Mar 22 18:23:46 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 1765s Mar 22 18:23:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1765s Mar 22 18:23:46 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1765s Mar 22 18:23:46 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1765s Mar 22 18:23:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1765s Mar 22 18:23:46 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1765s Mar 22 18:23:46 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 1765s Mar 22 18:23:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1765s Mar 22 18:23:46 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1765s Mar 22 18:23:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1765s Mar 22 18:23:46 1765s Mar 22 18:23:46 @dcs-failsafe 1765s Mar 22 18:23:46 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1765s Mar 22 18:23:46 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1765s Mar 22 18:23:46 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 1772s Mar 22 18:23:53 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1772s Mar 22 18:23:53 1772s Mar 22 18:23:53 @dcs-failsafe 1772s Mar 22 18:23:53 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1772s Mar 22 18:23:53 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1772s Mar 22 18:23:53 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1772s Mar 22 18:23:53 And I shut down postgres0 # features/steps/basic_replication.py:29 1774s Mar 22 18:23:55 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1778s Mar 22 18:23:59 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:101 1778s Mar 22 18:23:59 1778s Mar 22 18:23:59 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1778s Mar 22 18:23:59 Given I start postgres0 # features/steps/basic_replication.py:8 1781s Mar 22 18:24:02 And I start postgres1 # features/steps/basic_replication.py:8 1781s Mar 22 18:24:02 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1782s Mar 22 18:24:03 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1782s Mar 22 18:24:03 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1783s Mar 22 18:24:04 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1783s Mar 22 18:24:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 1783s Mar 22 18:24:04 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1783s Mar 22 18:24:04 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1783s Mar 22 18:24:04 1783s Mar 22 18:24:04 @dcs-failsafe @slot-advance 1783s Mar 22 18:24:04 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1783s Mar 22 18:24:04 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1783s Mar 22 18:24:04 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1789s Mar 22 18:24:10 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1789s Mar 22 18:24:10 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1789s Mar 22 18:24:10 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 1796s Mar 22 18:24:17 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1796s Mar 22 18:24:17 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:101 1796s Mar 22 18:24:17 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:108 1796s Mar 22 18:24:17 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1796s Mar 22 18:24:17 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1796s Mar 22 18:24:17 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1799s Mar 22 18:24:20 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1799s Mar 22 18:24:20 1799s Mar 22 18:24:20 @dcs-failsafe 1799s Mar 22 18:24:20 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1799s Mar 22 18:24:20 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1799s Mar 22 18:24:20 And I kill postgres1 # features/steps/basic_replication.py:34 1800s Mar 22 18:24:21 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1800s Mar 22 18:24:21 waiting for server to shut down.... done 1800s Mar 22 18:24:21 server stopped 1800s Mar 22 18:24:21 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:101 1801s Mar 22 18:24:22 1801s Mar 22 18:24:22 @dcs-failsafe 1801s Mar 22 18:24:22 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1801s Mar 22 18:24:22 Given I kill postgres0 # features/steps/basic_replication.py:34 1802s Mar 22 18:24:23 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1802s Mar 22 18:24:23 waiting for server to shut down.... done 1802s Mar 22 18:24:23 server stopped 1802s Mar 22 18:24:23 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1802s Mar 22 18:24:23 When I start postgres1 # features/steps/basic_replication.py:8 1805s Mar 22 18:24:26 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1806s Mar 22 18:24:27 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:101 1810s Mar 22 18:24:31 1810s Mar 22 18:24:31 @dcs-failsafe 1810s Mar 22 18:24:31 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1810s Mar 22 18:24:31 Given I start postgres0 # features/steps/basic_replication.py:8 1814s Mar 22 18:24:35 And I start postgres2 # features/steps/basic_replication.py:8 1818s Mar 22 18:24:39 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1819s Mar 22 18:24:40 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1819s Mar 22 18:24:40 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1819s Mar 22 18:24:40 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 1820s Mar 22 18:24:41 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 1821s Mar 22 18:24:42 1821s Mar 22 18:24:42 @dcs-failsafe @slot-advance 1821s Mar 22 18:24:42 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1821s Mar 22 18:24:42 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1821s Mar 22 18:24:42 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1828s Mar 22 18:24:48 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1829s Mar 22 18:24:49 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1829s Mar 22 18:24:49 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1830s Mar 22 18:24:50 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1830s Mar 22 18:24:51 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1830s Mar 22 18:24:51 1830s Mar 22 18:24:51 @dcs-failsafe 1830s Mar 22 18:24:51 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1830s Mar 22 18:24:51 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1830s Mar 22 18:24:51 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 1837s Mar 22 18:24:58 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1837s Mar 22 18:24:58 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:101 1837s Mar 22 18:24:58 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:101 1837s Mar 22 18:24:58 1837s Mar 22 18:24:58 @dcs-failsafe @slot-advance 1837s Mar 22 18:24:58 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1837s Mar 22 18:24:58 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 1837s Mar 22 18:24:58 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 1837s Mar 22 18:24:58 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1837s Mar 22 18:24:58 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1837s Mar 22 18:24:58 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1840s Mar 22 18:25:01 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1840s Mar 22 18:25:01 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1840s Mar 22 18:25:01 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1840s Mar 22 18:25:01 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1844s Mar 22 18:25:05 1844s Mar 22 18:25:05 Feature: ignored slots # features/ignored_slots.feature:1 1844s Mar 22 18:25:05 1844s Mar 22 18:25:05 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1844s Mar 22 18:25:05 Given I start postgres1 # features/steps/basic_replication.py:8 1848s Mar 22 18:25:09 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1848s Mar 22 18:25:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1848s Mar 22 18:25:09 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1848s Mar 22 18:25:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1848s Mar 22 18:25:09 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1848s Mar 22 18:25:09 When I shut down postgres1 # features/steps/basic_replication.py:29 1850s Mar 22 18:25:11 And I start postgres1 # features/steps/basic_replication.py:8 1853s Mar 22 18:25:14 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1854s Mar 22 18:25:15 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1855s Mar 22 18:25:16 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 1855s Mar 22 18:25:16 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1855s Mar 22 18:25:16 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1855s Mar 22 18:25:16 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1855s Mar 22 18:25:16 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1855s Mar 22 18:25:16 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1855s Mar 22 18:25:16 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1855s Mar 22 18:25:16 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1855s Mar 22 18:25:16 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1855s Mar 22 18:25:16 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1855s Mar 22 18:25:16 When I start postgres0 # features/steps/basic_replication.py:8 1858s Mar 22 18:25:19 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1859s Mar 22 18:25:20 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1859s Mar 22 18:25:20 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 1863s Mar 22 18:25:24 When I shut down postgres1 # features/steps/basic_replication.py:29 1865s Mar 22 18:25:26 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1866s Mar 22 18:25:27 When I start postgres1 # features/steps/basic_replication.py:8 1869s Mar 22 18:25:30 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1869s Mar 22 18:25:30 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1870s Mar 22 18:25:31 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1872s Mar 22 18:25:33 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1872s Mar 22 18:25:33 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1872s Mar 22 18:25:33 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1872s Mar 22 18:25:33 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1872s Mar 22 18:25:33 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1872s Mar 22 18:25:33 When I shut down postgres0 # features/steps/basic_replication.py:29 1874s Mar 22 18:25:35 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1875s Mar 22 18:25:36 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1875s Mar 22 18:25:36 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1875s Mar 22 18:25:36 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1875s Mar 22 18:25:36 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1878s Mar 22 18:25:39 1878s Mar 22 18:25:39 Feature: patroni api # features/patroni_api.feature:1 1878s Mar 22 18:25:39 We should check that patroni correctly responds to valid and not-valid API requests. 1878s Mar 22 18:25:39 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1878s Mar 22 18:25:39 Given I start postgres0 # features/steps/basic_replication.py:8 1882s Mar 22 18:25:43 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1883s Mar 22 18:25:44 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1883s Mar 22 18:25:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 And I receive a response state running # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 And I receive a response role master # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1883s Mar 22 18:25:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1883s Mar 22 18:25:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1883s Mar 22 18:25:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1883s Mar 22 18:25:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1883s Mar 22 18:25:44 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1885s Mar 22 18:25:46 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1885s Mar 22 18:25:46 Then I receive a response code 412 # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1885s Mar 22 18:25:46 Then I receive a response code 400 # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1885s Mar 22 18:25:46 Then I receive a response code 400 # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 1885s Mar 22 18:25:46 Scenario: check local configuration reload # features/patroni_api.feature:32 1885s Mar 22 18:25:46 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1885s Mar 22 18:25:46 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1885s Mar 22 18:25:46 Then I receive a response code 202 # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 1885s Mar 22 18:25:46 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1885s Mar 22 18:25:46 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 1885s Mar 22 18:25:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1885s Mar 22 18:25:46 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1886s Mar 22 18:25:47 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1886s Mar 22 18:25:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1886s Mar 22 18:25:47 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1886s Mar 22 18:25:47 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1886s Mar 22 18:25:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1886s Mar 22 18:25:47 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1886s Mar 22 18:25:47 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1890s Mar 22 18:25:51 1890s Mar 22 18:25:51 Scenario: check the scheduled restart # features/patroni_api.feature:49 1890s Mar 22 18:25:51 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1892s Mar 22 18:25:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1892s Mar 22 18:25:53 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1892s Mar 22 18:25:53 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1892s Mar 22 18:25:53 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 1892s Mar 22 18:25:53 Then I receive a response code 202 # features/steps/patroni_api.py:98 1892s Mar 22 18:25:53 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1900s Mar 22 18:26:01 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1900s Mar 22 18:26:01 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 1901s Mar 22 18:26:02 Then I receive a response code 202 # features/steps/patroni_api.py:98 1901s Mar 22 18:26:02 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1907s Mar 22 18:26:08 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1908s Mar 22 18:26:09 1908s Mar 22 18:26:09 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1908s Mar 22 18:26:09 Given I start postgres1 # features/steps/basic_replication.py:8 1911s Mar 22 18:26:12 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1912s Mar 22 18:26:13 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1914s Mar 22 18:26:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1914s Mar 22 18:26:15 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1914s Mar 22 18:26:15 waiting for server to shut down.... done 1914s Mar 22 18:26:15 server stopped 1914s Mar 22 18:26:15 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1915s Mar 22 18:26:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 1915s Mar 22 18:26:16 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1916s Mar 22 18:26:17 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1919s Mar 22 18:26:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1919s Mar 22 18:26:20 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1920s Mar 22 18:26:21 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1922s Mar 22 18:26:23 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1922s Mar 22 18:26:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 1922s Mar 22 18:26:23 And I receive a response state running # features/steps/patroni_api.py:98 1922s Mar 22 18:26:23 And I receive a response role replica # features/steps/patroni_api.py:98 1922s Mar 22 18:26:23 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1926s Mar 22 18:26:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1926s Mar 22 18:26:27 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1926s Mar 22 18:26:27 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 1927s Mar 22 18:26:28 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1927s Mar 22 18:26:28 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1930s Mar 22 18:26:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1930s Mar 22 18:26:31 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1930s Mar 22 18:26:31 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 1931s Mar 22 18:26:32 1931s Mar 22 18:26:32 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1931s Mar 22 18:26:32 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 1934s Mar 22 18:26:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1934s Mar 22 18:26:35 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1934s Mar 22 18:26:35 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1934s Mar 22 18:26:35 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 1936s Mar 22 18:26:37 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 1939s Mar 22 18:26:40 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1940s Mar 22 18:26:41 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1940s Mar 22 18:26:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 1940s Mar 22 18:26:41 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1940s Mar 22 18:26:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1940s Mar 22 18:26:41 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1940s Mar 22 18:26:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1940s Mar 22 18:26:41 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1940s Mar 22 18:26:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 1940s Mar 22 18:26:41 1940s Mar 22 18:26:41 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1940s Mar 22 18:26:41 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1942s Mar 22 18:26:43 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1942s Mar 22 18:26:43 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1942s Mar 22 18:26:43 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1944s Mar 22 18:26:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1944s Mar 22 18:26:45 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1946s Mar 22 18:26:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1946s Mar 22 18:26:47 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1956s Mar 22 18:26:57 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1956s Mar 22 18:26:57 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 1958s Mar 22 18:26:59 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 1958s Mar 22 18:26:59 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1959s Mar 22 18:27:00 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1959s Mar 22 18:27:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1959s Mar 22 18:27:00 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1959s Mar 22 18:27:00 Then I receive a response code 503 # features/steps/patroni_api.py:98 1959s Mar 22 18:27:00 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1959s Mar 22 18:27:00 Then I receive a response code 503 # features/steps/patroni_api.py:98 1959s Mar 22 18:27:00 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1959s Mar 22 18:27:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1963s Mar 22 18:27:04 1963s Mar 22 18:27:04 Feature: permanent slots # features/permanent_slots.feature:1 1963s Mar 22 18:27:04 1963s Mar 22 18:27:04 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1963s Mar 22 18:27:04 Given I start postgres0 # features/steps/basic_replication.py:8 1967s Mar 22 18:27:08 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1968s Mar 22 18:27:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1968s Mar 22 18:27:09 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1968s Mar 22 18:27:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1968s Mar 22 18:27:09 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1968s Mar 22 18:27:09 When I start postgres1 # features/steps/basic_replication.py:8 1971s Mar 22 18:27:12 And I start postgres2 # features/steps/basic_replication.py:8 1975s Mar 22 18:27:16 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1979s Mar 22 18:27:20 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1979s Mar 22 18:27:20 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1979s Mar 22 18:27:20 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1979s Mar 22 18:27:20 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1979s Mar 22 18:27:20 1979s Mar 22 18:27:20 @slot-advance 1979s Mar 22 18:27:20 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1979s Mar 22 18:27:20 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1983s Mar 22 18:27:24 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1983s Mar 22 18:27:24 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1984s Mar 22 18:27:25 1984s Mar 22 18:27:25 @slot-advance 1984s Mar 22 18:27:25 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1984s Mar 22 18:27:25 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1989s Mar 22 18:27:30 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1989s Mar 22 18:27:30 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1990s Mar 22 18:27:31 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1991s Mar 22 18:27:32 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 1991s Mar 22 18:27:32 @slot-advance 1991s Mar 22 18:27:32 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1991s Mar 22 18:27:32 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1991s Mar 22 18:27:32 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1991s Mar 22 18:27:32 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1991s Mar 22 18:27:32 1991s Mar 22 18:27:32 @slot-advance 1991s Mar 22 18:27:32 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1991s Mar 22 18:27:32 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 1991s Mar 22 18:27:32 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1991s Mar 22 18:27:32 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1991s Mar 22 18:27:32 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1993s Mar 22 18:27:34 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1993s Mar 22 18:27:34 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1993s Mar 22 18:27:34 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1993s Mar 22 18:27:34 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1993s Mar 22 18:27:34 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1993s Mar 22 18:27:34 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1993s Mar 22 18:27:34 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1995s Mar 22 18:27:36 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1995s Mar 22 18:27:36 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1995s Mar 22 18:27:36 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1995s Mar 22 18:27:36 1995s Mar 22 18:27:36 @slot-advance 1995s Mar 22 18:27:36 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1995s Mar 22 18:27:36 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1995s Mar 22 18:27:36 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1995s Mar 22 18:27:36 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1995s Mar 22 18:27:36 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1995s Mar 22 18:27:36 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1995s Mar 22 18:27:36 1995s Mar 22 18:27:36 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1995s Mar 22 18:27:36 Given I shut down postgres3 # features/steps/basic_replication.py:29 1996s Mar 22 18:27:37 And I shut down postgres2 # features/steps/basic_replication.py:29 1997s Mar 22 18:27:38 And I shut down postgres0 # features/steps/basic_replication.py:29 1999s Mar 22 18:27:40 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1999s Mar 22 18:27:40 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1999s Mar 22 18:27:40 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2001s Mar 22 18:27:42 2001s Mar 22 18:27:42 Feature: priority replication # features/priority_failover.feature:1 2001s Mar 22 18:27:42 We should check that we can give nodes priority during failover 2001s Mar 22 18:27:42 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2001s Mar 22 18:27:42 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2006s Mar 22 18:27:47 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2009s Mar 22 18:27:50 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 2014s Mar 22 18:27:55 When I shut down postgres0 # features/steps/basic_replication.py:29 2016s Mar 22 18:27:57 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 2018s Mar 22 18:27:59 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 2018s Mar 22 18:27:59 When I start postgres0 # features/steps/basic_replication.py:8 2021s Mar 22 18:28:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2022s Mar 22 18:28:03 2022s Mar 22 18:28:03 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2022s Mar 22 18:28:03 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2026s Mar 22 18:28:07 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2030s Mar 22 18:28:11 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 2031s Mar 22 18:28:12 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 2032s Mar 22 18:28:13 When I shut down postgres0 # features/steps/basic_replication.py:29 2034s Mar 22 18:28:15 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2034s Mar 22 18:28:15 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 2034s Mar 22 18:28:15 2034s Mar 22 18:28:15 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2034s Mar 22 18:28:15 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2034s Mar 22 18:28:15 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2034s Mar 22 18:28:15 Then I receive a response code 202 # features/steps/patroni_api.py:98 2034s Mar 22 18:28:15 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 2035s Mar 22 18:28:16 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2036s Mar 22 18:28:17 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2036s Mar 22 18:28:17 Then I receive a response code 412 # features/steps/patroni_api.py:98 2036s Mar 22 18:28:17 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2036s Mar 22 18:28:17 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2036s Mar 22 18:28:17 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2036s Mar 22 18:28:17 Then I receive a response code 202 # features/steps/patroni_api.py:98 2036s Mar 22 18:28:17 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 2037s Mar 22 18:28:18 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2038s Mar 22 18:28:19 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2040s Mar 22 18:28:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2040s Mar 22 18:28:21 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2044s Mar 22 18:28:25 2044s Mar 22 18:28:25 Feature: recovery # features/recovery.feature:1 2044s Mar 22 18:28:25 We want to check that crashed postgres is started back 2044s Mar 22 18:28:25 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2044s Mar 22 18:28:25 Given I start postgres0 # features/steps/basic_replication.py:8 2048s Mar 22 18:28:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2049s Mar 22 18:28:30 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2049s Mar 22 18:28:30 When I start postgres1 # features/steps/basic_replication.py:8 2052s Mar 22 18:28:33 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 2052s Mar 22 18:28:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 2057s Mar 22 18:28:38 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2057s Mar 22 18:28:38 waiting for server to shut down.... done 2057s Mar 22 18:28:38 server stopped 2057s Mar 22 18:28:38 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2060s Mar 22 18:28:40 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2060s Mar 22 18:28:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2060s Mar 22 18:28:41 And I receive a response role master # features/steps/patroni_api.py:98 2060s Mar 22 18:28:41 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2060s Mar 22 18:28:41 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2061s Mar 22 18:28:42 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 2063s Mar 22 18:28:44 2063s Mar 22 18:28:44 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2063s Mar 22 18:28:44 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 2063s Mar 22 18:28:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 2063s Mar 22 18:28:44 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2063s Mar 22 18:28:44 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2063s Mar 22 18:28:44 waiting for server to shut down.... done 2063s Mar 22 18:28:44 server stopped 2063s Mar 22 18:28:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2065s Mar 22 18:28:46 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2068s Mar 22 18:28:49 2068s Mar 22 18:28:49 Feature: standby cluster # features/standby_cluster.feature:1 2068s Mar 22 18:28:49 2068s Mar 22 18:28:49 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2068s Mar 22 18:28:49 Given I start postgres1 # features/steps/basic_replication.py:8 2072s Mar 22 18:28:53 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2073s Mar 22 18:28:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2073s Mar 22 18:28:54 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 2073s Mar 22 18:28:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 2073s Mar 22 18:28:54 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2073s Mar 22 18:28:54 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2076s Mar 22 18:28:57 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 2076s Mar 22 18:28:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2076s Mar 22 18:28:57 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2077s Mar 22 18:28:58 When I start postgres0 # features/steps/basic_replication.py:8 2080s Mar 22 18:29:01 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2081s Mar 22 18:29:02 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 2082s Mar 22 18:29:03 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2082s Mar 22 18:29:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 2082s Mar 22 18:29:03 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2082s Mar 22 18:29:03 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2083s Mar 22 18:29:04 2083s Mar 22 18:29:04 @slot-advance 2083s Mar 22 18:29:04 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2083s Mar 22 18:29:04 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2086s Mar 22 18:29:07 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2091s Mar 22 18:29:12 2091s Mar 22 18:29:12 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2091s Mar 22 18:29:12 When I shut down postgres1 # features/steps/basic_replication.py:29 2093s Mar 22 18:29:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2093s Mar 22 18:29:14 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 2094s Mar 22 18:29:15 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2094s Mar 22 18:29:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2094s Mar 22 18:29:15 2094s Mar 22 18:29:15 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2094s Mar 22 18:29:15 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2097s Mar 22 18:29:18 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2098s Mar 22 18:29:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 2098s Mar 22 18:29:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 2098s Mar 22 18:29:19 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2098s Mar 22 18:29:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 2098s Mar 22 18:29:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2098s Mar 22 18:29:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2101s Mar 22 18:29:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2102s Mar 22 18:29:23 Then I receive a response code 503 # features/steps/patroni_api.py:98 2102s Mar 22 18:29:23 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2102s Mar 22 18:29:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2102s Mar 22 18:29:23 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2102s Mar 22 18:29:23 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2102s Mar 22 18:29:23 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2105s Mar 22 18:29:26 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 2105s Mar 22 18:29:26 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 2106s Mar 22 18:29:27 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2106s Mar 22 18:29:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2106s Mar 22 18:29:27 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2106s Mar 22 18:29:27 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2106s Mar 22 18:29:27 2106s Mar 22 18:29:27 Scenario: check switchover # features/standby_cluster.feature:56 2106s Mar 22 18:29:27 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2110s Mar 22 18:29:31 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2110s Mar 22 18:29:31 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2112s Mar 22 18:29:33 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 2112s Mar 22 18:29:33 2112s Mar 22 18:29:33 Scenario: check failover # features/standby_cluster.feature:62 2112s Mar 22 18:29:33 When I kill postgres2 # features/steps/basic_replication.py:34 2113s Mar 22 18:29:34 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2113s Mar 22 18:29:34 waiting for server to shut down.... done 2113s Mar 22 18:29:34 server stopped 2113s Mar 22 18:29:34 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2132s Mar 22 18:29:53 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2132s Mar 22 18:29:53 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2132s Mar 22 18:29:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 2132s Mar 22 18:29:53 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2132s Mar 22 18:29:53 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 2133s Mar 22 18:29:54 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2137s Mar 22 18:29:58 2137s Mar 22 18:29:58 Feature: watchdog # features/watchdog.feature:1 2137s Mar 22 18:29:58 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2137s Mar 22 18:29:58 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2137s Mar 22 18:29:58 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2141s Mar 22 18:30:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2141s Mar 22 18:30:02 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2141s Mar 22 18:30:02 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2142s Mar 22 18:30:03 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2142s Mar 22 18:30:03 2142s Mar 22 18:30:03 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2142s Mar 22 18:30:03 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2144s Mar 22 18:30:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2144s Mar 22 18:30:05 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2144s Mar 22 18:30:05 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2148s Mar 22 18:30:09 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2148s Mar 22 18:30:09 2148s Mar 22 18:30:09 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2148s Mar 22 18:30:09 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2150s Mar 22 18:30:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2150s Mar 22 18:30:11 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2153s Mar 22 18:30:13 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2153s Mar 22 18:30:13 2153s Mar 22 18:30:13 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2153s Mar 22 18:30:13 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2153s Mar 22 18:30:13 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2154s Mar 22 18:30:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2154s Mar 22 18:30:15 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2155s Mar 22 18:30:16 2155s Mar 22 18:30:16 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2155s Mar 22 18:30:16 Given I shut down postgres0 # features/steps/basic_replication.py:29 2157s Mar 22 18:30:18 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2157s Mar 22 18:30:18 2157s Mar 22 18:30:18 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2157s Mar 22 18:30:18 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2157s Mar 22 18:30:18 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2160s Mar 22 18:30:21 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2161s Mar 22 18:30:22 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2161s Mar 22 18:30:22 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2184s Mar 22 18:30:45 2185s Failed to get list of machines from http://127.0.0.1:2379/v2: MaxRetryError("HTTPConnectionPool(host='127.0.0.1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 2185s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4802.925037 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5943.103819 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6279.134098 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6938.190235 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4495.743202 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6616.842107 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6401.471413 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6145.924457 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7714.326699 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5091.938119 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6406.338816 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5901.381567 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4986.185315 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4540.401872 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6832.891019 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7670.539796 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6646.105324 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6499.321714 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6222.128729 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7583.025677 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7170.582696 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6011.808792 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7717.082508 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6573.567284 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4902.547769 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4887.286524 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6983.241017 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4614.979836 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6246.615475 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7319.119752 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6132.456317 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6886.292149 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4750.168608 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6217.213059 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7424.307212 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7214.897316 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6790.180353 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7380.581103 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6181.962960 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5649.291834 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7502.965106 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7712.356771 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5193.686674 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.7732.741547 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5280.846033 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5573.062666 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5138.790991 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6399.232619 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4648.717986 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6082.529162 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4945.610464 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5689.891972 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.5850.317674 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.6545.308585 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4577.685566 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4710.509157 2186s Mar 22 18:30:47 Combined data file .coverage.autopkgtest.4747.644649 2189s + echo '### End 16 acceptance-etcd ###' 2189s + rm -f '/tmp/pgpass?' 2189s ++ id -u 2189s + '[' 0 -eq 0 ']' 2189s + '[' -x /etc/init.d/zookeeper ']' 2189s Mar 22 18:30:50 Name Stmts Miss Cover 2189s Mar 22 18:30:50 ------------------------------------------------------------------------------------------------------------- 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 596 44% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 79 43% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 58 59% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/utils.py 76 29 62% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/idna/core.py 294 259 12% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/api.py 768 279 64% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/config.py 416 91 78% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 82 88% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 602 119 80% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/ha.py 1239 318 74% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/log.py 155 31 80% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 180 78% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 34 67% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 217 73% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 166 60% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 34 90% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/utils.py 318 107 66% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psutil/__init__.py 951 615 35% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 34 65% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/six.py 504 250 50% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2189s Mar 22 18:30:50 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2189s Mar 22 18:30:50 patroni/__init__.py 13 2 85% 2189s Mar 22 18:30:50 patroni/__main__.py 199 199 0% 2189s Mar 22 18:30:50 patroni/api.py 768 768 0% 2189s Mar 22 18:30:50 patroni/async_executor.py 96 69 28% 2189s Mar 22 18:30:50 patroni/collections.py 43 11 74% 2189s Mar 22 18:30:50 patroni/config.py 416 206 50% 2189s Mar 22 18:30:50 patroni/config_generator.py 210 210 0% 2189s Mar 22 18:30:50 patroni/ctl.py 940 409 56% 2189s Mar 22 18:30:50 patroni/daemon.py 76 76 0% 2189s Mar 22 18:30:50 patroni/dcs/__init__.py 667 266 60% 2189s Mar 22 18:30:50 patroni/dcs/consul.py 482 482 0% 2189s Mar 22 18:30:50 patroni/dcs/etcd3.py 683 683 0% 2189s Mar 22 18:30:50 patroni/dcs/etcd.py 602 224 63% 2189s Mar 22 18:30:50 patroni/dcs/exhibitor.py 60 60 0% 2189s Mar 22 18:30:50 patroni/dcs/kubernetes.py 935 935 0% 2189s Mar 22 18:30:50 patroni/dcs/raft.py 318 318 0% 2189s Mar 22 18:30:50 patroni/dcs/zookeeper.py 287 287 0% 2189s Mar 22 18:30:50 patroni/exceptions.py 16 1 94% 2189s Mar 22 18:30:50 patroni/file_perm.py 43 15 65% 2189s Mar 22 18:30:50 patroni/ha.py 1239 1239 0% 2189s Mar 22 18:30:50 patroni/log.py 155 155 0% 2189s Mar 22 18:30:50 patroni/postgresql/__init__.py 826 655 21% 2189s Mar 22 18:30:50 patroni/postgresql/bootstrap.py 253 224 11% 2189s Mar 22 18:30:50 patroni/postgresql/callback_executor.py 55 34 38% 2189s Mar 22 18:30:50 patroni/postgresql/cancellable.py 104 84 19% 2189s Mar 22 18:30:50 patroni/postgresql/citus.py 258 217 16% 2189s Mar 22 18:30:50 patroni/postgresql/config.py 806 693 14% 2189s Mar 22 18:30:50 patroni/postgresql/connection.py 75 50 33% 2189s Mar 22 18:30:50 patroni/postgresql/misc.py 41 29 29% 2189s Mar 22 18:30:50 patroni/postgresql/postmaster.py 170 139 18% 2189s Mar 22 18:30:50 patroni/postgresql/rewind.py 415 415 0% 2189s Mar 22 18:30:50 patroni/postgresql/slots.py 332 285 14% 2189s Mar 22 18:30:50 patroni/postgresql/sync.py 129 96 26% 2189s Mar 22 18:30:50 patroni/postgresql/validator.py 165 53 68% 2189s Mar 22 18:30:50 patroni/psycopg.py 41 27 34% 2189s Mar 22 18:30:50 patroni/raft_controller.py 22 22 0% 2189s Mar 22 18:30:50 patroni/request.py 62 6 90% 2189s Mar 22 18:30:50 patroni/scripts/__init__.py 0 0 100% 2189s Mar 22 18:30:50 patroni/scripts/aws.py 59 59 0% 2189s Mar 22 18:30:50 patroni/scripts/wale_restore.py 207 207 0% 2189s Mar 22 18:30:50 patroni/tags.py 35 10 71% 2189s Mar 22 18:30:50 patroni/utils.py 318 169 47% 2189s Mar 22 18:30:50 patroni/validator.py 284 201 29% 2189s Mar 22 18:30:50 patroni/version.py 1 0 100% 2189s Mar 22 18:30:50 patroni/watchdog/__init__.py 2 2 0% 2189s Mar 22 18:30:50 patroni/watchdog/base.py 203 203 0% 2189s Mar 22 18:30:50 patroni/watchdog/linux.py 135 135 0% 2189s Mar 22 18:30:50 ------------------------------------------------------------------------------------------------------------- 2189s Mar 22 18:30:50 TOTAL 52899 32188 39% 2189s Mar 22 18:30:50 11 features passed, 0 failed, 1 skipped 2189s Mar 22 18:30:50 53 scenarios passed, 0 failed, 5 skipped 2189s Mar 22 18:30:50 511 steps passed, 0 failed, 61 skipped, 0 undefined 2189s Mar 22 18:30:50 Took 8m43.086s 2189s ### End 16 acceptance-etcd ### 2189s autopkgtest [18:30:50]: test acceptance-etcd: -----------------------] 2190s autopkgtest [18:30:51]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 2190s acceptance-etcd PASS 2190s autopkgtest [18:30:51]: test acceptance-consul: preparing testbed 2634s autopkgtest [18:38:15]: testbed dpkg architecture: ppc64el 2634s autopkgtest [18:38:15]: testbed apt version: 2.7.12 2634s autopkgtest [18:38:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2635s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 2635s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 2635s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3980 kB] 2636s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 2636s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 2637s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [674 kB] 2637s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 2637s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 2637s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 2637s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4138 kB] 2637s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 2637s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [59.4 kB] 2637s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 2641s Fetched 9544 kB in 4s (2714 kB/s) 2641s Reading package lists... 2644s Reading package lists... 2644s Building dependency tree... 2644s Reading state information... 2644s Calculating upgrade... 2644s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2644s Reading package lists... 2644s Building dependency tree... 2644s Reading state information... 2645s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2645s sh: Attempting to set up Debian/Ubuntu apt sources automatically 2645s sh: Distribution appears to be Ubuntu 2646s Reading package lists... 2646s Building dependency tree... 2646s Reading state information... 2647s eatmydata is already the newest version (131-1). 2647s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2647s Reading package lists... 2647s Building dependency tree... 2647s Reading state information... 2647s dbus is already the newest version (1.14.10-4ubuntu1). 2647s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2647s Reading package lists... 2647s Building dependency tree... 2647s Reading state information... 2647s rng-tools-debian is already the newest version (2.4). 2647s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2647s Reading package lists... 2648s Building dependency tree... 2648s Reading state information... 2648s The following packages will be REMOVED: 2648s cloud-init* python3-configobj* python3-debconf* 2648s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 2648s After this operation, 3256 kB disk space will be freed. 2648s (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 ... 70156 files and directories currently installed.) 2648s Removing cloud-init (24.1.2-0ubuntu1) ... 2649s Removing python3-configobj (5.0.8-3) ... 2649s Removing python3-debconf (1.5.86) ... 2649s Processing triggers for man-db (2.12.0-3) ... 2649s (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 ... 69767 files and directories currently installed.) 2649s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 2650s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 2650s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 2650s invoke-rc.d: policy-rc.d denied execution of try-restart. 2650s Reading package lists... 2650s Building dependency tree... 2650s Reading state information... 2651s linux-generic is already the newest version (6.8.0-11.11+1). 2651s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2651s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 2651s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 2651s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 2654s Reading package lists... 2654s Reading package lists... 2654s Building dependency tree... 2654s Reading state information... 2654s Calculating upgrade... 2654s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2654s Reading package lists... 2654s Building dependency tree... 2654s Reading state information... 2655s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2655s autopkgtest [18:38:36]: rebooting testbed after setup commands that affected boot 2826s Reading package lists... 2826s Building dependency tree... 2826s Reading state information... 2826s Starting pkgProblemResolver with broken count: 1 2826s Starting 2 pkgProblemResolver with broken count: 1 2826s Investigating (0) autopkgtest-satdep:ppc64el < none -> 0 @un puN Ib > 2826s Broken autopkgtest-satdep:ppc64el Depends on consul:ppc64el < none @un H > 2826s Broken autopkgtest-satdep:ppc64el Depends on moreutils:ppc64el < none | 0.69-1 @un uH > 2826s Considering moreutils:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2826s Re-Instated libio-pty-perl:ppc64el 2826s Re-Instated libipc-run-perl:ppc64el 2826s Re-Instated libtime-duration-perl:ppc64el 2826s Re-Instated libtimedate-perl:ppc64el 2826s Re-Instated moreutils:ppc64el 2826s Broken autopkgtest-satdep:ppc64el Depends on postgresql:ppc64el < none | 16+257 @un uH > 2826s Considering postgresql:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2826s Re-Instated libpq5:ppc64el 2826s Re-Instated postgresql-client-common:ppc64el 2826s Re-Instated postgresql-client-16:ppc64el 2826s Re-Instated libjson-perl:ppc64el 2826s Re-Instated ssl-cert:ppc64el 2826s Re-Instated postgresql-common:ppc64el 2826s Re-Instated libllvm17:ppc64el 2826s Re-Instated libxslt1.1:ppc64el 2826s Re-Instated postgresql-16:ppc64el 2826s Re-Instated postgresql:ppc64el 2826s Broken autopkgtest-satdep:ppc64el Depends on python3-behave:ppc64el < none | 1.2.6-5 @un uH > 2826s Considering python3-behave:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2826s Re-Instated python3-parse:ppc64el 2826s Re-Instated python3-parse-type:ppc64el 2826s Re-Instated python3-behave:ppc64el 2826s Broken autopkgtest-satdep:ppc64el Depends on python3-consul:ppc64el < none | 0.7.1-2 @un uH > (>= 0.7.0) 2826s Considering python3-consul:ppc64el 0 as a solution to autopkgtest-satdep:ppc64el 9998 2826s Re-Instated python3-consul:ppc64el 2826s Broken autopkgtest-satdep:ppc64el Depends on python3-coverage:ppc64el < none | 7.3.2-0ubuntu1 @un uH > 2826s Considering python3-coverage:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2826s Re-Instated python3-coverage:ppc64el 2826s Broken autopkgtest-satdep:ppc64el Depends on patroni:ppc64el < none | 3.2.2-2 @un uH > 2826s Considering patroni:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2826s Re-Instated python3-cdiff:ppc64el 2826s Re-Instated python3-colorama:ppc64el 2826s Re-Instated python3-click:ppc64el 2826s Re-Instated python3-dateutil:ppc64el 2826s Re-Instated python3-wcwidth:ppc64el 2826s Re-Instated python3-prettytable:ppc64el 2826s Re-Instated python3-psutil:ppc64el 2826s Re-Instated python3-psycopg2:ppc64el 2826s Re-Instated patroni:ppc64el 2826s Broken autopkgtest-satdep:ppc64el Depends on patroni-doc:ppc64el < none | 3.2.2-2 @un uH > 2826s Considering patroni-doc:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2826s Re-Instated libjs-jquery:ppc64el 2826s Re-Instated libjs-underscore:ppc64el 2826s Re-Instated libjs-sphinxdoc:ppc64el 2826s Re-Instated fonts-font-awesome:ppc64el 2826s Re-Instated fonts-lato:ppc64el 2826s Re-Instated sphinx-rtd-theme-common:ppc64el 2826s Re-Instated patroni-doc:ppc64el 2826s Done 2826s Some packages could not be installed. This may mean that you have 2826s requested an impossible situation or if you are using the unstable 2826s distribution that some required packages have not yet been created 2826s or been moved out of Incoming. 2826s The following information may help to resolve the situation: 2826s 2826s The following packages have unmet dependencies: 2826s autopkgtest-satdep : Depends: consul but it is not installable 2826s E: Unable to correct problems, you have held broken packages. 2826s autopkgtest: WARNING: Test dependencies are unsatisfiable with using apt pinning. Retrying with using all packages from noble-proposed 2827s Reading package lists... 2827s Building dependency tree... 2827s Reading state information... 2827s Starting pkgProblemResolver with broken count: 1 2827s Starting 2 pkgProblemResolver with broken count: 1 2827s Investigating (0) autopkgtest-satdep:ppc64el < none -> 0 @un puN Ib > 2827s Broken autopkgtest-satdep:ppc64el Depends on consul:ppc64el < none @un H > 2827s Broken autopkgtest-satdep:ppc64el Depends on moreutils:ppc64el < none | 0.69-1 @un uH > 2827s Considering moreutils:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2827s Re-Instated libio-pty-perl:ppc64el 2827s Re-Instated libipc-run-perl:ppc64el 2827s Re-Instated libtime-duration-perl:ppc64el 2827s Re-Instated libtimedate-perl:ppc64el 2827s Re-Instated moreutils:ppc64el 2827s Broken autopkgtest-satdep:ppc64el Depends on postgresql:ppc64el < none | 16+257 @un uH > 2827s Considering postgresql:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2827s Re-Instated libpq5:ppc64el 2827s Re-Instated postgresql-client-common:ppc64el 2827s Re-Instated postgresql-client-16:ppc64el 2827s Re-Instated libjson-perl:ppc64el 2827s Re-Instated ssl-cert:ppc64el 2827s Re-Instated postgresql-common:ppc64el 2827s Re-Instated libllvm17:ppc64el 2827s Re-Instated libxslt1.1:ppc64el 2827s Re-Instated postgresql-16:ppc64el 2827s Re-Instated postgresql:ppc64el 2827s Broken autopkgtest-satdep:ppc64el Depends on python3-behave:ppc64el < none | 1.2.6-5 @un uH > 2827s Considering python3-behave:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2827s Re-Instated python3-parse:ppc64el 2827s Re-Instated python3-parse-type:ppc64el 2827s Re-Instated python3-behave:ppc64el 2827s Broken autopkgtest-satdep:ppc64el Depends on python3-consul:ppc64el < none | 0.7.1-2 @un uH > (>= 0.7.0) 2827s Considering python3-consul:ppc64el 0 as a solution to autopkgtest-satdep:ppc64el 9998 2827s Re-Instated python3-consul:ppc64el 2827s Broken autopkgtest-satdep:ppc64el Depends on python3-coverage:ppc64el < none | 7.3.2-0ubuntu1 @un uH > 2827s Considering python3-coverage:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2827s Re-Instated python3-coverage:ppc64el 2827s Broken autopkgtest-satdep:ppc64el Depends on patroni:ppc64el < none | 3.2.2-2 @un uH > 2827s Considering patroni:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2827s Re-Instated python3-cdiff:ppc64el 2827s Re-Instated python3-colorama:ppc64el 2827s Re-Instated python3-click:ppc64el 2827s Re-Instated python3-dateutil:ppc64el 2827s Re-Instated python3-wcwidth:ppc64el 2827s Re-Instated python3-prettytable:ppc64el 2827s Re-Instated python3-psutil:ppc64el 2827s Re-Instated python3-psycopg2:ppc64el 2827s Re-Instated patroni:ppc64el 2827s Broken autopkgtest-satdep:ppc64el Depends on patroni-doc:ppc64el < none | 3.2.2-2 @un uH > 2827s Considering patroni-doc:ppc64el 1 as a solution to autopkgtest-satdep:ppc64el 9998 2827s Re-Instated libjs-jquery:ppc64el 2827s Re-Instated libjs-underscore:ppc64el 2827s Re-Instated libjs-sphinxdoc:ppc64el 2827s Re-Instated fonts-font-awesome:ppc64el 2827s Re-Instated fonts-lato:ppc64el 2827s Re-Instated sphinx-rtd-theme-common:ppc64el 2828s Re-Instated patroni-doc:ppc64el 2828s Done 2828s Some packages could not be installed. This may mean that you have 2828s requested an impossible situation or if you are using the unstable 2828s distribution that some required packages have not yet been created 2828s or been moved out of Incoming. 2828s The following information may help to resolve the situation: 2828s 2828s The following packages have unmet dependencies: 2828s autopkgtest-satdep : Depends: consul but it is not installable 2828s E: Unable to correct problems, you have held broken packages. 2828s autopkgtest: WARNING: Test dependencies are unsatisfiable - calling apt install on test deps directly for further data about failing dependencies in test logs 2828s acceptance-consul SKIP installation fails and skip-not-installable set 2828s autopkgtest [18:41:29]: test acceptance-zookeeper: preparing testbed 3256s autopkgtest [18:48:37]: testbed dpkg architecture: ppc64el 3256s autopkgtest [18:48:37]: testbed apt version: 2.7.12 3256s autopkgtest [18:48:37]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3257s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 3258s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 3258s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 3258s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3980 kB] 3259s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 3259s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [674 kB] 3259s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 3259s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 3259s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 3259s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4138 kB] 3260s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 3260s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [59.4 kB] 3260s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 3263s Fetched 9544 kB in 4s (2611 kB/s) 3263s Reading package lists... 3266s Reading package lists... 3266s Building dependency tree... 3266s Reading state information... 3266s Calculating upgrade... 3267s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3267s Reading package lists... 3267s Building dependency tree... 3267s Reading state information... 3267s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3268s sh: Attempting to set up Debian/Ubuntu apt sources automatically 3268s sh: Distribution appears to be Ubuntu 3269s Reading package lists... 3269s Building dependency tree... 3269s Reading state information... 3269s eatmydata is already the newest version (131-1). 3269s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3269s Reading package lists... 3269s Building dependency tree... 3269s Reading state information... 3269s dbus is already the newest version (1.14.10-4ubuntu1). 3269s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3269s Reading package lists... 3270s Building dependency tree... 3270s Reading state information... 3270s rng-tools-debian is already the newest version (2.4). 3270s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3270s Reading package lists... 3270s Building dependency tree... 3270s Reading state information... 3270s The following packages will be REMOVED: 3270s cloud-init* python3-configobj* python3-debconf* 3270s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 3270s After this operation, 3256 kB disk space will be freed. 3271s (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 ... 70156 files and directories currently installed.) 3271s Removing cloud-init (24.1.2-0ubuntu1) ... 3271s Removing python3-configobj (5.0.8-3) ... 3271s Removing python3-debconf (1.5.86) ... 3271s Processing triggers for man-db (2.12.0-3) ... 3272s (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 ... 69767 files and directories currently installed.) 3272s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 3272s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 3272s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 3272s invoke-rc.d: policy-rc.d denied execution of try-restart. 3273s Reading package lists... 3273s Building dependency tree... 3273s Reading state information... 3273s linux-generic is already the newest version (6.8.0-11.11+1). 3273s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3273s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 3273s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 3274s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 3276s Reading package lists... 3276s Reading package lists... 3276s Building dependency tree... 3276s Reading state information... 3277s Calculating upgrade... 3277s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3277s Reading package lists... 3277s Building dependency tree... 3277s Reading state information... 3277s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3277s autopkgtest [18:48:58]: rebooting testbed after setup commands that affected boot 3505s Reading package lists... 3505s Building dependency tree... 3505s Reading state information... 3506s Starting pkgProblemResolver with broken count: 0 3506s Starting 2 pkgProblemResolver with broken count: 0 3506s Done 3506s The following additional packages will be installed: 3506s adwaita-icon-theme at-spi2-common ca-certificates-java default-jre 3506s default-jre-headless fontconfig fontconfig-config fonts-dejavu-core 3506s fonts-dejavu-mono fonts-font-awesome fonts-lato gtk-update-icon-cache 3506s hicolor-icon-theme humanity-icon-theme java-common junit4 libactivation-java 3506s libapache-pom-java libapr1 libasm-java libasound2 libasound2-data 3506s libatinject-jsr330-api-java libatk1.0-0 libavahi-client3 3506s libavahi-common-data libavahi-common3 libc-ares2 libcairo2 3506s libcommons-cli-java libcommons-io-java libcommons-logging-java 3506s libcommons-parent-java libcups2 libdatrie1 libdeflate0 libdrm-amdgpu1 3506s libdrm-nouveau2 libdrm-radeon1 libdropwizard-metrics-java 3506s libeclipse-jdt-core-java libel-api-java liberror-prone-java libev4 3506s libfindbugs-annotations-java libfontconfig1 libgdk-pixbuf-2.0-0 3506s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 3506s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk2.0-0 libgtk2.0-common 3506s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 3506s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 3506s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 3506s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 3506s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 3506s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 3506s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 3506s liblerc4 libllvm17 liblog4j1.2-java libmail-java libnetty-java 3506s libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 3506s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 3506s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 3506s libsnappy1v5 libspring-beans-java libspring-core-java 3506s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 3506s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 3506s libvulkan1 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 3506s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 3506s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 3506s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 3506s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java moreutils 3506s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 3506s postgresql-16 postgresql-client-16 postgresql-client-common 3506s postgresql-common python3-behave python3-cdiff python3-click 3506s python3-colorama python3-coverage python3-dateutil python3-dnspython 3506s python3-eventlet python3-gevent python3-greenlet python3-kazoo 3506s python3-kerberos python3-parse python3-parse-type python3-prettytable 3506s python3-psutil python3-psycopg2 python3-pure-sasl python3-wcwidth 3506s python3-zope.event python3-zope.interface sphinx-rtd-theme-common ssl-cert 3506s ubuntu-mono x11-common zookeeper zookeeperd 3506s Suggested packages: 3506s libasound2-plugins alsa-utils libatinject-jsr330-api-java-doc 3506s libcommons-io-java-doc libavalon-framework-java libexcalibur-logkit-java 3506s cups-common gvfs libjackson2-annotations-java-doc jetty9 libjnr-ffi-java-doc 3506s libjnr-posix-java-doc libjsr305-java-doc liblcms2-utils liblog4j1.2-java-doc 3506s libmail-java-doc libbcpkix-java libcompress-lzf-java libjzlib-java 3506s liblog4j2-java libprotobuf-java pcscd libcglib-java libyaml-snake-java 3506s libaspectj-java libcommons-collections3-java tomcat9 libzookeeper-java-doc 3506s libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho 3506s fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic vip-manager haproxy 3506s postgresql-doc postgresql-doc-16 python-coverage-doc python3-trio 3506s python3-aioquic python3-h2 python3-httpx python3-httpcore 3506s python-eventlet-doc python-gevent-doc python-greenlet-dev 3506s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 3506s Recommended packages: 3506s librsvg2-common alsa-ucm-conf alsa-topology-conf libgdk-pixbuf2.0-bin 3506s libgl1-amber-dri libgail-common libgtk2.0-bin javascript-common 3506s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 3506s fonts-dejavu-extra 3506s The following NEW packages will be installed: 3506s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 3506s default-jre default-jre-headless fontconfig fontconfig-config 3506s fonts-dejavu-core fonts-dejavu-mono fonts-font-awesome fonts-lato 3506s gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme java-common 3506s junit4 libactivation-java libapache-pom-java libapr1 libasm-java libasound2 3506s libasound2-data libatinject-jsr330-api-java libatk1.0-0 libavahi-client3 3506s libavahi-common-data libavahi-common3 libc-ares2 libcairo2 3506s libcommons-cli-java libcommons-io-java libcommons-logging-java 3506s libcommons-parent-java libcups2 libdatrie1 libdeflate0 libdrm-amdgpu1 3506s libdrm-nouveau2 libdrm-radeon1 libdropwizard-metrics-java 3506s libeclipse-jdt-core-java libel-api-java liberror-prone-java libev4 3506s libfindbugs-annotations-java libfontconfig1 libgdk-pixbuf-2.0-0 3506s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 3506s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk2.0-0 libgtk2.0-common 3506s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 3506s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 3506s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 3506s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 3506s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 3506s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 3506s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 3506s liblerc4 libllvm17 liblog4j1.2-java libmail-java libnetty-java 3506s libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 3506s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 3506s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 3506s libsnappy1v5 libspring-beans-java libspring-core-java 3506s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 3506s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 3506s libvulkan1 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 3506s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 3506s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 3506s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 3506s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java moreutils 3506s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 3506s postgresql-16 postgresql-client-16 postgresql-client-common 3506s postgresql-common python3-behave python3-cdiff python3-click 3506s python3-colorama python3-coverage python3-dateutil python3-dnspython 3506s python3-eventlet python3-gevent python3-greenlet python3-kazoo 3506s python3-kerberos python3-parse python3-parse-type python3-prettytable 3506s python3-psutil python3-psycopg2 python3-pure-sasl python3-wcwidth 3506s python3-zope.event python3-zope.interface sphinx-rtd-theme-common ssl-cert 3506s ubuntu-mono x11-common zookeeper zookeeperd 3506s 0 upgraded, 181 newly installed, 0 to remove and 0 not upgraded. 3506s Need to get 155 MB/155 MB of archives. 3506s After this operation, 601 MB of additional disk space will be used. 3506s Get:1 /tmp/autopkgtest.gBYNUz/5-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [764 B] 3506s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-lato all 2.015-1 [2781 kB] 3508s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 3508s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-common all 257 [36.2 kB] 3508s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el ssl-cert all 1.1.2ubuntu1 [17.8 kB] 3508s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-common all 257 [162 kB] 3509s Get:7 http://ftpmaster.internal/ubuntu noble/main ppc64el ca-certificates-java all 20240118 [11.6 kB] 3509s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el java-common all 0.75+exp1 [6798 B] 3509s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libavahi-common-data ppc64el 0.8-13ubuntu2 [29.5 kB] 3509s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libavahi-common3 ppc64el 0.8-13ubuntu2 [25.8 kB] 3509s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libavahi-client3 ppc64el 0.8-13ubuntu2 [30.6 kB] 3509s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libcups2 ppc64el 2.4.6-0ubuntu3 [344 kB] 3509s Get:13 http://ftpmaster.internal/ubuntu noble/main ppc64el liblcms2-2 ppc64el 2.14-2 [243 kB] 3509s Get:14 http://ftpmaster.internal/ubuntu noble/main ppc64el libjpeg-turbo8 ppc64el 2.1.5-2ubuntu1 [212 kB] 3509s Get:15 http://ftpmaster.internal/ubuntu noble/main ppc64el libjpeg8 ppc64el 8c-2ubuntu11 [2148 B] 3509s Get:16 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-dejavu-mono all 2.37-8 [502 kB] 3509s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-dejavu-core all 2.37-8 [835 kB] 3509s Get:18 http://ftpmaster.internal/ubuntu noble/main ppc64el fontconfig-config ppc64el 2.15.0-1ubuntu1 [37.0 kB] 3509s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el libfontconfig1 ppc64el 2.15.0-1ubuntu1 [190 kB] 3509s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el libasound2-data all 1.2.10-3build1 [20.7 kB] 3509s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el libasound2 ppc64el 1.2.10-3build1 [496 kB] 3510s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el libgraphite2-3 ppc64el 1.3.14-2 [105 kB] 3510s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el libharfbuzz0b ppc64el 8.3.0-2 [576 kB] 3510s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el libpcsclite1 ppc64el 2.0.0-1 [27.9 kB] 3510s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el openjdk-21-jre-headless ppc64el 21.0.2+13-2 [45.8 MB] 3513s Get:26 http://ftpmaster.internal/ubuntu noble/main ppc64el default-jre-headless ppc64el 2:1.21-75+exp1 [3102 B] 3513s Get:27 http://ftpmaster.internal/ubuntu noble/main ppc64el libgtk2.0-common all 2.24.33-2ubuntu2 [125 kB] 3513s Get:28 http://ftpmaster.internal/ubuntu noble/main ppc64el at-spi2-common all 2.50.0-1 [7864 B] 3513s Get:29 http://ftpmaster.internal/ubuntu noble/main ppc64el libatk1.0-0 ppc64el 2.50.0-1 [57.8 kB] 3513s Get:30 http://ftpmaster.internal/ubuntu noble/main ppc64el libpixman-1-0 ppc64el 0.42.2-1 [300 kB] 3513s Get:31 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-render0 ppc64el 1.15-1 [17.2 kB] 3513s Get:32 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-shm0 ppc64el 1.15-1 [5896 B] 3513s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el libxrender1 ppc64el 1:0.9.10-1.1 [23.3 kB] 3513s Get:34 http://ftpmaster.internal/ubuntu noble/main ppc64el libcairo2 ppc64el 1.18.0-1 [735 kB] 3513s Get:35 http://ftpmaster.internal/ubuntu noble/main ppc64el libgdk-pixbuf2.0-common all 2.42.10+dfsg-3 [7624 B] 3513s Get:36 http://ftpmaster.internal/ubuntu noble/main ppc64el libdeflate0 ppc64el 1.19-1 [61.9 kB] 3513s Get:37 http://ftpmaster.internal/ubuntu noble/main ppc64el libjbig0 ppc64el 2.1-6.1ubuntu1 [34.7 kB] 3513s Get:38 http://ftpmaster.internal/ubuntu noble/main ppc64el liblerc4 ppc64el 4.0.0+ds-4ubuntu1 [266 kB] 3513s Get:39 http://ftpmaster.internal/ubuntu noble/main ppc64el libsharpyuv0 ppc64el 1.3.2-0.4 [28.7 kB] 3513s Get:40 http://ftpmaster.internal/ubuntu noble/main ppc64el libwebp7 ppc64el 1.3.2-0.4 [312 kB] 3513s Get:41 http://ftpmaster.internal/ubuntu noble/main ppc64el libtiff6 ppc64el 4.5.1+git230720-3ubuntu1 [323 kB] 3513s Get:42 http://ftpmaster.internal/ubuntu noble/main ppc64el libgdk-pixbuf-2.0-0 ppc64el 2.42.10+dfsg-3 [186 kB] 3513s Get:43 http://ftpmaster.internal/ubuntu noble/main ppc64el fontconfig ppc64el 2.15.0-1ubuntu1 [192 kB] 3513s Get:44 http://ftpmaster.internal/ubuntu noble/main ppc64el libthai-data all 0.1.29-2 [158 kB] 3513s Get:45 http://ftpmaster.internal/ubuntu noble/main ppc64el libdatrie1 ppc64el 0.2.13-3 [25.1 kB] 3513s Get:46 http://ftpmaster.internal/ubuntu noble/main ppc64el libthai0 ppc64el 0.1.29-2 [21.4 kB] 3513s Get:47 http://ftpmaster.internal/ubuntu noble/main ppc64el libpango-1.0-0 ppc64el 1.51.0+ds-4 [266 kB] 3513s Get:48 http://ftpmaster.internal/ubuntu noble/main ppc64el libpangoft2-1.0-0 ppc64el 1.51.0+ds-4 [49.5 kB] 3513s Get:49 http://ftpmaster.internal/ubuntu noble/main ppc64el libpangocairo-1.0-0 ppc64el 1.51.0+ds-4 [31.2 kB] 3513s Get:50 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcomposite1 ppc64el 1:0.4.5-1build2 [7400 B] 3513s Get:51 http://ftpmaster.internal/ubuntu noble/main ppc64el libxfixes3 ppc64el 1:6.0.0-2 [11.6 kB] 3513s Get:52 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcursor1 ppc64el 1:1.2.1-1 [26.9 kB] 3513s Get:53 http://ftpmaster.internal/ubuntu noble/main ppc64el libxdamage1 ppc64el 1:1.1.6-1 [6320 B] 3513s Get:54 http://ftpmaster.internal/ubuntu noble/main ppc64el libxi6 ppc64el 2:1.8.1-1 [37.9 kB] 3513s Get:55 http://ftpmaster.internal/ubuntu noble/main ppc64el libxinerama1 ppc64el 2:1.1.4-3 [7658 B] 3513s Get:56 http://ftpmaster.internal/ubuntu noble/main ppc64el libxrandr2 ppc64el 2:1.5.2-2 [22.7 kB] 3513s Get:57 http://ftpmaster.internal/ubuntu noble/main ppc64el gtk-update-icon-cache ppc64el 3.24.40-2ubuntu1 [53.2 kB] 3513s Get:58 http://ftpmaster.internal/ubuntu noble/main ppc64el hicolor-icon-theme all 0.17-2 [9976 B] 3513s Get:59 http://ftpmaster.internal/ubuntu noble/main ppc64el humanity-icon-theme all 0.6.16 [1282 kB] 3513s Get:60 http://ftpmaster.internal/ubuntu noble/main ppc64el ubuntu-mono all 24.04-0ubuntu1 [151 kB] 3513s Get:61 http://ftpmaster.internal/ubuntu noble/main ppc64el adwaita-icon-theme all 46~rc-1 [723 kB] 3513s Get:62 http://ftpmaster.internal/ubuntu noble/main ppc64el libgtk2.0-0 ppc64el 2.24.33-2ubuntu2 [2201 kB] 3514s Get:63 http://ftpmaster.internal/ubuntu noble/main ppc64el libglvnd0 ppc64el 1.7.0-1 [84.0 kB] 3514s Get:64 http://ftpmaster.internal/ubuntu noble/main ppc64el libglapi-mesa ppc64el 24.0.1-1ubuntu1 [41.8 kB] 3514s Get:65 http://ftpmaster.internal/ubuntu noble/main ppc64el libx11-xcb1 ppc64el 2:1.8.7-1 [7866 B] 3514s Get:66 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-dri2-0 ppc64el 1.15-1 [7444 B] 3514s Get:67 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-dri3-0 ppc64el 1.15-1 [7392 B] 3514s Get:68 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-glx0 ppc64el 1.15-1 [26.2 kB] 3514s Get:69 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-present0 ppc64el 1.15-1 [5814 B] 3514s Get:70 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-randr0 ppc64el 1.15-1 [18.9 kB] 3514s Get:71 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-sync1 ppc64el 1.15-1 [9720 B] 3514s Get:72 http://ftpmaster.internal/ubuntu noble/main ppc64el libxcb-xfixes0 ppc64el 1.15-1 [10.6 kB] 3514s Get:73 http://ftpmaster.internal/ubuntu noble/main ppc64el libxshmfence1 ppc64el 1.3-1build4 [5566 B] 3514s Get:74 http://ftpmaster.internal/ubuntu noble/main ppc64el libxxf86vm1 ppc64el 1:1.1.4-1build3 [11.8 kB] 3514s Get:75 http://ftpmaster.internal/ubuntu noble/main ppc64el libvulkan1 ppc64el 1.3.275.0-1 [176 kB] 3514s Get:76 http://ftpmaster.internal/ubuntu noble/main ppc64el libdrm-amdgpu1 ppc64el 2.4.120-2 [24.5 kB] 3514s Get:77 http://ftpmaster.internal/ubuntu noble/main ppc64el libdrm-nouveau2 ppc64el 2.4.120-2 [21.2 kB] 3514s Get:78 http://ftpmaster.internal/ubuntu noble/main ppc64el libdrm-radeon1 ppc64el 2.4.120-2 [30.6 kB] 3514s Get:79 http://ftpmaster.internal/ubuntu noble/main ppc64el libllvm17 ppc64el 1:17.0.6-5build1 [27.3 MB] 3515s Get:80 http://ftpmaster.internal/ubuntu noble/main ppc64el libgl1-mesa-dri ppc64el 24.0.1-1ubuntu1 [5885 kB] 3515s Get:81 http://ftpmaster.internal/ubuntu noble/main ppc64el libglx-mesa0 ppc64el 24.0.1-1ubuntu1 [160 kB] 3515s Get:82 http://ftpmaster.internal/ubuntu noble/main ppc64el libglx0 ppc64el 1.7.0-1 [42.1 kB] 3515s Get:83 http://ftpmaster.internal/ubuntu noble/main ppc64el libgl1 ppc64el 1.7.0-1 [108 kB] 3515s Get:84 http://ftpmaster.internal/ubuntu noble/main ppc64el libgif7 ppc64el 5.2.1-2.5 [39.6 kB] 3515s Get:85 http://ftpmaster.internal/ubuntu noble/main ppc64el x11-common all 1:7.7+23ubuntu2 [23.4 kB] 3515s Get:86 http://ftpmaster.internal/ubuntu noble/main ppc64el libxtst6 ppc64el 2:1.2.3-1.1 [15.4 kB] 3515s Get:87 http://ftpmaster.internal/ubuntu noble/main ppc64el openjdk-21-jre ppc64el 21.0.2+13-2 [253 kB] 3515s Get:88 http://ftpmaster.internal/ubuntu noble/main ppc64el default-jre ppc64el 2:1.21-75+exp1 [922 B] 3515s Get:89 http://ftpmaster.internal/ubuntu noble/universe ppc64el libhamcrest-java all 2.2-2 [117 kB] 3515s Get:90 http://ftpmaster.internal/ubuntu noble/universe ppc64el junit4 all 4.13.2-4 [347 kB] 3515s Get:91 http://ftpmaster.internal/ubuntu noble/universe ppc64el libcommons-cli-java all 1.6.0-1 [59.9 kB] 3515s Get:92 http://ftpmaster.internal/ubuntu noble/universe ppc64el libapache-pom-java all 29-2 [5284 B] 3515s Get:93 http://ftpmaster.internal/ubuntu noble/universe ppc64el libcommons-parent-java all 56-1 [10.7 kB] 3515s Get:94 http://ftpmaster.internal/ubuntu noble/universe ppc64el libcommons-io-java all 2.11.0-2 [297 kB] 3515s Get:95 http://ftpmaster.internal/ubuntu noble/universe ppc64el libdropwizard-metrics-java all 3.2.6-1 [240 kB] 3515s Get:96 http://ftpmaster.internal/ubuntu noble/universe ppc64el libfindbugs-annotations-java all 3.1.0~preview2-3 [49.2 kB] 3515s Get:97 http://ftpmaster.internal/ubuntu noble/universe ppc64el libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 3515s Get:98 http://ftpmaster.internal/ubuntu noble/universe ppc64el liberror-prone-java all 2.18.0-1 [22.5 kB] 3515s Get:99 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjsr305-java all 0.1~+svn49-11 [27.0 kB] 3515s Get:100 http://ftpmaster.internal/ubuntu noble/universe ppc64el libguava-java all 32.0.1-1 [2692 kB] 3516s Get:101 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 3516s Get:102 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjackson2-core-java all 2.14.1-1 [432 kB] 3516s Get:103 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjackson2-databind-java all 2.14.0-1 [1531 kB] 3516s Get:104 http://ftpmaster.internal/ubuntu noble/universe ppc64el libasm-java all 9.6~us1-0ubuntu1 [386 kB] 3516s Get:105 http://ftpmaster.internal/ubuntu noble/universe ppc64el libel-api-java all 3.0.0-3 [64.9 kB] 3516s Get:106 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjsp-api-java all 2.3.4-3 [53.7 kB] 3516s Get:107 http://ftpmaster.internal/ubuntu noble/universe ppc64el libservlet-api-java all 4.0.1-2 [81.0 kB] 3516s Get:108 http://ftpmaster.internal/ubuntu noble/universe ppc64el libwebsocket-api-java all 1.1-2 [40.1 kB] 3516s Get:109 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjetty9-java all 9.4.53-1 [2807 kB] 3517s Get:110 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjnr-constants-java all 0.10.4-2 [1397 kB] 3517s Get:111 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjffi-jni ppc64el 1.3.13+ds-1 [31.1 kB] 3517s Get:112 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjffi-java all 1.3.13+ds-1 [112 kB] 3517s Get:113 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 3517s Get:114 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjnr-ffi-java all 2.2.15-2 [627 kB] 3517s Get:115 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjnr-enxio-java all 0.32.16-1 [33.7 kB] 3517s Get:116 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjnr-posix-java all 3.1.18-1 [267 kB] 3517s Get:117 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 3517s Get:118 http://ftpmaster.internal/ubuntu noble/universe ppc64el libactivation-java all 1.2.0-2 [84.7 kB] 3517s Get:119 http://ftpmaster.internal/ubuntu noble/universe ppc64el libmail-java all 1.6.5-2 [681 kB] 3517s Get:120 http://ftpmaster.internal/ubuntu noble/universe ppc64el libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 3517s Get:121 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjaxb-api-java all 2.3.1-1 [119 kB] 3517s Get:122 http://ftpmaster.internal/ubuntu noble/universe ppc64el libspring-core-java all 4.3.30-2 [1015 kB] 3517s Get:123 http://ftpmaster.internal/ubuntu noble/universe ppc64el libspring-beans-java all 4.3.30-2 [675 kB] 3517s Get:124 http://ftpmaster.internal/ubuntu noble/universe ppc64el libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 3517s Get:125 http://ftpmaster.internal/ubuntu noble/universe ppc64el libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 3517s Get:126 http://ftpmaster.internal/ubuntu noble/universe ppc64el libeclipse-jdt-core-java all 3.32.0+eclipse4.26-2 [6438 kB] 3518s Get:127 http://ftpmaster.internal/ubuntu noble/universe ppc64el libtomcat9-java all 9.0.70-1ubuntu1 [6151 kB] 3518s Get:128 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjetty9-extra-java all 9.4.53-1 [1206 kB] 3518s Get:129 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjctools-java all 2.0.2-1 [188 kB] 3518s Get:130 http://ftpmaster.internal/ubuntu noble/universe ppc64el libnetty-java all 1:4.1.48-9 [3603 kB] 3518s Get:131 http://ftpmaster.internal/ubuntu noble/universe ppc64el libslf4j-java all 1.7.32-1 [141 kB] 3518s Get:132 http://ftpmaster.internal/ubuntu noble/main ppc64el libsnappy1v5 ppc64el 1.1.10-1 [30.5 kB] 3518s Get:133 http://ftpmaster.internal/ubuntu noble/universe ppc64el libsnappy-jni ppc64el 1.1.10.5-1 [6444 B] 3518s Get:134 http://ftpmaster.internal/ubuntu noble/universe ppc64el libsnappy-java all 1.1.10.5-1 [83.6 kB] 3518s Get:135 http://ftpmaster.internal/ubuntu noble/main ppc64el libapr1 ppc64el 1.7.2-3 [130 kB] 3519s Get:136 http://ftpmaster.internal/ubuntu noble/universe ppc64el libnetty-tcnative-jni ppc64el 2.0.28-1build1 [42.7 kB] 3519s Get:137 http://ftpmaster.internal/ubuntu noble/universe ppc64el libnetty-tcnative-java all 2.0.28-1build1 [24.5 kB] 3519s Get:138 http://ftpmaster.internal/ubuntu noble/universe ppc64el liblog4j1.2-java all 1.2.17-11 [439 kB] 3519s Get:139 http://ftpmaster.internal/ubuntu noble/universe ppc64el libzookeeper-java all 3.9.1-1build1 [1880 kB] 3519s Get:140 http://ftpmaster.internal/ubuntu noble/universe ppc64el zookeeper all 3.9.1-1build1 [57.9 kB] 3519s Get:141 http://ftpmaster.internal/ubuntu noble/universe ppc64el zookeeperd all 3.9.1-1build1 [6030 B] 3519s Get:142 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3519s Get:143 http://ftpmaster.internal/ubuntu noble/main ppc64el libio-pty-perl ppc64el 1:1.20-1 [31.7 kB] 3519s Get:144 http://ftpmaster.internal/ubuntu noble/main ppc64el libipc-run-perl all 20231003.0-1 [92.1 kB] 3519s Get:145 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3519s Get:146 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3519s Get:147 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-sphinxdoc all 7.2.6-4 [149 kB] 3519s Get:148 http://ftpmaster.internal/ubuntu noble/main ppc64el libpq5 ppc64el 16.2-1 [170 kB] 3519s Get:149 http://ftpmaster.internal/ubuntu noble/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 3519s Get:150 http://ftpmaster.internal/ubuntu noble/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 3519s Get:151 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.35-1 [185 kB] 3519s Get:152 http://ftpmaster.internal/ubuntu noble/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 3519s Get:153 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cdiff all 1.0-1.1 [16.4 kB] 3519s Get:154 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 3519s Get:155 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-click all 8.1.6-1 [79.0 kB] 3519s Get:156 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 3519s Get:157 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 3519s Get:158 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-prettytable all 3.6.0-1 [33.1 kB] 3519s Get:159 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psutil ppc64el 5.9.8-1 [197 kB] 3519s Get:160 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psycopg2 ppc64el 2.9.9-1 [197 kB] 3519s Get:161 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-greenlet ppc64el 3.0.1-2 [185 kB] 3519s Get:162 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3519s Get:163 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-eventlet all 0.35.1-0ubuntu1 [162 kB] 3519s Get:164 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-zope.event all 5.0-0.1 [7512 B] 3519s Get:165 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-zope.interface ppc64el 6.1-1 [185 kB] 3519s Get:166 http://ftpmaster.internal/ubuntu noble/main ppc64el libc-ares2 ppc64el 1.27.0-1 [99.0 kB] 3519s Get:167 http://ftpmaster.internal/ubuntu noble/universe ppc64el libev4 ppc64el 1:4.33-2 [33.4 kB] 3519s Get:168 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-gevent ppc64el 23.9.1-0.2 [1303 kB] 3519s Get:169 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-kerberos ppc64el 1.1.14-3.1build8 [23.3 kB] 3519s Get:170 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 3519s Get:171 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-kazoo all 2.9.0-2 [103 kB] 3519s Get:172 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni all 3.2.2-2 [253 kB] 3519s Get:173 http://ftpmaster.internal/ubuntu noble/main ppc64el sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 3519s Get:174 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni-doc all 3.2.2-2 [476 kB] 3519s Get:175 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-16 ppc64el 16.2-1 [1399 kB] 3519s Get:176 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-16 ppc64el 16.2-1 [16.9 MB] 3520s Get:177 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql all 16+257 [11.4 kB] 3520s Get:178 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse all 1.19.0-0.2 [18.1 kB] 3520s Get:179 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse-type all 0.6.2-1 [22.7 kB] 3520s Get:180 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-behave all 1.2.6-5 [98.4 kB] 3520s Get:181 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-coverage ppc64el 7.3.2-0ubuntu1 [148 kB] 3521s Preconfiguring packages ... 3521s Fetched 155 MB in 14s (10.9 MB/s) 3521s Selecting previously unselected package fonts-lato. 3521s (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 ... 69712 files and directories currently installed.) 3521s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 3521s Unpacking fonts-lato (2.015-1) ... 3521s Selecting previously unselected package libjson-perl. 3521s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 3521s Unpacking libjson-perl (4.10000-1) ... 3521s Selecting previously unselected package postgresql-client-common. 3521s Preparing to unpack .../002-postgresql-client-common_257_all.deb ... 3521s Unpacking postgresql-client-common (257) ... 3521s Selecting previously unselected package ssl-cert. 3521s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu1_all.deb ... 3521s Unpacking ssl-cert (1.1.2ubuntu1) ... 3521s Selecting previously unselected package postgresql-common. 3521s Preparing to unpack .../004-postgresql-common_257_all.deb ... 3521s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 3521s Unpacking postgresql-common (257) ... 3521s Selecting previously unselected package ca-certificates-java. 3521s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 3521s Unpacking ca-certificates-java (20240118) ... 3521s Selecting previously unselected package java-common. 3521s Preparing to unpack .../006-java-common_0.75+exp1_all.deb ... 3521s Unpacking java-common (0.75+exp1) ... 3521s Selecting previously unselected package libavahi-common-data:ppc64el. 3521s Preparing to unpack .../007-libavahi-common-data_0.8-13ubuntu2_ppc64el.deb ... 3521s Unpacking libavahi-common-data:ppc64el (0.8-13ubuntu2) ... 3521s Selecting previously unselected package libavahi-common3:ppc64el. 3521s Preparing to unpack .../008-libavahi-common3_0.8-13ubuntu2_ppc64el.deb ... 3521s Unpacking libavahi-common3:ppc64el (0.8-13ubuntu2) ... 3521s Selecting previously unselected package libavahi-client3:ppc64el. 3521s Preparing to unpack .../009-libavahi-client3_0.8-13ubuntu2_ppc64el.deb ... 3521s Unpacking libavahi-client3:ppc64el (0.8-13ubuntu2) ... 3521s Selecting previously unselected package libcups2:ppc64el. 3521s Preparing to unpack .../010-libcups2_2.4.6-0ubuntu3_ppc64el.deb ... 3521s Unpacking libcups2:ppc64el (2.4.6-0ubuntu3) ... 3521s Selecting previously unselected package liblcms2-2:ppc64el. 3521s Preparing to unpack .../011-liblcms2-2_2.14-2_ppc64el.deb ... 3521s Unpacking liblcms2-2:ppc64el (2.14-2) ... 3521s Selecting previously unselected package libjpeg-turbo8:ppc64el. 3521s Preparing to unpack .../012-libjpeg-turbo8_2.1.5-2ubuntu1_ppc64el.deb ... 3521s Unpacking libjpeg-turbo8:ppc64el (2.1.5-2ubuntu1) ... 3521s Selecting previously unselected package libjpeg8:ppc64el. 3521s Preparing to unpack .../013-libjpeg8_8c-2ubuntu11_ppc64el.deb ... 3521s Unpacking libjpeg8:ppc64el (8c-2ubuntu11) ... 3522s Selecting previously unselected package fonts-dejavu-mono. 3522s Preparing to unpack .../014-fonts-dejavu-mono_2.37-8_all.deb ... 3522s Unpacking fonts-dejavu-mono (2.37-8) ... 3522s Selecting previously unselected package fonts-dejavu-core. 3522s Preparing to unpack .../015-fonts-dejavu-core_2.37-8_all.deb ... 3522s Unpacking fonts-dejavu-core (2.37-8) ... 3522s Selecting previously unselected package fontconfig-config. 3522s Preparing to unpack .../016-fontconfig-config_2.15.0-1ubuntu1_ppc64el.deb ... 3522s Unpacking fontconfig-config (2.15.0-1ubuntu1) ... 3522s Selecting previously unselected package libfontconfig1:ppc64el. 3522s Preparing to unpack .../017-libfontconfig1_2.15.0-1ubuntu1_ppc64el.deb ... 3522s Unpacking libfontconfig1:ppc64el (2.15.0-1ubuntu1) ... 3522s Selecting previously unselected package libasound2-data. 3522s Preparing to unpack .../018-libasound2-data_1.2.10-3build1_all.deb ... 3522s Unpacking libasound2-data (1.2.10-3build1) ... 3522s Selecting previously unselected package libasound2:ppc64el. 3522s Preparing to unpack .../019-libasound2_1.2.10-3build1_ppc64el.deb ... 3522s Unpacking libasound2:ppc64el (1.2.10-3build1) ... 3522s Selecting previously unselected package libgraphite2-3:ppc64el. 3522s Preparing to unpack .../020-libgraphite2-3_1.3.14-2_ppc64el.deb ... 3522s Unpacking libgraphite2-3:ppc64el (1.3.14-2) ... 3522s Selecting previously unselected package libharfbuzz0b:ppc64el. 3522s Preparing to unpack .../021-libharfbuzz0b_8.3.0-2_ppc64el.deb ... 3522s Unpacking libharfbuzz0b:ppc64el (8.3.0-2) ... 3522s Selecting previously unselected package libpcsclite1:ppc64el. 3522s Preparing to unpack .../022-libpcsclite1_2.0.0-1_ppc64el.deb ... 3522s Unpacking libpcsclite1:ppc64el (2.0.0-1) ... 3522s Selecting previously unselected package openjdk-21-jre-headless:ppc64el. 3522s Preparing to unpack .../023-openjdk-21-jre-headless_21.0.2+13-2_ppc64el.deb ... 3522s Unpacking openjdk-21-jre-headless:ppc64el (21.0.2+13-2) ... 3523s Selecting previously unselected package default-jre-headless. 3523s Preparing to unpack .../024-default-jre-headless_2%3a1.21-75+exp1_ppc64el.deb ... 3523s Unpacking default-jre-headless (2:1.21-75+exp1) ... 3523s Selecting previously unselected package libgtk2.0-common. 3523s Preparing to unpack .../025-libgtk2.0-common_2.24.33-2ubuntu2_all.deb ... 3523s Unpacking libgtk2.0-common (2.24.33-2ubuntu2) ... 3523s Selecting previously unselected package at-spi2-common. 3523s Preparing to unpack .../026-at-spi2-common_2.50.0-1_all.deb ... 3523s Unpacking at-spi2-common (2.50.0-1) ... 3523s Selecting previously unselected package libatk1.0-0:ppc64el. 3523s Preparing to unpack .../027-libatk1.0-0_2.50.0-1_ppc64el.deb ... 3523s Unpacking libatk1.0-0:ppc64el (2.50.0-1) ... 3523s Selecting previously unselected package libpixman-1-0:ppc64el. 3523s Preparing to unpack .../028-libpixman-1-0_0.42.2-1_ppc64el.deb ... 3523s Unpacking libpixman-1-0:ppc64el (0.42.2-1) ... 3523s Selecting previously unselected package libxcb-render0:ppc64el. 3523s Preparing to unpack .../029-libxcb-render0_1.15-1_ppc64el.deb ... 3523s Unpacking libxcb-render0:ppc64el (1.15-1) ... 3523s Selecting previously unselected package libxcb-shm0:ppc64el. 3523s Preparing to unpack .../030-libxcb-shm0_1.15-1_ppc64el.deb ... 3523s Unpacking libxcb-shm0:ppc64el (1.15-1) ... 3523s Selecting previously unselected package libxrender1:ppc64el. 3523s Preparing to unpack .../031-libxrender1_1%3a0.9.10-1.1_ppc64el.deb ... 3523s Unpacking libxrender1:ppc64el (1:0.9.10-1.1) ... 3523s Selecting previously unselected package libcairo2:ppc64el. 3523s Preparing to unpack .../032-libcairo2_1.18.0-1_ppc64el.deb ... 3523s Unpacking libcairo2:ppc64el (1.18.0-1) ... 3523s Selecting previously unselected package libgdk-pixbuf2.0-common. 3523s Preparing to unpack .../033-libgdk-pixbuf2.0-common_2.42.10+dfsg-3_all.deb ... 3523s Unpacking libgdk-pixbuf2.0-common (2.42.10+dfsg-3) ... 3523s Selecting previously unselected package libdeflate0:ppc64el. 3523s Preparing to unpack .../034-libdeflate0_1.19-1_ppc64el.deb ... 3523s Unpacking libdeflate0:ppc64el (1.19-1) ... 3524s Selecting previously unselected package libjbig0:ppc64el. 3524s Preparing to unpack .../035-libjbig0_2.1-6.1ubuntu1_ppc64el.deb ... 3524s Unpacking libjbig0:ppc64el (2.1-6.1ubuntu1) ... 3524s Selecting previously unselected package liblerc4:ppc64el. 3524s Preparing to unpack .../036-liblerc4_4.0.0+ds-4ubuntu1_ppc64el.deb ... 3524s Unpacking liblerc4:ppc64el (4.0.0+ds-4ubuntu1) ... 3524s Selecting previously unselected package libsharpyuv0:ppc64el. 3524s Preparing to unpack .../037-libsharpyuv0_1.3.2-0.4_ppc64el.deb ... 3524s Unpacking libsharpyuv0:ppc64el (1.3.2-0.4) ... 3524s Selecting previously unselected package libwebp7:ppc64el. 3524s Preparing to unpack .../038-libwebp7_1.3.2-0.4_ppc64el.deb ... 3524s Unpacking libwebp7:ppc64el (1.3.2-0.4) ... 3524s Selecting previously unselected package libtiff6:ppc64el. 3524s Preparing to unpack .../039-libtiff6_4.5.1+git230720-3ubuntu1_ppc64el.deb ... 3524s Unpacking libtiff6:ppc64el (4.5.1+git230720-3ubuntu1) ... 3524s Selecting previously unselected package libgdk-pixbuf-2.0-0:ppc64el. 3524s Preparing to unpack .../040-libgdk-pixbuf-2.0-0_2.42.10+dfsg-3_ppc64el.deb ... 3524s Unpacking libgdk-pixbuf-2.0-0:ppc64el (2.42.10+dfsg-3) ... 3524s Selecting previously unselected package fontconfig. 3524s Preparing to unpack .../041-fontconfig_2.15.0-1ubuntu1_ppc64el.deb ... 3524s Unpacking fontconfig (2.15.0-1ubuntu1) ... 3524s Selecting previously unselected package libthai-data. 3524s Preparing to unpack .../042-libthai-data_0.1.29-2_all.deb ... 3524s Unpacking libthai-data (0.1.29-2) ... 3524s Selecting previously unselected package libdatrie1:ppc64el. 3524s Preparing to unpack .../043-libdatrie1_0.2.13-3_ppc64el.deb ... 3524s Unpacking libdatrie1:ppc64el (0.2.13-3) ... 3524s Selecting previously unselected package libthai0:ppc64el. 3524s Preparing to unpack .../044-libthai0_0.1.29-2_ppc64el.deb ... 3524s Unpacking libthai0:ppc64el (0.1.29-2) ... 3524s Selecting previously unselected package libpango-1.0-0:ppc64el. 3524s Preparing to unpack .../045-libpango-1.0-0_1.51.0+ds-4_ppc64el.deb ... 3524s Unpacking libpango-1.0-0:ppc64el (1.51.0+ds-4) ... 3524s Selecting previously unselected package libpangoft2-1.0-0:ppc64el. 3524s Preparing to unpack .../046-libpangoft2-1.0-0_1.51.0+ds-4_ppc64el.deb ... 3524s Unpacking libpangoft2-1.0-0:ppc64el (1.51.0+ds-4) ... 3524s Selecting previously unselected package libpangocairo-1.0-0:ppc64el. 3524s Preparing to unpack .../047-libpangocairo-1.0-0_1.51.0+ds-4_ppc64el.deb ... 3524s Unpacking libpangocairo-1.0-0:ppc64el (1.51.0+ds-4) ... 3524s Selecting previously unselected package libxcomposite1:ppc64el. 3524s Preparing to unpack .../048-libxcomposite1_1%3a0.4.5-1build2_ppc64el.deb ... 3524s Unpacking libxcomposite1:ppc64el (1:0.4.5-1build2) ... 3524s Selecting previously unselected package libxfixes3:ppc64el. 3524s Preparing to unpack .../049-libxfixes3_1%3a6.0.0-2_ppc64el.deb ... 3524s Unpacking libxfixes3:ppc64el (1:6.0.0-2) ... 3524s Selecting previously unselected package libxcursor1:ppc64el. 3524s Preparing to unpack .../050-libxcursor1_1%3a1.2.1-1_ppc64el.deb ... 3524s Unpacking libxcursor1:ppc64el (1:1.2.1-1) ... 3524s Selecting previously unselected package libxdamage1:ppc64el. 3524s Preparing to unpack .../051-libxdamage1_1%3a1.1.6-1_ppc64el.deb ... 3524s Unpacking libxdamage1:ppc64el (1:1.1.6-1) ... 3524s Selecting previously unselected package libxi6:ppc64el. 3524s Preparing to unpack .../052-libxi6_2%3a1.8.1-1_ppc64el.deb ... 3524s Unpacking libxi6:ppc64el (2:1.8.1-1) ... 3524s Selecting previously unselected package libxinerama1:ppc64el. 3524s Preparing to unpack .../053-libxinerama1_2%3a1.1.4-3_ppc64el.deb ... 3524s Unpacking libxinerama1:ppc64el (2:1.1.4-3) ... 3524s Selecting previously unselected package libxrandr2:ppc64el. 3524s Preparing to unpack .../054-libxrandr2_2%3a1.5.2-2_ppc64el.deb ... 3524s Unpacking libxrandr2:ppc64el (2:1.5.2-2) ... 3524s Selecting previously unselected package gtk-update-icon-cache. 3524s Preparing to unpack .../055-gtk-update-icon-cache_3.24.40-2ubuntu1_ppc64el.deb ... 3524s Unpacking gtk-update-icon-cache (3.24.40-2ubuntu1) ... 3524s Selecting previously unselected package hicolor-icon-theme. 3524s Preparing to unpack .../056-hicolor-icon-theme_0.17-2_all.deb ... 3524s Unpacking hicolor-icon-theme (0.17-2) ... 3524s Selecting previously unselected package humanity-icon-theme. 3524s Preparing to unpack .../057-humanity-icon-theme_0.6.16_all.deb ... 3524s Unpacking humanity-icon-theme (0.6.16) ... 3525s Selecting previously unselected package ubuntu-mono. 3525s Preparing to unpack .../058-ubuntu-mono_24.04-0ubuntu1_all.deb ... 3525s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 3525s Selecting previously unselected package adwaita-icon-theme. 3525s Preparing to unpack .../059-adwaita-icon-theme_46~rc-1_all.deb ... 3525s Unpacking adwaita-icon-theme (46~rc-1) ... 3526s Selecting previously unselected package libgtk2.0-0:ppc64el. 3526s Preparing to unpack .../060-libgtk2.0-0_2.24.33-2ubuntu2_ppc64el.deb ... 3526s Unpacking libgtk2.0-0:ppc64el (2.24.33-2ubuntu2) ... 3526s Selecting previously unselected package libglvnd0:ppc64el. 3526s Preparing to unpack .../061-libglvnd0_1.7.0-1_ppc64el.deb ... 3526s Unpacking libglvnd0:ppc64el (1.7.0-1) ... 3526s Selecting previously unselected package libglapi-mesa:ppc64el. 3526s Preparing to unpack .../062-libglapi-mesa_24.0.1-1ubuntu1_ppc64el.deb ... 3526s Unpacking libglapi-mesa:ppc64el (24.0.1-1ubuntu1) ... 3526s Selecting previously unselected package libx11-xcb1:ppc64el. 3526s Preparing to unpack .../063-libx11-xcb1_2%3a1.8.7-1_ppc64el.deb ... 3526s Unpacking libx11-xcb1:ppc64el (2:1.8.7-1) ... 3526s Selecting previously unselected package libxcb-dri2-0:ppc64el. 3526s Preparing to unpack .../064-libxcb-dri2-0_1.15-1_ppc64el.deb ... 3526s Unpacking libxcb-dri2-0:ppc64el (1.15-1) ... 3526s Selecting previously unselected package libxcb-dri3-0:ppc64el. 3526s Preparing to unpack .../065-libxcb-dri3-0_1.15-1_ppc64el.deb ... 3526s Unpacking libxcb-dri3-0:ppc64el (1.15-1) ... 3526s Selecting previously unselected package libxcb-glx0:ppc64el. 3526s Preparing to unpack .../066-libxcb-glx0_1.15-1_ppc64el.deb ... 3526s Unpacking libxcb-glx0:ppc64el (1.15-1) ... 3526s Selecting previously unselected package libxcb-present0:ppc64el. 3526s Preparing to unpack .../067-libxcb-present0_1.15-1_ppc64el.deb ... 3526s Unpacking libxcb-present0:ppc64el (1.15-1) ... 3526s Selecting previously unselected package libxcb-randr0:ppc64el. 3526s Preparing to unpack .../068-libxcb-randr0_1.15-1_ppc64el.deb ... 3526s Unpacking libxcb-randr0:ppc64el (1.15-1) ... 3526s Selecting previously unselected package libxcb-sync1:ppc64el. 3526s Preparing to unpack .../069-libxcb-sync1_1.15-1_ppc64el.deb ... 3526s Unpacking libxcb-sync1:ppc64el (1.15-1) ... 3526s Selecting previously unselected package libxcb-xfixes0:ppc64el. 3526s Preparing to unpack .../070-libxcb-xfixes0_1.15-1_ppc64el.deb ... 3526s Unpacking libxcb-xfixes0:ppc64el (1.15-1) ... 3526s Selecting previously unselected package libxshmfence1:ppc64el. 3526s Preparing to unpack .../071-libxshmfence1_1.3-1build4_ppc64el.deb ... 3526s Unpacking libxshmfence1:ppc64el (1.3-1build4) ... 3526s Selecting previously unselected package libxxf86vm1:ppc64el. 3526s Preparing to unpack .../072-libxxf86vm1_1%3a1.1.4-1build3_ppc64el.deb ... 3526s Unpacking libxxf86vm1:ppc64el (1:1.1.4-1build3) ... 3526s Selecting previously unselected package libvulkan1:ppc64el. 3526s Preparing to unpack .../073-libvulkan1_1.3.275.0-1_ppc64el.deb ... 3526s Unpacking libvulkan1:ppc64el (1.3.275.0-1) ... 3526s Selecting previously unselected package libdrm-amdgpu1:ppc64el. 3526s Preparing to unpack .../074-libdrm-amdgpu1_2.4.120-2_ppc64el.deb ... 3526s Unpacking libdrm-amdgpu1:ppc64el (2.4.120-2) ... 3526s Selecting previously unselected package libdrm-nouveau2:ppc64el. 3526s Preparing to unpack .../075-libdrm-nouveau2_2.4.120-2_ppc64el.deb ... 3526s Unpacking libdrm-nouveau2:ppc64el (2.4.120-2) ... 3526s Selecting previously unselected package libdrm-radeon1:ppc64el. 3526s Preparing to unpack .../076-libdrm-radeon1_2.4.120-2_ppc64el.deb ... 3526s Unpacking libdrm-radeon1:ppc64el (2.4.120-2) ... 3526s Selecting previously unselected package libllvm17:ppc64el. 3526s Preparing to unpack .../077-libllvm17_1%3a17.0.6-5build1_ppc64el.deb ... 3526s Unpacking libllvm17:ppc64el (1:17.0.6-5build1) ... 3527s Selecting previously unselected package libgl1-mesa-dri:ppc64el. 3527s Preparing to unpack .../078-libgl1-mesa-dri_24.0.1-1ubuntu1_ppc64el.deb ... 3527s Unpacking libgl1-mesa-dri:ppc64el (24.0.1-1ubuntu1) ... 3527s Selecting previously unselected package libglx-mesa0:ppc64el. 3527s Preparing to unpack .../079-libglx-mesa0_24.0.1-1ubuntu1_ppc64el.deb ... 3527s Unpacking libglx-mesa0:ppc64el (24.0.1-1ubuntu1) ... 3527s Selecting previously unselected package libglx0:ppc64el. 3527s Preparing to unpack .../080-libglx0_1.7.0-1_ppc64el.deb ... 3527s Unpacking libglx0:ppc64el (1.7.0-1) ... 3527s Selecting previously unselected package libgl1:ppc64el. 3527s Preparing to unpack .../081-libgl1_1.7.0-1_ppc64el.deb ... 3527s Unpacking libgl1:ppc64el (1.7.0-1) ... 3527s Selecting previously unselected package libgif7:ppc64el. 3527s Preparing to unpack .../082-libgif7_5.2.1-2.5_ppc64el.deb ... 3527s Unpacking libgif7:ppc64el (5.2.1-2.5) ... 3527s Selecting previously unselected package x11-common. 3527s Preparing to unpack .../083-x11-common_1%3a7.7+23ubuntu2_all.deb ... 3527s Unpacking x11-common (1:7.7+23ubuntu2) ... 3527s Selecting previously unselected package libxtst6:ppc64el. 3527s Preparing to unpack .../084-libxtst6_2%3a1.2.3-1.1_ppc64el.deb ... 3527s Unpacking libxtst6:ppc64el (2:1.2.3-1.1) ... 3527s Selecting previously unselected package openjdk-21-jre:ppc64el. 3527s Preparing to unpack .../085-openjdk-21-jre_21.0.2+13-2_ppc64el.deb ... 3527s Unpacking openjdk-21-jre:ppc64el (21.0.2+13-2) ... 3527s Selecting previously unselected package default-jre. 3527s Preparing to unpack .../086-default-jre_2%3a1.21-75+exp1_ppc64el.deb ... 3527s Unpacking default-jre (2:1.21-75+exp1) ... 3527s Selecting previously unselected package libhamcrest-java. 3527s Preparing to unpack .../087-libhamcrest-java_2.2-2_all.deb ... 3527s Unpacking libhamcrest-java (2.2-2) ... 3527s Selecting previously unselected package junit4. 3527s Preparing to unpack .../088-junit4_4.13.2-4_all.deb ... 3527s Unpacking junit4 (4.13.2-4) ... 3527s Selecting previously unselected package libcommons-cli-java. 3527s Preparing to unpack .../089-libcommons-cli-java_1.6.0-1_all.deb ... 3527s Unpacking libcommons-cli-java (1.6.0-1) ... 3527s Selecting previously unselected package libapache-pom-java. 3527s Preparing to unpack .../090-libapache-pom-java_29-2_all.deb ... 3527s Unpacking libapache-pom-java (29-2) ... 3527s Selecting previously unselected package libcommons-parent-java. 3527s Preparing to unpack .../091-libcommons-parent-java_56-1_all.deb ... 3527s Unpacking libcommons-parent-java (56-1) ... 3527s Selecting previously unselected package libcommons-io-java. 3527s Preparing to unpack .../092-libcommons-io-java_2.11.0-2_all.deb ... 3527s Unpacking libcommons-io-java (2.11.0-2) ... 3527s Selecting previously unselected package libdropwizard-metrics-java. 3527s Preparing to unpack .../093-libdropwizard-metrics-java_3.2.6-1_all.deb ... 3527s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 3527s Selecting previously unselected package libfindbugs-annotations-java. 3527s Preparing to unpack .../094-libfindbugs-annotations-java_3.1.0~preview2-3_all.deb ... 3527s Unpacking libfindbugs-annotations-java (3.1.0~preview2-3) ... 3527s Selecting previously unselected package libatinject-jsr330-api-java. 3527s Preparing to unpack .../095-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 3527s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 3528s Selecting previously unselected package liberror-prone-java. 3528s Preparing to unpack .../096-liberror-prone-java_2.18.0-1_all.deb ... 3528s Unpacking liberror-prone-java (2.18.0-1) ... 3528s Selecting previously unselected package libjsr305-java. 3528s Preparing to unpack .../097-libjsr305-java_0.1~+svn49-11_all.deb ... 3528s Unpacking libjsr305-java (0.1~+svn49-11) ... 3528s Selecting previously unselected package libguava-java. 3528s Preparing to unpack .../098-libguava-java_32.0.1-1_all.deb ... 3528s Unpacking libguava-java (32.0.1-1) ... 3528s Selecting previously unselected package libjackson2-annotations-java. 3528s Preparing to unpack .../099-libjackson2-annotations-java_2.14.0-1_all.deb ... 3528s Unpacking libjackson2-annotations-java (2.14.0-1) ... 3528s Selecting previously unselected package libjackson2-core-java. 3528s Preparing to unpack .../100-libjackson2-core-java_2.14.1-1_all.deb ... 3528s Unpacking libjackson2-core-java (2.14.1-1) ... 3528s Selecting previously unselected package libjackson2-databind-java. 3528s Preparing to unpack .../101-libjackson2-databind-java_2.14.0-1_all.deb ... 3528s Unpacking libjackson2-databind-java (2.14.0-1) ... 3528s Selecting previously unselected package libasm-java. 3528s Preparing to unpack .../102-libasm-java_9.6~us1-0ubuntu1_all.deb ... 3528s Unpacking libasm-java (9.6~us1-0ubuntu1) ... 3528s Selecting previously unselected package libel-api-java. 3528s Preparing to unpack .../103-libel-api-java_3.0.0-3_all.deb ... 3528s Unpacking libel-api-java (3.0.0-3) ... 3528s Selecting previously unselected package libjsp-api-java. 3528s Preparing to unpack .../104-libjsp-api-java_2.3.4-3_all.deb ... 3528s Unpacking libjsp-api-java (2.3.4-3) ... 3528s Selecting previously unselected package libservlet-api-java. 3528s Preparing to unpack .../105-libservlet-api-java_4.0.1-2_all.deb ... 3528s Unpacking libservlet-api-java (4.0.1-2) ... 3528s Selecting previously unselected package libwebsocket-api-java. 3528s Preparing to unpack .../106-libwebsocket-api-java_1.1-2_all.deb ... 3528s Unpacking libwebsocket-api-java (1.1-2) ... 3528s Selecting previously unselected package libjetty9-java. 3528s Preparing to unpack .../107-libjetty9-java_9.4.53-1_all.deb ... 3528s Unpacking libjetty9-java (9.4.53-1) ... 3528s Selecting previously unselected package libjnr-constants-java. 3528s Preparing to unpack .../108-libjnr-constants-java_0.10.4-2_all.deb ... 3528s Unpacking libjnr-constants-java (0.10.4-2) ... 3528s Selecting previously unselected package libjffi-jni:ppc64el. 3528s Preparing to unpack .../109-libjffi-jni_1.3.13+ds-1_ppc64el.deb ... 3528s Unpacking libjffi-jni:ppc64el (1.3.13+ds-1) ... 3528s Selecting previously unselected package libjffi-java. 3528s Preparing to unpack .../110-libjffi-java_1.3.13+ds-1_all.deb ... 3528s Unpacking libjffi-java (1.3.13+ds-1) ... 3528s Selecting previously unselected package libjnr-x86asm-java. 3528s Preparing to unpack .../111-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 3528s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 3528s Selecting previously unselected package libjnr-ffi-java. 3528s Preparing to unpack .../112-libjnr-ffi-java_2.2.15-2_all.deb ... 3528s Unpacking libjnr-ffi-java (2.2.15-2) ... 3528s Selecting previously unselected package libjnr-enxio-java. 3528s Preparing to unpack .../113-libjnr-enxio-java_0.32.16-1_all.deb ... 3528s Unpacking libjnr-enxio-java (0.32.16-1) ... 3528s Selecting previously unselected package libjnr-posix-java. 3528s Preparing to unpack .../114-libjnr-posix-java_3.1.18-1_all.deb ... 3528s Unpacking libjnr-posix-java (3.1.18-1) ... 3528s Selecting previously unselected package libjnr-unixsocket-java. 3528s Preparing to unpack .../115-libjnr-unixsocket-java_0.38.21-2_all.deb ... 3528s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 3528s Selecting previously unselected package libactivation-java. 3528s Preparing to unpack .../116-libactivation-java_1.2.0-2_all.deb ... 3528s Unpacking libactivation-java (1.2.0-2) ... 3528s Selecting previously unselected package libmail-java. 3528s Preparing to unpack .../117-libmail-java_1.6.5-2_all.deb ... 3528s Unpacking libmail-java (1.6.5-2) ... 3528s Selecting previously unselected package libcommons-logging-java. 3528s Preparing to unpack .../118-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 3528s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 3528s Selecting previously unselected package libjaxb-api-java. 3528s Preparing to unpack .../119-libjaxb-api-java_2.3.1-1_all.deb ... 3528s Unpacking libjaxb-api-java (2.3.1-1) ... 3528s Selecting previously unselected package libspring-core-java. 3528s Preparing to unpack .../120-libspring-core-java_4.3.30-2_all.deb ... 3528s Unpacking libspring-core-java (4.3.30-2) ... 3528s Selecting previously unselected package libspring-beans-java. 3528s Preparing to unpack .../121-libspring-beans-java_4.3.30-2_all.deb ... 3528s Unpacking libspring-beans-java (4.3.30-2) ... 3528s Selecting previously unselected package libtaglibs-standard-spec-java. 3528s Preparing to unpack .../122-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 3528s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 3528s Selecting previously unselected package libtaglibs-standard-impl-java. 3528s Preparing to unpack .../123-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 3528s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 3528s Selecting previously unselected package libeclipse-jdt-core-java. 3528s Preparing to unpack .../124-libeclipse-jdt-core-java_3.32.0+eclipse4.26-2_all.deb ... 3528s Unpacking libeclipse-jdt-core-java (3.32.0+eclipse4.26-2) ... 3528s Selecting previously unselected package libtomcat9-java. 3528s Preparing to unpack .../125-libtomcat9-java_9.0.70-1ubuntu1_all.deb ... 3528s Unpacking libtomcat9-java (9.0.70-1ubuntu1) ... 3528s Selecting previously unselected package libjetty9-extra-java. 3528s Preparing to unpack .../126-libjetty9-extra-java_9.4.53-1_all.deb ... 3528s Unpacking libjetty9-extra-java (9.4.53-1) ... 3528s Selecting previously unselected package libjctools-java. 3528s Preparing to unpack .../127-libjctools-java_2.0.2-1_all.deb ... 3528s Unpacking libjctools-java (2.0.2-1) ... 3529s Selecting previously unselected package libnetty-java. 3529s Preparing to unpack .../128-libnetty-java_1%3a4.1.48-9_all.deb ... 3529s Unpacking libnetty-java (1:4.1.48-9) ... 3529s Selecting previously unselected package libslf4j-java. 3529s Preparing to unpack .../129-libslf4j-java_1.7.32-1_all.deb ... 3529s Unpacking libslf4j-java (1.7.32-1) ... 3529s Selecting previously unselected package libsnappy1v5:ppc64el. 3529s Preparing to unpack .../130-libsnappy1v5_1.1.10-1_ppc64el.deb ... 3529s Unpacking libsnappy1v5:ppc64el (1.1.10-1) ... 3529s Selecting previously unselected package libsnappy-jni. 3529s Preparing to unpack .../131-libsnappy-jni_1.1.10.5-1_ppc64el.deb ... 3529s Unpacking libsnappy-jni (1.1.10.5-1) ... 3529s Selecting previously unselected package libsnappy-java. 3529s Preparing to unpack .../132-libsnappy-java_1.1.10.5-1_all.deb ... 3529s Unpacking libsnappy-java (1.1.10.5-1) ... 3529s Selecting previously unselected package libapr1:ppc64el. 3529s Preparing to unpack .../133-libapr1_1.7.2-3_ppc64el.deb ... 3529s Unpacking libapr1:ppc64el (1.7.2-3) ... 3529s Selecting previously unselected package libnetty-tcnative-jni. 3529s Preparing to unpack .../134-libnetty-tcnative-jni_2.0.28-1build1_ppc64el.deb ... 3529s Unpacking libnetty-tcnative-jni (2.0.28-1build1) ... 3529s Selecting previously unselected package libnetty-tcnative-java. 3529s Preparing to unpack .../135-libnetty-tcnative-java_2.0.28-1build1_all.deb ... 3529s Unpacking libnetty-tcnative-java (2.0.28-1build1) ... 3529s Selecting previously unselected package liblog4j1.2-java. 3529s Preparing to unpack .../136-liblog4j1.2-java_1.2.17-11_all.deb ... 3529s Unpacking liblog4j1.2-java (1.2.17-11) ... 3529s Selecting previously unselected package libzookeeper-java. 3529s Preparing to unpack .../137-libzookeeper-java_3.9.1-1build1_all.deb ... 3529s Unpacking libzookeeper-java (3.9.1-1build1) ... 3529s Selecting previously unselected package zookeeper. 3529s Preparing to unpack .../138-zookeeper_3.9.1-1build1_all.deb ... 3529s Unpacking zookeeper (3.9.1-1build1) ... 3529s Selecting previously unselected package zookeeperd. 3529s Preparing to unpack .../139-zookeeperd_3.9.1-1build1_all.deb ... 3529s Unpacking zookeeperd (3.9.1-1build1) ... 3529s Selecting previously unselected package fonts-font-awesome. 3529s Preparing to unpack .../140-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3529s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3529s Selecting previously unselected package libio-pty-perl. 3529s Preparing to unpack .../141-libio-pty-perl_1%3a1.20-1_ppc64el.deb ... 3529s Unpacking libio-pty-perl (1:1.20-1) ... 3529s Selecting previously unselected package libipc-run-perl. 3529s Preparing to unpack .../142-libipc-run-perl_20231003.0-1_all.deb ... 3529s Unpacking libipc-run-perl (20231003.0-1) ... 3529s Selecting previously unselected package libjs-jquery. 3529s Preparing to unpack .../143-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3529s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3529s Selecting previously unselected package libjs-underscore. 3529s Preparing to unpack .../144-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3529s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3529s Selecting previously unselected package libjs-sphinxdoc. 3529s Preparing to unpack .../145-libjs-sphinxdoc_7.2.6-4_all.deb ... 3529s Unpacking libjs-sphinxdoc (7.2.6-4) ... 3529s Selecting previously unselected package libpq5:ppc64el. 3529s Preparing to unpack .../146-libpq5_16.2-1_ppc64el.deb ... 3529s Unpacking libpq5:ppc64el (16.2-1) ... 3529s Selecting previously unselected package libtime-duration-perl. 3529s Preparing to unpack .../147-libtime-duration-perl_1.21-2_all.deb ... 3529s Unpacking libtime-duration-perl (1.21-2) ... 3529s Selecting previously unselected package libtimedate-perl. 3529s Preparing to unpack .../148-libtimedate-perl_2.3300-2_all.deb ... 3529s Unpacking libtimedate-perl (2.3300-2) ... 3529s Selecting previously unselected package libxslt1.1:ppc64el. 3529s Preparing to unpack .../149-libxslt1.1_1.1.35-1_ppc64el.deb ... 3529s Unpacking libxslt1.1:ppc64el (1.1.35-1) ... 3529s Selecting previously unselected package moreutils. 3529s Preparing to unpack .../150-moreutils_0.69-1_ppc64el.deb ... 3529s Unpacking moreutils (0.69-1) ... 3529s Selecting previously unselected package python3-cdiff. 3529s Preparing to unpack .../151-python3-cdiff_1.0-1.1_all.deb ... 3529s Unpacking python3-cdiff (1.0-1.1) ... 3529s Selecting previously unselected package python3-colorama. 3529s Preparing to unpack .../152-python3-colorama_0.4.6-4_all.deb ... 3529s Unpacking python3-colorama (0.4.6-4) ... 3529s Selecting previously unselected package python3-click. 3529s Preparing to unpack .../153-python3-click_8.1.6-1_all.deb ... 3529s Unpacking python3-click (8.1.6-1) ... 3529s Selecting previously unselected package python3-dateutil. 3529s Preparing to unpack .../154-python3-dateutil_2.8.2-3_all.deb ... 3529s Unpacking python3-dateutil (2.8.2-3) ... 3529s Selecting previously unselected package python3-wcwidth. 3529s Preparing to unpack .../155-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 3529s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 3529s Selecting previously unselected package python3-prettytable. 3529s Preparing to unpack .../156-python3-prettytable_3.6.0-1_all.deb ... 3529s Unpacking python3-prettytable (3.6.0-1) ... 3529s Selecting previously unselected package python3-psutil. 3529s Preparing to unpack .../157-python3-psutil_5.9.8-1_ppc64el.deb ... 3529s Unpacking python3-psutil (5.9.8-1) ... 3529s Selecting previously unselected package python3-psycopg2. 3529s Preparing to unpack .../158-python3-psycopg2_2.9.9-1_ppc64el.deb ... 3529s Unpacking python3-psycopg2 (2.9.9-1) ... 3529s Selecting previously unselected package python3-greenlet. 3529s Preparing to unpack .../159-python3-greenlet_3.0.1-2_ppc64el.deb ... 3529s Unpacking python3-greenlet (3.0.1-2) ... 3529s Selecting previously unselected package python3-dnspython. 3529s Preparing to unpack .../160-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3529s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3529s Selecting previously unselected package python3-eventlet. 3529s Preparing to unpack .../161-python3-eventlet_0.35.1-0ubuntu1_all.deb ... 3529s Unpacking python3-eventlet (0.35.1-0ubuntu1) ... 3529s Selecting previously unselected package python3-zope.event. 3529s Preparing to unpack .../162-python3-zope.event_5.0-0.1_all.deb ... 3529s Unpacking python3-zope.event (5.0-0.1) ... 3529s Selecting previously unselected package python3-zope.interface. 3529s Preparing to unpack .../163-python3-zope.interface_6.1-1_ppc64el.deb ... 3529s Unpacking python3-zope.interface (6.1-1) ... 3529s Selecting previously unselected package libc-ares2:ppc64el. 3529s Preparing to unpack .../164-libc-ares2_1.27.0-1_ppc64el.deb ... 3529s Unpacking libc-ares2:ppc64el (1.27.0-1) ... 3530s Selecting previously unselected package libev4:ppc64el. 3530s Preparing to unpack .../165-libev4_1%3a4.33-2_ppc64el.deb ... 3530s Unpacking libev4:ppc64el (1:4.33-2) ... 3530s Selecting previously unselected package python3-gevent. 3530s Preparing to unpack .../166-python3-gevent_23.9.1-0.2_ppc64el.deb ... 3530s Unpacking python3-gevent (23.9.1-0.2) ... 3530s Selecting previously unselected package python3-kerberos. 3530s Preparing to unpack .../167-python3-kerberos_1.1.14-3.1build8_ppc64el.deb ... 3530s Unpacking python3-kerberos (1.1.14-3.1build8) ... 3530s Selecting previously unselected package python3-pure-sasl. 3530s Preparing to unpack .../168-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 3530s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 3530s Selecting previously unselected package python3-kazoo. 3530s Preparing to unpack .../169-python3-kazoo_2.9.0-2_all.deb ... 3530s Unpacking python3-kazoo (2.9.0-2) ... 3530s Selecting previously unselected package patroni. 3530s Preparing to unpack .../170-patroni_3.2.2-2_all.deb ... 3530s Unpacking patroni (3.2.2-2) ... 3530s Selecting previously unselected package sphinx-rtd-theme-common. 3530s Preparing to unpack .../171-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 3530s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 3530s Selecting previously unselected package patroni-doc. 3530s Preparing to unpack .../172-patroni-doc_3.2.2-2_all.deb ... 3530s Unpacking patroni-doc (3.2.2-2) ... 3530s Selecting previously unselected package postgresql-client-16. 3530s Preparing to unpack .../173-postgresql-client-16_16.2-1_ppc64el.deb ... 3530s Unpacking postgresql-client-16 (16.2-1) ... 3530s Selecting previously unselected package postgresql-16. 3530s Preparing to unpack .../174-postgresql-16_16.2-1_ppc64el.deb ... 3530s Unpacking postgresql-16 (16.2-1) ... 3531s Selecting previously unselected package postgresql. 3531s Preparing to unpack .../175-postgresql_16+257_all.deb ... 3531s Unpacking postgresql (16+257) ... 3531s Selecting previously unselected package python3-parse. 3531s Preparing to unpack .../176-python3-parse_1.19.0-0.2_all.deb ... 3531s Unpacking python3-parse (1.19.0-0.2) ... 3531s Selecting previously unselected package python3-parse-type. 3531s Preparing to unpack .../177-python3-parse-type_0.6.2-1_all.deb ... 3531s Unpacking python3-parse-type (0.6.2-1) ... 3531s Selecting previously unselected package python3-behave. 3531s Preparing to unpack .../178-python3-behave_1.2.6-5_all.deb ... 3531s Unpacking python3-behave (1.2.6-5) ... 3531s Selecting previously unselected package python3-coverage. 3531s Preparing to unpack .../179-python3-coverage_7.3.2-0ubuntu1_ppc64el.deb ... 3531s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 3531s Selecting previously unselected package autopkgtest-satdep. 3531s Preparing to unpack .../180-5-autopkgtest-satdep.deb ... 3531s Unpacking autopkgtest-satdep (0) ... 3531s Setting up postgresql-client-common (257) ... 3531s Setting up libgraphite2-3:ppc64el (1.3.14-2) ... 3531s Setting up libxcb-dri3-0:ppc64el (1.15-1) ... 3531s Setting up liblcms2-2:ppc64el (2.14-2) ... 3531s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 3531s Setting up libpixman-1-0:ppc64el (0.42.2-1) ... 3531s Setting up libjackson2-annotations-java (2.14.0-1) ... 3531s Setting up libsharpyuv0:ppc64el (1.3.2-0.4) ... 3531s Setting up libx11-xcb1:ppc64el (2:1.8.7-1) ... 3531s Setting up libslf4j-java (1.7.32-1) ... 3531s Setting up libdrm-nouveau2:ppc64el (2.4.120-2) ... 3531s Setting up fonts-lato (2.015-1) ... 3531s Setting up libxdamage1:ppc64el (1:1.1.6-1) ... 3531s Setting up libxcb-xfixes0:ppc64el (1.15-1) ... 3531s Setting up liblerc4:ppc64el (4.0.0+ds-4ubuntu1) ... 3531s Setting up libjsr305-java (0.1~+svn49-11) ... 3531s Setting up hicolor-icon-theme (0.17-2) ... 3531s Setting up libxi6:ppc64el (2:1.8.1-1) ... 3531s Setting up java-common (0.75+exp1) ... 3531s Setting up libxrender1:ppc64el (1:0.9.10-1.1) ... 3531s Setting up libdatrie1:ppc64el (0.2.13-3) ... 3531s Setting up libcommons-cli-java (1.6.0-1) ... 3531s Setting up libio-pty-perl (1:1.20-1) ... 3531s Setting up python3-colorama (0.4.6-4) ... 3531s Setting up libxcb-render0:ppc64el (1.15-1) ... 3531s Setting up python3-zope.event (5.0-0.1) ... 3531s Setting up python3-zope.interface (6.1-1) ... 3531s Setting up libdrm-radeon1:ppc64el (2.4.120-2) ... 3531s Setting up libglvnd0:ppc64el (1.7.0-1) ... 3531s Setting up libev4:ppc64el (1:4.33-2) ... 3531s Setting up libxcb-glx0:ppc64el (1.15-1) ... 3531s Setting up python3-cdiff (1.0-1.1) ... 3531s Setting up libgdk-pixbuf2.0-common (2.42.10+dfsg-3) ... 3531s Setting up libasm-java (9.6~us1-0ubuntu1) ... 3531s Setting up x11-common (1:7.7+23ubuntu2) ... 3532s Setting up libpq5:ppc64el (16.2-1) ... 3532s Setting up libdeflate0:ppc64el (1.19-1) ... 3532s Setting up libapr1:ppc64el (1.7.2-3) ... 3532s Setting up python3-kerberos (1.1.14-3.1build8) ... 3532s Setting up liblog4j1.2-java (1.2.17-11) ... 3532s Setting up libel-api-java (3.0.0-3) ... 3532s Setting up python3-coverage (7.3.2-0ubuntu1) ... 3532s Setting up libxcb-shm0:ppc64el (1.15-1) ... 3532s Setting up libc-ares2:ppc64el (1.27.0-1) ... 3532s Setting up python3-click (8.1.6-1) ... 3532s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 3532s Setting up libjbig0:ppc64el (2.1-6.1ubuntu1) ... 3532s Setting up python3-psutil (5.9.8-1) ... 3533s Setting up libeclipse-jdt-core-java (3.32.0+eclipse4.26-2) ... 3533s Setting up libxxf86vm1:ppc64el (1:1.1.4-1build3) ... 3533s Setting up libsnappy1v5:ppc64el (1.1.10-1) ... 3533s Setting up libxcb-present0:ppc64el (1.15-1) ... 3533s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 3533s Setting up libjctools-java (2.0.2-1) ... 3533s Setting up libdropwizard-metrics-java (3.2.6-1) ... 3533s Setting up libasound2-data (1.2.10-3build1) ... 3533s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 3533s Setting up libfindbugs-annotations-java (3.1.0~preview2-3) ... 3533s Setting up libnetty-tcnative-jni (2.0.28-1build1) ... 3533s Setting up ssl-cert (1.1.2ubuntu1) ... 3534s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 3534s Setting up libxfixes3:ppc64el (1:6.0.0-2) ... 3534s Setting up libxcb-sync1:ppc64el (1.15-1) ... 3534s Setting up libapache-pom-java (29-2) ... 3534s Setting up libavahi-common-data:ppc64el (0.8-13ubuntu2) ... 3534s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 3534s Setting up libwebsocket-api-java (1.1-2) ... 3534s Setting up python3-greenlet (3.0.1-2) ... 3534s Setting up libxinerama1:ppc64el (2:1.1.4-3) ... 3534s Setting up fonts-dejavu-mono (2.37-8) ... 3534s Setting up libxrandr2:ppc64el (2:1.5.2-2) ... 3534s Setting up python3-psycopg2 (2.9.9-1) ... 3535s Setting up fonts-dejavu-core (2.37-8) ... 3535s Setting up libipc-run-perl (20231003.0-1) ... 3535s Setting up libpcsclite1:ppc64el (2.0.0-1) ... 3535s Setting up libjpeg-turbo8:ppc64el (2.1.5-2ubuntu1) ... 3535s Setting up libactivation-java (1.2.0-2) ... 3535s Setting up libtomcat9-java (9.0.70-1ubuntu1) ... 3535s Setting up libhamcrest-java (2.2-2) ... 3535s Setting up libglapi-mesa:ppc64el (24.0.1-1ubuntu1) ... 3535s Setting up libjsp-api-java (2.3.4-3) ... 3535s Setting up libvulkan1:ppc64el (1.3.275.0-1) ... 3535s Setting up libtime-duration-perl (1.21-2) ... 3535s Setting up libwebp7:ppc64el (1.3.2-0.4) ... 3535s Setting up libtimedate-perl (2.3300-2) ... 3535s Setting up libxcb-dri2-0:ppc64el (1.15-1) ... 3535s Setting up libgif7:ppc64el (5.2.1-2.5) ... 3535s Setting up libxshmfence1:ppc64el (1.3-1build4) ... 3535s Setting up libmail-java (1.6.5-2) ... 3535s Setting up at-spi2-common (2.50.0-1) ... 3535s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3535s Setting up libnetty-java (1:4.1.48-9) ... 3535s Setting up libxcb-randr0:ppc64el (1.15-1) ... 3535s Setting up python3-parse (1.19.0-0.2) ... 3535s Setting up libjson-perl (4.10000-1) ... 3535s Setting up libasound2:ppc64el (1.2.10-3build1) ... 3535s Setting up libxslt1.1:ppc64el (1.1.35-1) ... 3535s Setting up libservlet-api-java (4.0.1-2) ... 3535s Setting up libjackson2-core-java (2.14.1-1) ... 3535s Setting up libharfbuzz0b:ppc64el (8.3.0-2) ... 3535s Setting up libthai-data (0.1.29-2) ... 3535s Setting up python3-dateutil (2.8.2-3) ... 3535s Setting up libgtk2.0-common (2.24.33-2ubuntu2) ... 3535s Setting up libjffi-jni:ppc64el (1.3.13+ds-1) ... 3535s Setting up libatk1.0-0:ppc64el (2.50.0-1) ... 3535s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3535s Setting up ca-certificates-java (20240118) ... 3535s No JRE found. Skipping Java certificates setup. 3535s Setting up python3-prettytable (3.6.0-1) ... 3535s Setting up libllvm17:ppc64el (1:17.0.6-5build1) ... 3535s Setting up libsnappy-jni (1.1.10.5-1) ... 3535s Setting up libxcomposite1:ppc64el (1:0.4.5-1build2) ... 3535s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3536s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 3536s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3536s Setting up libdrm-amdgpu1:ppc64el (2.4.120-2) ... 3536s Setting up libjnr-constants-java (0.10.4-2) ... 3536s Setting up libjpeg8:ppc64el (8c-2ubuntu11) ... 3536s Setting up libjaxb-api-java (2.3.1-1) ... 3536s Setting up libjffi-java (1.3.13+ds-1) ... 3536s Setting up libjetty9-java (9.4.53-1) ... 3536s Setting up moreutils (0.69-1) ... 3536s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 3536s Setting up fontconfig-config (2.15.0-1ubuntu1) ... 3536s Setting up libxtst6:ppc64el (2:1.2.3-1.1) ... 3536s Setting up libxcursor1:ppc64el (1:1.2.1-1) ... 3536s Setting up postgresql-client-16 (16.2-1) ... 3536s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 3536s Setting up libgl1-mesa-dri:ppc64el (24.0.1-1ubuntu1) ... 3536s Setting up libcommons-parent-java (56-1) ... 3536s Setting up libavahi-common3:ppc64el (0.8-13ubuntu2) ... 3536s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 3536s Setting up python3-gevent (23.9.1-0.2) ... 3537s Setting up libjackson2-databind-java (2.14.0-1) ... 3537s Setting up libthai0:ppc64el (0.1.29-2) ... 3537s Setting up python3-parse-type (0.6.2-1) ... 3537s Setting up python3-eventlet (0.35.1-0ubuntu1) ... 3537s Setting up python3-kazoo (2.9.0-2) ... 3537s Setting up postgresql-common (257) ... 3538s 3538s Creating config file /etc/postgresql-common/createcluster.conf with new version 3538s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 3538s Removing obsolete dictionary files: 3539s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 3539s Setting up libjs-sphinxdoc (7.2.6-4) ... 3539s Setting up libtiff6:ppc64el (4.5.1+git230720-3ubuntu1) ... 3539s Setting up libgdk-pixbuf-2.0-0:ppc64el (2.42.10+dfsg-3) ... 3539s Setting up python3-behave (1.2.6-5) ... 3539s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 3539s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 3539s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 3539s """Registers a custom type that will be available to "parse" 3540s Setting up libsnappy-java (1.1.10.5-1) ... 3540s Setting up libfontconfig1:ppc64el (2.15.0-1ubuntu1) ... 3540s Setting up patroni (3.2.2-2) ... 3540s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 3540s Setting up libavahi-client3:ppc64el (0.8-13ubuntu2) ... 3540s Setting up libjnr-ffi-java (2.2.15-2) ... 3540s Setting up gtk-update-icon-cache (3.24.40-2ubuntu1) ... 3540s Setting up fontconfig (2.15.0-1ubuntu1) ... 3542s Regenerating fonts cache... done. 3542s Setting up libglx-mesa0:ppc64el (24.0.1-1ubuntu1) ... 3542s Setting up postgresql-16 (16.2-1) ... 3543s Creating new PostgreSQL cluster 16/main ... 3543s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 3543s The files belonging to this database system will be owned by user "postgres". 3543s This user must also own the server process. 3543s 3543s The database cluster will be initialized with locale "C.UTF-8". 3543s The default database encoding has accordingly been set to "UTF8". 3543s The default text search configuration will be set to "english". 3543s 3543s Data page checksums are disabled. 3543s 3543s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 3543s creating subdirectories ... ok 3543s selecting dynamic shared memory implementation ... posix 3543s selecting default max_connections ... 100 3543s selecting default shared_buffers ... 128MB 3543s selecting default time zone ... Etc/UTC 3543s creating configuration files ... ok 3543s running bootstrap script ... ok 3544s performing post-bootstrap initialization ... ok 3544s syncing data to disk ... ok 3547s Setting up libglx0:ppc64el (1.7.0-1) ... 3547s Setting up libspring-core-java (4.3.30-2) ... 3547s Setting up libcommons-io-java (2.11.0-2) ... 3547s Setting up patroni-doc (3.2.2-2) ... 3547s Setting up libpango-1.0-0:ppc64el (1.51.0+ds-4) ... 3547s Setting up libcairo2:ppc64el (1.18.0-1) ... 3547s Setting up libjnr-enxio-java (0.32.16-1) ... 3547s Setting up libgl1:ppc64el (1.7.0-1) ... 3547s Setting up libcups2:ppc64el (2.4.6-0ubuntu3) ... 3547s Setting up postgresql (16+257) ... 3547s Setting up libpangoft2-1.0-0:ppc64el (1.51.0+ds-4) ... 3547s Setting up libjnr-posix-java (3.1.18-1) ... 3547s Setting up libpangocairo-1.0-0:ppc64el (1.51.0+ds-4) ... 3547s Setting up libspring-beans-java (4.3.30-2) ... 3547s Setting up openjdk-21-jre-headless:ppc64el (21.0.2+13-2) ... 3547s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/java to provide /usr/bin/java (java) in auto mode 3547s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 3547s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 3547s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 3547s update-alternatives: using /usr/lib/jvm/java-21-openjdk-ppc64el/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 3547s Setting up libjnr-unixsocket-java (0.38.21-2) ... 3547s Setting up libjetty9-extra-java (9.4.53-1) ... 3547s Setting up libguava-java (32.0.1-1) ... 3547s Setting up adwaita-icon-theme (46~rc-1) ... 3547s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 3547s Setting up liberror-prone-java (2.18.0-1) ... 3547s Setting up libgtk2.0-0:ppc64el (2.24.33-2ubuntu2) ... 3547s Setting up humanity-icon-theme (0.6.16) ... 3548s Setting up ubuntu-mono (24.04-0ubuntu1) ... 3548s Processing triggers for man-db (2.12.0-3) ... 3549s Processing triggers for libc-bin (2.39-0ubuntu2) ... 3549s Processing triggers for ca-certificates-java (20240118) ... 3549s Adding debian:ACCVRAIZ1.pem 3549s Adding debian:AC_RAIZ_FNMT-RCM.pem 3549s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 3549s Adding debian:ANF_Secure_Server_Root_CA.pem 3549s Adding debian:Actalis_Authentication_Root_CA.pem 3550s Adding debian:AffirmTrust_Commercial.pem 3550s Adding debian:AffirmTrust_Networking.pem 3550s Adding debian:AffirmTrust_Premium.pem 3550s Adding debian:AffirmTrust_Premium_ECC.pem 3550s Adding debian:Amazon_Root_CA_1.pem 3550s Adding debian:Amazon_Root_CA_2.pem 3550s Adding debian:Amazon_Root_CA_3.pem 3550s Adding debian:Amazon_Root_CA_4.pem 3550s Adding debian:Atos_TrustedRoot_2011.pem 3550s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 3550s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 3550s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 3550s Adding debian:BJCA_Global_Root_CA1.pem 3550s Adding debian:BJCA_Global_Root_CA2.pem 3550s Adding debian:Baltimore_CyberTrust_Root.pem 3550s Adding debian:Buypass_Class_2_Root_CA.pem 3550s Adding debian:Buypass_Class_3_Root_CA.pem 3550s Adding debian:CA_Disig_Root_R2.pem 3550s Adding debian:CFCA_EV_ROOT.pem 3550s Adding debian:COMODO_Certification_Authority.pem 3550s Adding debian:COMODO_ECC_Certification_Authority.pem 3550s Adding debian:COMODO_RSA_Certification_Authority.pem 3550s Adding debian:Certainly_Root_E1.pem 3550s Adding debian:Certainly_Root_R1.pem 3550s Adding debian:Certigna.pem 3550s Adding debian:Certigna_Root_CA.pem 3550s Adding debian:Certum_EC-384_CA.pem 3550s Adding debian:Certum_Trusted_Network_CA.pem 3550s Adding debian:Certum_Trusted_Network_CA_2.pem 3550s Adding debian:Certum_Trusted_Root_CA.pem 3550s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 3550s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 3550s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 3550s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 3550s Adding debian:Comodo_AAA_Services_root.pem 3550s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 3550s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 3550s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 3550s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 3550s Adding debian:DigiCert_Assured_ID_Root_CA.pem 3550s Adding debian:DigiCert_Assured_ID_Root_G2.pem 3550s Adding debian:DigiCert_Assured_ID_Root_G3.pem 3550s Adding debian:DigiCert_Global_Root_CA.pem 3550s Adding debian:DigiCert_Global_Root_G2.pem 3550s Adding debian:DigiCert_Global_Root_G3.pem 3550s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 3550s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 3550s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 3550s Adding debian:DigiCert_Trusted_Root_G4.pem 3550s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 3550s Adding debian:Entrust_Root_Certification_Authority.pem 3550s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 3550s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 3550s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 3550s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 3550s Adding debian:GLOBALTRUST_2020.pem 3550s Adding debian:GTS_Root_R1.pem 3550s Adding debian:GTS_Root_R2.pem 3550s Adding debian:GTS_Root_R3.pem 3550s Adding debian:GTS_Root_R4.pem 3550s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 3550s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 3550s Adding debian:GlobalSign_Root_CA.pem 3550s Adding debian:GlobalSign_Root_CA_-_R3.pem 3550s Adding debian:GlobalSign_Root_CA_-_R6.pem 3550s Adding debian:GlobalSign_Root_E46.pem 3550s Adding debian:GlobalSign_Root_R46.pem 3550s Adding debian:Go_Daddy_Class_2_CA.pem 3550s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 3550s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 3550s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 3550s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 3550s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 3550s Adding debian:HiPKI_Root_CA_-_G1.pem 3550s Adding debian:Hongkong_Post_Root_CA_3.pem 3550s Adding debian:ISRG_Root_X1.pem 3550s Adding debian:ISRG_Root_X2.pem 3550s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 3550s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 3550s Adding debian:Izenpe.com.pem 3550s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 3550s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 3550s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 3550s Adding debian:NAVER_Global_Root_Certification_Authority.pem 3550s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 3550s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 3550s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 3550s Adding debian:QuoVadis_Root_CA_1_G3.pem 3550s Adding debian:QuoVadis_Root_CA_2.pem 3550s Adding debian:QuoVadis_Root_CA_2_G3.pem 3550s Adding debian:QuoVadis_Root_CA_3.pem 3550s Adding debian:QuoVadis_Root_CA_3_G3.pem 3550s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 3550s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 3550s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 3550s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 3550s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 3550s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 3550s Adding debian:SZAFIR_ROOT_CA2.pem 3550s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 3550s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 3550s Adding debian:SecureSign_RootCA11.pem 3550s Adding debian:SecureTrust_CA.pem 3550s Adding debian:Secure_Global_CA.pem 3550s Adding debian:Security_Communication_ECC_RootCA1.pem 3550s Adding debian:Security_Communication_RootCA2.pem 3550s Adding debian:Security_Communication_RootCA3.pem 3550s Adding debian:Security_Communication_Root_CA.pem 3550s Adding debian:Starfield_Class_2_CA.pem 3550s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 3550s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 3550s Adding debian:SwissSign_Gold_CA_-_G2.pem 3550s Adding debian:SwissSign_Silver_CA_-_G2.pem 3550s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 3550s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 3550s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 3550s Adding debian:TWCA_Global_Root_CA.pem 3550s Adding debian:TWCA_Root_Certification_Authority.pem 3550s Adding debian:TeliaSonera_Root_CA_v1.pem 3550s Adding debian:Telia_Root_CA_v2.pem 3550s Adding debian:TrustAsia_Global_Root_CA_G3.pem 3550s Adding debian:TrustAsia_Global_Root_CA_G4.pem 3550s Adding debian:Trustwave_Global_Certification_Authority.pem 3550s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 3550s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 3550s Adding debian:TunTrust_Root_CA.pem 3550s Adding debian:UCA_Extended_Validation_Root.pem 3550s Adding debian:UCA_Global_G2_Root.pem 3550s Adding debian:USERTrust_ECC_Certification_Authority.pem 3550s Adding debian:USERTrust_RSA_Certification_Authority.pem 3550s Adding debian:XRamp_Global_CA_Root.pem 3550s Adding debian:certSIGN_ROOT_CA.pem 3550s Adding debian:certSIGN_Root_CA_G2.pem 3550s Adding debian:e-Szigno_Root_CA_2017.pem 3550s Adding debian:ePKI_Root_Certification_Authority.pem 3550s Adding debian:emSign_ECC_Root_CA_-_C3.pem 3550s Adding debian:emSign_ECC_Root_CA_-_G3.pem 3550s Adding debian:emSign_Root_CA_-_C1.pem 3550s Adding debian:emSign_Root_CA_-_G1.pem 3550s Adding debian:vTrus_ECC_Root_CA.pem 3550s Adding debian:vTrus_Root_CA.pem 3550s done. 3550s Setting up openjdk-21-jre:ppc64el (21.0.2+13-2) ... 3550s Setting up junit4 (4.13.2-4) ... 3550s Setting up default-jre-headless (2:1.21-75+exp1) ... 3550s Setting up default-jre (2:1.21-75+exp1) ... 3550s Setting up libnetty-tcnative-java (2.0.28-1build1) ... 3550s Setting up libzookeeper-java (3.9.1-1build1) ... 3550s Setting up zookeeper (3.9.1-1build1) ... 3550s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 3550s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 3550s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 3550s Setting up zookeeperd (3.9.1-1build1) ... 3551s Setting up autopkgtest-satdep (0) ... 3558s (Reading database ... 89323 files and directories currently installed.) 3558s Removing autopkgtest-satdep (0) ... 3562s autopkgtest [18:53:43]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 3562s autopkgtest [18:53:43]: test acceptance-zookeeper: [----------------------- 3567s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 3567s ++ ls -1r /usr/lib/postgresql/ 3567s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 3567s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 3567s + '[' 16 == 10 ']' 3567s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 3567s + SKIP= 3567s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=zookeeper PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave -e dcs_failsafe_mode | ts' 3568s Mar 22 18:53:49 Feature: basic replication # features/basic_replication.feature:1 3568s Mar 22 18:53:49 We should check that the basic bootstrapping, replication and failover works. 3568s Mar 22 18:53:49 Scenario: check replication of a single table # features/basic_replication.feature:4 3568s Mar 22 18:53:49 Given I start postgres0 # features/steps/basic_replication.py:8 3572s Mar 22 18:53:53 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3573s Mar 22 18:53:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3573s Mar 22 18:53:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 3573s Mar 22 18:53:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 3573s Mar 22 18:53:54 When I start postgres1 # features/steps/basic_replication.py:8 3576s Mar 22 18:53:57 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 3580s Mar 22 18:54:01 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 3580s Mar 22 18:54:01 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 3580s Mar 22 18:54:01 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3581s Mar 22 18:54:02 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 3581s Mar 22 18:54:02 3581s Mar 22 18:54:02 Scenario: check restart of sync replica # features/basic_replication.feature:17 3581s Mar 22 18:54:02 Given I shut down postgres2 # features/steps/basic_replication.py:29 3582s Mar 22 18:54:03 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 3582s Mar 22 18:54:03 When I start postgres2 # features/steps/basic_replication.py:8 3585s Mar 22 18:54:06 And I shut down postgres1 # features/steps/basic_replication.py:29 3588s Mar 22 18:54:09 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3589s Mar 22 18:54:10 When I start postgres1 # features/steps/basic_replication.py:8 3592s Mar 22 18:54:13 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3592s Mar 22 18:54:13 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3593s Mar 22 18:54:13 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3593s Mar 22 18:54:14 3593s Mar 22 18:54:14 Scenario: check stuck sync replica # features/basic_replication.feature:28 3593s Mar 22 18:54:14 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 3593s Mar 22 18:54:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 3593s Mar 22 18:54:14 And I create table on postgres0 # features/steps/basic_replication.py:69 3593s Mar 22 18:54:14 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 3594s Mar 22 18:54:15 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 3594s Mar 22 18:54:15 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 3594s Mar 22 18:54:15 And I load data on postgres0 # features/steps/basic_replication.py:80 3595s Mar 22 18:54:16 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 3597s Mar 22 18:54:18 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 3597s Mar 22 18:54:18 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3598s Mar 22 18:54:19 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3598s Mar 22 18:54:19 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 3598s Mar 22 18:54:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 3598s Mar 22 18:54:19 And I drop table on postgres0 # features/steps/basic_replication.py:69 3598s Mar 22 18:54:19 3598s Mar 22 18:54:19 Scenario: check multi sync replication # features/basic_replication.feature:44 3598s Mar 22 18:54:19 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 3598s Mar 22 18:54:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 3598s Mar 22 18:54:19 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3602s Mar 22 18:54:23 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3604s Mar 22 18:54:25 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3604s Mar 22 18:54:25 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 3604s Mar 22 18:54:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 3604s Mar 22 18:54:25 And I shut down postgres1 # features/steps/basic_replication.py:29 3607s Mar 22 18:54:28 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3608s Mar 22 18:54:29 When I start postgres1 # features/steps/basic_replication.py:8 3611s Mar 22 18:54:32 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3612s Mar 22 18:54:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3612s Mar 22 18:54:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3612s Mar 22 18:54:33 3612s Mar 22 18:54:33 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 3612s Mar 22 18:54:33 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3614s Mar 22 18:54:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3614s Mar 22 18:54:35 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3616s Mar 22 18:54:37 And I shut down postgres0 # features/steps/basic_replication.py:29 3617s Mar 22 18:54:38 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3619s Mar 22 18:54:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3619s Mar 22 18:54:40 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 3639s Mar 22 18:55:00 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 3641s Mar 22 18:55:02 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 3641s Mar 22 18:55:02 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 3641s Mar 22 18:55:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3641s Mar 22 18:55:02 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 3641s Mar 22 18:55:02 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3644s Mar 22 18:55:05 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3644s Mar 22 18:55:05 3644s Mar 22 18:55:05 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 3644s Mar 22 18:55:05 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 3644s Mar 22 18:55:05 And I start postgres0 # features/steps/basic_replication.py:8 3644s Mar 22 18:55:05 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 3648s Mar 22 18:55:09 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 3648s Mar 22 18:55:09 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 3651s Mar 22 18:55:12 3651s Mar 22 18:55:12 @reject-duplicate-name 3651s Mar 22 18:55:12 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 3651s Mar 22 18:55:12 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 3654s Mar 22 18:55:15 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:117 3658s Mar 22 18:55:19 3658s Mar 22 18:55:19 Feature: cascading replication # features/cascading_replication.feature:1 3658s Mar 22 18:55:19 We should check that patroni can do base backup and streaming from the replica 3658s Mar 22 18:55:19 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 3658s Mar 22 18:55:19 Given I start postgres0 # features/steps/basic_replication.py:8 3662s Mar 22 18:55:23 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3663s Mar 22 18:55:24 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 3667s Mar 22 18:55:28 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 3672s Mar 22 18:55:33 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 3672s Mar 22 18:55:33 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 3672s Mar 22 18:55:33 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3672s Mar 22 18:55:33 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3676s Mar 22 18:55:37 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 3676s Mar 22 18:55:37 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 3681s Mar 22 18:55:42 3681s SKIP FEATURE citus: Citus extenstion isn't available 3681s Mar 22 18:55:42 Feature: citus # features/citus.feature:1 3681s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 3681s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 3681s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 3681s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 3681s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 3681s Mar 22 18:55:42 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 3681s Mar 22 18:55:42 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 3681s Mar 22 18:55:42 Given I start postgres0 in citus group 0 # None 3681s Mar 22 18:55:42 And I start postgres2 in citus group 1 # None 3681s Mar 22 18:55:42 Then postgres0 is a leader in a group 0 after 10 seconds # None 3681s Mar 22 18:55:42 And postgres2 is a leader in a group 1 after 10 seconds # None 3681s Mar 22 18:55:42 When I start postgres1 in citus group 0 # None 3681s Mar 22 18:55:42 And I start postgres3 in citus group 1 # None 3681s Mar 22 18:55:42 Then replication works from postgres0 to postgres1 after 15 seconds # None 3681s Mar 22 18:55:42 Then replication works from postgres2 to postgres3 after 15 seconds # None 3681s Mar 22 18:55:42 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 3681s Mar 22 18:55:42 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3682s Mar 22 18:55:42 3682s Mar 22 18:55:42 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 3682s Mar 22 18:55:42 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 3682s Mar 22 18:55:42 Then postgres1 role is the primary after 10 seconds # None 3682s Mar 22 18:55:42 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 3682s Mar 22 18:55:42 And replication works from postgres1 to postgres0 after 15 seconds # None 3682s Mar 22 18:55:42 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3682s Mar 22 18:55:42 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 3682s Mar 22 18:55:42 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 3682s Mar 22 18:55:42 Then postgres0 role is the primary after 10 seconds # None 3682s Mar 22 18:55:42 And replication works from postgres0 to postgres1 after 15 seconds # None 3682s Mar 22 18:55:42 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3682s Mar 22 18:55:42 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 3682s Mar 22 18:55:42 3682s Mar 22 18:55:42 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 3682s Mar 22 18:55:42 Given I create a distributed table on postgres0 # None 3682s Mar 22 18:55:42 And I start a thread inserting data on postgres0 # None 3682s Mar 22 18:55:42 When I run patronictl.py switchover batman --group 1 --force # None 3682s Mar 22 18:55:42 Then I receive a response returncode 0 # None 3682s Mar 22 18:55:42 And postgres3 role is the primary after 10 seconds # None 3682s Mar 22 18:55:42 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 3682s Mar 22 18:55:42 And replication works from postgres3 to postgres2 after 15 seconds # None 3682s Mar 22 18:55:42 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3682s Mar 22 18:55:42 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 3682s Mar 22 18:55:42 And a thread is still alive # None 3682s Mar 22 18:55:42 When I run patronictl.py switchover batman --group 1 --force # None 3682s Mar 22 18:55:42 Then I receive a response returncode 0 # None 3682s Mar 22 18:55:42 And postgres2 role is the primary after 10 seconds # None 3682s Mar 22 18:55:42 And replication works from postgres2 to postgres3 after 15 seconds # None 3682s Mar 22 18:55:42 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3682s Mar 22 18:55:42 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 3682s Mar 22 18:55:42 And a thread is still alive # None 3682s Mar 22 18:55:42 When I stop a thread # None 3682s Mar 22 18:55:42 Then a distributed table on postgres0 has expected rows # None 3682s Mar 22 18:55:42 3682s Mar 22 18:55:42 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 3682s Mar 22 18:55:42 Given I cleanup a distributed table on postgres0 # None 3682s Mar 22 18:55:42 And I start a thread inserting data on postgres0 # None 3682s Mar 22 18:55:42 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3682s Mar 22 18:55:42 Then I receive a response returncode 0 # None 3682s Mar 22 18:55:42 And postgres2 role is the primary after 10 seconds # None 3682s Mar 22 18:55:42 And replication works from postgres2 to postgres3 after 15 seconds # None 3682s Mar 22 18:55:42 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3682s Mar 22 18:55:42 And a thread is still alive # None 3682s Mar 22 18:55:42 When I stop a thread # None 3682s Mar 22 18:55:42 Then a distributed table on postgres0 has expected rows # None 3682s Mar 22 18:55:42 3682s Mar 22 18:55:42 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 3682s Mar 22 18:55:42 Given I start postgres4 in citus group 2 # None 3682s Mar 22 18:55:42 Then postgres4 is a leader in a group 2 after 10 seconds # None 3682s Mar 22 18:55:42 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 3682s Mar 22 18:55:42 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 3682s Mar 22 18:55:42 Then I receive a response returncode 0 # None 3682s Mar 22 18:55:42 And I receive a response output "+ttl: 20" # None 3682s Mar 22 18:55:42 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 3682s Mar 22 18:55:42 When I shut down postgres4 # None 3682s Mar 22 18:55:42 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 3682s Mar 22 18:55:42 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3682s Mar 22 18:55:42 Then a transaction finishes in 20 seconds # None 3682s Mar 22 18:55:42 3682s Mar 22 18:55:42 Feature: custom bootstrap # features/custom_bootstrap.feature:1 3682s Mar 22 18:55:42 We should check that patroni can bootstrap a new cluster from a backup 3682s Mar 22 18:55:42 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 3682s Mar 22 18:55:42 Given I start postgres0 # features/steps/basic_replication.py:8 3686s Mar 22 18:55:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3686s Mar 22 18:55:46 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 3686s Mar 22 18:55:46 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 3690s Mar 22 18:55:51 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3691s Mar 22 18:55:52 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 3691s Mar 22 18:55:52 3691s Mar 22 18:55:52 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 3691s Mar 22 18:55:52 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 3691s Mar 22 18:55:52 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3691s Mar 22 18:55:52 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 3696s Mar 22 18:55:57 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 3697s Mar 22 18:55:58 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 3703s Mar 22 18:56:04 3703s Mar 22 18:56:04 Feature: ignored slots # features/ignored_slots.feature:1 3703s Mar 22 18:56:04 3703s Mar 22 18:56:04 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 3703s Mar 22 18:56:04 Given I start postgres1 # features/steps/basic_replication.py:8 3707s Mar 22 18:56:08 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3709s Mar 22 18:56:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3709s Mar 22 18:56:09 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 3709s Mar 22 18:56:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 3709s Mar 22 18:56:10 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 3709s Mar 22 18:56:10 When I shut down postgres1 # features/steps/basic_replication.py:29 3711s Mar 22 18:56:12 And I start postgres1 # features/steps/basic_replication.py:8 3714s Mar 22 18:56:15 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3715s Mar 22 18:56:16 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3716s Mar 22 18:56:17 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 3716s Mar 22 18:56:17 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3716s Mar 22 18:56:17 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3716s Mar 22 18:56:17 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3716s Mar 22 18:56:17 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3716s Mar 22 18:56:17 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3716s Mar 22 18:56:17 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3716s Mar 22 18:56:17 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3716s Mar 22 18:56:17 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3716s Mar 22 18:56:17 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3716s Mar 22 18:56:17 When I start postgres0 # features/steps/basic_replication.py:8 3719s Mar 22 18:56:20 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3720s Mar 22 18:56:21 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 3720s Mar 22 18:56:21 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 3724s Mar 22 18:56:25 When I shut down postgres1 # features/steps/basic_replication.py:29 3726s Mar 22 18:56:27 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3727s Mar 22 18:56:28 When I start postgres1 # features/steps/basic_replication.py:8 3730s Mar 22 18:56:31 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 3730s Mar 22 18:56:31 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3731s Mar 22 18:56:32 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3733s Mar 22 18:56:34 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3733s Mar 22 18:56:34 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3733s Mar 22 18:56:34 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3733s Mar 22 18:56:34 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3733s Mar 22 18:56:34 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 3733s Mar 22 18:56:34 When I shut down postgres0 # features/steps/basic_replication.py:29 3735s Mar 22 18:56:36 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3736s Mar 22 18:56:37 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3736s Mar 22 18:56:37 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3736s Mar 22 18:56:37 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3736s Mar 22 18:56:37 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3738s Mar 22 18:56:39 3738s Mar 22 18:56:39 Feature: patroni api # features/patroni_api.feature:1 3738s Mar 22 18:56:39 We should check that patroni correctly responds to valid and not-valid API requests. 3738s Mar 22 18:56:39 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 3738s Mar 22 18:56:39 Given I start postgres0 # features/steps/basic_replication.py:8 3742s Mar 22 18:56:43 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3742s Mar 22 18:56:43 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3742s Mar 22 18:56:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 And I receive a response state running # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 And I receive a response role master # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 3742s Mar 22 18:56:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 3742s Mar 22 18:56:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3742s Mar 22 18:56:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 3742s Mar 22 18:56:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 3742s Mar 22 18:56:43 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 3744s Mar 22 18:56:45 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 3744s Mar 22 18:56:45 Then I receive a response code 412 # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 3744s Mar 22 18:56:45 Then I receive a response code 400 # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 3744s Mar 22 18:56:45 Then I receive a response code 400 # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 3744s Mar 22 18:56:45 Scenario: check local configuration reload # features/patroni_api.feature:32 3744s Mar 22 18:56:45 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 3744s Mar 22 18:56:45 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 3744s Mar 22 18:56:45 Then I receive a response code 202 # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 3744s Mar 22 18:56:45 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 3744s Mar 22 18:56:45 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 3744s Mar 22 18:56:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 3744s Mar 22 18:56:45 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 3745s Mar 22 18:56:46 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 3745s Mar 22 18:56:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 3745s Mar 22 18:56:46 And I receive a response ttl 20 # features/steps/patroni_api.py:98 3745s Mar 22 18:56:46 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3745s Mar 22 18:56:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 3745s Mar 22 18:56:46 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 3745s Mar 22 18:56:46 And I sleep for 4 seconds # features/steps/patroni_api.py:39 3749s Mar 22 18:56:50 3749s Mar 22 18:56:50 Scenario: check the scheduled restart # features/patroni_api.feature:49 3749s Mar 22 18:56:50 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 3751s Mar 22 18:56:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3751s Mar 22 18:56:52 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 3751s Mar 22 18:56:52 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 3751s Mar 22 18:56:52 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 3751s Mar 22 18:56:52 Then I receive a response code 202 # features/steps/patroni_api.py:98 3751s Mar 22 18:56:52 And I sleep for 8 seconds # features/steps/patroni_api.py:39 3759s Mar 22 18:57:00 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 3759s Mar 22 18:57:00 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 3759s Mar 22 18:57:00 Then I receive a response code 202 # features/steps/patroni_api.py:98 3759s Mar 22 18:57:00 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 3766s Mar 22 18:57:07 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3767s Mar 22 18:57:08 3767s Mar 22 18:57:08 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 3767s Mar 22 18:57:08 Given I start postgres1 # features/steps/basic_replication.py:8 3771s Mar 22 18:57:11 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 3772s Mar 22 18:57:13 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 3773s Mar 22 18:57:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3773s Mar 22 18:57:14 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3773s Mar 22 18:57:14 waiting for server to shut down.... done 3773s Mar 22 18:57:14 server stopped 3773s Mar 22 18:57:14 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3773s Mar 22 18:57:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 3773s Mar 22 18:57:14 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 3774s Mar 22 18:57:15 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3778s Mar 22 18:57:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3778s Mar 22 18:57:19 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 3779s Mar 22 18:57:20 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3781s Mar 22 18:57:22 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3781s Mar 22 18:57:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 3781s Mar 22 18:57:22 And I receive a response state running # features/steps/patroni_api.py:98 3781s Mar 22 18:57:22 And I receive a response role replica # features/steps/patroni_api.py:98 3781s Mar 22 18:57:22 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 3785s Mar 22 18:57:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3785s Mar 22 18:57:26 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 3785s Mar 22 18:57:26 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 3786s Mar 22 18:57:27 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 3786s Mar 22 18:57:27 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3789s Mar 22 18:57:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3789s Mar 22 18:57:30 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 3789s Mar 22 18:57:30 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 3790s Mar 22 18:57:31 3790s Mar 22 18:57:31 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 3790s Mar 22 18:57:31 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 3792s Mar 22 18:57:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 3792s Mar 22 18:57:33 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 3792s Mar 22 18:57:33 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3792s Mar 22 18:57:33 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 3794s Mar 22 18:57:35 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 3796s Mar 22 18:57:37 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3797s Mar 22 18:57:38 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3797s Mar 22 18:57:38 Then I receive a response code 503 # features/steps/patroni_api.py:98 3797s Mar 22 18:57:38 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3797s Mar 22 18:57:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 3797s Mar 22 18:57:38 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3797s Mar 22 18:57:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 3797s Mar 22 18:57:38 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3797s Mar 22 18:57:38 Then I receive a response code 503 # features/steps/patroni_api.py:98 3797s Mar 22 18:57:38 3797s Mar 22 18:57:38 Scenario: check the scheduled switchover # features/patroni_api.feature:107 3797s Mar 22 18:57:38 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3799s Mar 22 18:57:40 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3799s Mar 22 18:57:40 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 3799s Mar 22 18:57:40 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 3801s Mar 22 18:57:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3801s Mar 22 18:57:42 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3803s Mar 22 18:57:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3803s Mar 22 18:57:44 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 3813s Mar 22 18:57:54 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3813s Mar 22 18:57:54 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 3815s Mar 22 18:57:56 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 3815s Mar 22 18:57:56 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3817s Mar 22 18:57:58 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3817s Mar 22 18:57:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 3817s Mar 22 18:57:58 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3817s Mar 22 18:57:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 3817s Mar 22 18:57:58 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3817s Mar 22 18:57:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 3817s Mar 22 18:57:58 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3817s Mar 22 18:57:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 3821s Mar 22 18:58:02 3821s Mar 22 18:58:02 Feature: permanent slots # features/permanent_slots.feature:1 3821s Mar 22 18:58:02 3821s Mar 22 18:58:02 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 3821s Mar 22 18:58:02 Given I start postgres0 # features/steps/basic_replication.py:8 3825s Mar 22 18:58:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3826s Mar 22 18:58:07 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3826s Mar 22 18:58:07 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 3826s Mar 22 18:58:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 3826s Mar 22 18:58:07 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3827s Mar 22 18:58:08 When I start postgres1 # features/steps/basic_replication.py:8 3830s Mar 22 18:58:11 And I start postgres2 # features/steps/basic_replication.py:8 3834s Mar 22 18:58:15 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 3838s Mar 22 18:58:19 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3838s Mar 22 18:58:19 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 3838s Mar 22 18:58:19 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 3838s Mar 22 18:58:19 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3838s Mar 22 18:58:19 3838s Mar 22 18:58:19 @slot-advance 3838s Mar 22 18:58:19 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 3838s Mar 22 18:58:19 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3841s Mar 22 18:58:22 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 3841s Mar 22 18:58:22 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3842s Mar 22 18:58:23 3842s Mar 22 18:58:23 @slot-advance 3842s Mar 22 18:58:23 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 3842s Mar 22 18:58:23 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3847s Mar 22 18:58:28 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3847s Mar 22 18:58:28 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3848s Mar 22 18:58:29 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3849s Mar 22 18:58:30 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3849s Mar 22 18:58:30 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 3850s Mar 22 18:58:30 @slot-advance 3850s Mar 22 18:58:30 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 3850s Mar 22 18:58:30 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 3850s Mar 22 18:58:30 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3850s Mar 22 18:58:30 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3850s Mar 22 18:58:30 3850s Mar 22 18:58:30 @slot-advance 3850s Mar 22 18:58:30 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 3850s Mar 22 18:58:30 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 3850s Mar 22 18:58:30 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 3850s Mar 22 18:58:30 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 3850s Mar 22 18:58:31 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 3852s Mar 22 18:58:33 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 3854s Mar 22 18:58:35 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3854s Mar 22 18:58:35 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3854s Mar 22 18:58:35 3854s Mar 22 18:58:35 @slot-advance 3854s Mar 22 18:58:35 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 3854s Mar 22 18:58:35 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 3854s Mar 22 18:58:35 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 3854s Mar 22 18:58:35 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 3854s Mar 22 18:58:35 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 3854s Mar 22 18:58:35 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 3854s Mar 22 18:58:35 3854s Mar 22 18:58:35 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 3854s Mar 22 18:58:35 Given I shut down postgres3 # features/steps/basic_replication.py:29 3855s Mar 22 18:58:36 And I shut down postgres2 # features/steps/basic_replication.py:29 3856s Mar 22 18:58:37 And I shut down postgres0 # features/steps/basic_replication.py:29 3858s Mar 22 18:58:39 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3858s Mar 22 18:58:39 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 3858s Mar 22 18:58:39 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3860s Mar 22 18:58:41 3860s Mar 22 18:58:41 Feature: priority replication # features/priority_failover.feature:1 3860s Mar 22 18:58:41 We should check that we can give nodes priority during failover 3860s Mar 22 18:58:41 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 3860s Mar 22 18:58:41 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3864s Mar 22 18:58:45 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 3867s Mar 22 18:58:48 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 3868s Mar 22 18:58:49 When I shut down postgres0 # features/steps/basic_replication.py:29 3870s Mar 22 18:58:51 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 3872s Mar 22 18:58:53 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 3872s Mar 22 18:58:53 When I start postgres0 # features/steps/basic_replication.py:8 3875s Mar 22 18:58:56 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3876s Mar 22 18:58:57 3876s Mar 22 18:58:57 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 3876s Mar 22 18:58:57 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3880s Mar 22 18:59:01 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3884s Mar 22 18:59:05 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 3885s Mar 22 18:59:06 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 3885s Mar 22 18:59:06 When I shut down postgres0 # features/steps/basic_replication.py:29 3887s Mar 22 18:59:08 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3887s Mar 22 18:59:08 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 3887s Mar 22 18:59:08 3887s Mar 22 18:59:08 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3887s Mar 22 18:59:08 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3887s Mar 22 18:59:08 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3887s Mar 22 18:59:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 3887s Mar 22 18:59:08 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 3889s Mar 22 18:59:10 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3890s Mar 22 18:59:11 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3890s Mar 22 18:59:11 Then I receive a response code 412 # features/steps/patroni_api.py:98 3890s Mar 22 18:59:11 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3890s Mar 22 18:59:11 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3890s Mar 22 18:59:11 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3890s Mar 22 18:59:11 Then I receive a response code 202 # features/steps/patroni_api.py:98 3890s Mar 22 18:59:11 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 3891s Mar 22 18:59:12 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3892s Mar 22 18:59:13 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3895s Mar 22 18:59:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 3895s Mar 22 18:59:16 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3900s Mar 22 18:59:21 3900s Mar 22 18:59:21 Feature: recovery # features/recovery.feature:1 3900s Mar 22 18:59:21 We want to check that crashed postgres is started back 3900s Mar 22 18:59:21 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3900s Mar 22 18:59:21 Given I start postgres0 # features/steps/basic_replication.py:8 3904s Mar 22 18:59:25 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3905s Mar 22 18:59:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3905s Mar 22 18:59:26 When I start postgres1 # features/steps/basic_replication.py:8 3908s Mar 22 18:59:29 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 3908s Mar 22 18:59:29 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3913s Mar 22 18:59:34 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3913s Mar 22 18:59:34 waiting for server to shut down.... done 3913s Mar 22 18:59:34 server stopped 3913s Mar 22 18:59:34 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3916s Mar 22 18:59:37 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3916s Mar 22 18:59:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 3916s Mar 22 18:59:37 And I receive a response role master # features/steps/patroni_api.py:98 3916s Mar 22 18:59:37 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3916s Mar 22 18:59:37 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3916s Mar 22 18:59:37 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 3918s Mar 22 18:59:39 3918s Mar 22 18:59:39 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3918s Mar 22 18:59:39 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 3918s Mar 22 18:59:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 3918s Mar 22 18:59:39 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3918s Mar 22 18:59:39 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3918s Mar 22 18:59:39 waiting for server to shut down.... done 3918s Mar 22 18:59:39 server stopped 3918s Mar 22 18:59:39 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3920s Mar 22 18:59:41 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3924s Mar 22 18:59:45 3924s Mar 22 18:59:45 Feature: standby cluster # features/standby_cluster.feature:1 3924s Mar 22 18:59:45 3924s Mar 22 18:59:45 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3924s Mar 22 18:59:45 Given I start postgres1 # features/steps/basic_replication.py:8 3928s Mar 22 18:59:49 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3929s Mar 22 18:59:50 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3929s Mar 22 18:59:50 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 3929s Mar 22 18:59:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 3929s Mar 22 18:59:50 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3929s Mar 22 18:59:50 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3932s Mar 22 18:59:53 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 3932s Mar 22 18:59:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 3932s Mar 22 18:59:53 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3933s Mar 22 18:59:54 When I start postgres0 # features/steps/basic_replication.py:8 3936s Mar 22 18:59:57 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3937s Mar 22 18:59:58 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 3938s Mar 22 18:59:59 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3938s Mar 22 18:59:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 3938s Mar 22 18:59:59 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3938s Mar 22 18:59:59 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3938s Mar 22 18:59:59 3938s Mar 22 18:59:59 @slot-advance 3938s Mar 22 18:59:59 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3938s Mar 22 18:59:59 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3942s Mar 22 19:00:03 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3949s Mar 22 19:00:10 3949s Mar 22 19:00:10 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3949s Mar 22 19:00:10 When I shut down postgres1 # features/steps/basic_replication.py:29 3951s Mar 22 19:00:12 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3951s Mar 22 19:00:12 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 3952s Mar 22 19:00:13 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3952s Mar 22 19:00:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 3952s Mar 22 19:00:13 3952s Mar 22 19:00:13 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3952s Mar 22 19:00:13 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3955s Mar 22 19:00:16 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3956s Mar 22 19:00:17 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 3956s Mar 22 19:00:17 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3957s Mar 22 19:00:18 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3957s Mar 22 19:00:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 3957s Mar 22 19:00:18 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3957s Mar 22 19:00:18 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3960s Mar 22 19:00:21 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3960s Mar 22 19:00:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 3960s Mar 22 19:00:21 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3960s Mar 22 19:00:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 3960s Mar 22 19:00:21 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3960s Mar 22 19:00:21 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3960s Mar 22 19:00:21 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3963s Mar 22 19:00:24 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 3963s Mar 22 19:00:24 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 3969s Mar 22 19:00:30 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3969s Mar 22 19:00:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 3969s Mar 22 19:00:30 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3969s Mar 22 19:00:30 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3969s Mar 22 19:00:30 3969s Mar 22 19:00:30 Scenario: check switchover # features/standby_cluster.feature:56 3969s Mar 22 19:00:30 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3973s Mar 22 19:00:34 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3973s Mar 22 19:00:34 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3975s Mar 22 19:00:36 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 3975s Mar 22 19:00:36 3975s Mar 22 19:00:36 Scenario: check failover # features/standby_cluster.feature:62 3975s Mar 22 19:00:36 When I kill postgres2 # features/steps/basic_replication.py:34 3976s Mar 22 19:00:37 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3976s Mar 22 19:00:37 waiting for server to shut down.... done 3976s Mar 22 19:00:37 server stopped 3976s Mar 22 19:00:37 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3996s Mar 22 19:00:57 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3996s Mar 22 19:00:57 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3996s Mar 22 19:00:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 3996s Mar 22 19:00:57 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3996s Mar 22 19:00:57 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 3997s Mar 22 19:00:58 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 4001s Mar 22 19:01:02 4001s Mar 22 19:01:02 Feature: watchdog # features/watchdog.feature:1 4001s Mar 22 19:01:02 Verify that watchdog gets pinged and triggered under appropriate circumstances. 4001s Mar 22 19:01:02 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 4001s Mar 22 19:01:02 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 4005s Mar 22 19:01:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4006s Mar 22 19:01:07 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4006s Mar 22 19:01:07 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 4007s Mar 22 19:01:08 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 4007s Mar 22 19:01:08 4007s Mar 22 19:01:08 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 4007s Mar 22 19:01:08 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 4009s Mar 22 19:01:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4009s Mar 22 19:01:10 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 4009s Mar 22 19:01:10 When I sleep for 4 seconds # features/steps/patroni_api.py:39 4013s Mar 22 19:01:14 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 4013s Mar 22 19:01:14 4013s Mar 22 19:01:14 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 4013s Mar 22 19:01:14 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 4015s Mar 22 19:01:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4015s Mar 22 19:01:16 When I sleep for 2 seconds # features/steps/patroni_api.py:39 4017s Mar 22 19:01:18 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 4017s Mar 22 19:01:18 4017s Mar 22 19:01:18 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 4017s Mar 22 19:01:18 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 4017s Mar 22 19:01:18 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 4019s Mar 22 19:01:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4019s Mar 22 19:01:19 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 4019s Mar 22 19:01:19 4019s Mar 22 19:01:19 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 4019s Mar 22 19:01:19 Given I shut down postgres0 # features/steps/basic_replication.py:29 4021s Mar 22 19:01:21 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 4021s Mar 22 19:01:21 4021s Mar 22 19:01:21 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 4021s Mar 22 19:01:21 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 4021s Mar 22 19:01:21 And I start postgres0 with watchdog # features/steps/watchdog.py:16 4024s Mar 22 19:01:25 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4025s Mar 22 19:01:26 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 4025s Mar 22 19:01:26 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 4048s Mar 22 19:01:49 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.5889.948436 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6894.672516 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6083.464081 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8608.858649 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6336.266105 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6246.766116 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7402.868844 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7432.073488 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7812.235555 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8663.540931 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6725.721371 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7003.724181 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8322.581319 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6964.103346 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6944.949617 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7758.806587 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6078.412410 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.5856.923673 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8410.609179 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8103.742473 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6426.868901 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7354.230675 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7050.669054 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.5939.524159 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7252.271817 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7244.703860 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7858.129869 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6527.912484 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6226.148313 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8684.099403 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7113.848743 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8217.995750 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8512.627794 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7657.267580 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6470.738311 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8656.243329 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6039.327521 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8668.890633 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8058.790636 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7240.482889 4048s Mar 22 19:01:49 Skipping duplicate data .coverage.autopkgtest.7043.836034 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7511.416589 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6814.149695 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7695.287693 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.5807.589985 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.8280.060020 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6623.955812 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7075.347743 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6291.146410 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6138.262073 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.7473.561894 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.5973.583812 4048s Mar 22 19:01:49 Combined data file .coverage.autopkgtest.6681.686948 4050s Mar 22 19:01:51 Name Stmts Miss Cover 4050s Mar 22 19:01:51 -------------------------------------------------------------------------------------------- 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/api.py 768 289 62% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/config.py 416 89 79% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 96 86% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 287 69 76% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/ha.py 1239 372 70% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/log.py 155 31 80% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 181 78% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 219 73% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 169 59% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 34 90% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/utils.py 318 110 65% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/six.py 504 249 51% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 4050s Mar 22 19:01:51 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 4050s Mar 22 19:01:51 patroni/__init__.py 13 2 85% 4050s Mar 22 19:01:51 patroni/__main__.py 199 199 0% 4050s Mar 22 19:01:51 patroni/api.py 768 768 0% 4050s Mar 22 19:01:51 patroni/async_executor.py 96 69 28% 4050s Mar 22 19:01:51 patroni/collections.py 43 11 74% 4050s Mar 22 19:01:51 patroni/config.py 416 204 51% 4050s Mar 22 19:01:51 patroni/config_generator.py 210 210 0% 4050s Mar 22 19:01:51 patroni/ctl.py 940 409 56% 4050s Mar 22 19:01:51 patroni/daemon.py 76 76 0% 4050s Mar 22 19:01:51 patroni/dcs/__init__.py 667 267 60% 4050s Mar 22 19:01:51 patroni/dcs/consul.py 482 482 0% 4050s Mar 22 19:01:51 patroni/dcs/etcd3.py 683 683 0% 4050s Mar 22 19:01:51 patroni/dcs/etcd.py 602 602 0% 4050s Mar 22 19:01:51 patroni/dcs/exhibitor.py 60 60 0% 4050s Mar 22 19:01:51 patroni/dcs/kubernetes.py 935 935 0% 4050s Mar 22 19:01:51 patroni/dcs/raft.py 318 318 0% 4050s Mar 22 19:01:51 patroni/dcs/zookeeper.py 287 152 47% 4050s Mar 22 19:01:51 patroni/exceptions.py 16 1 94% 4050s Mar 22 19:01:51 patroni/file_perm.py 43 15 65% 4050s Mar 22 19:01:51 patroni/ha.py 1239 1239 0% 4050s Mar 22 19:01:51 patroni/log.py 155 155 0% 4050s Mar 22 19:01:51 patroni/postgresql/__init__.py 826 655 21% 4050s Mar 22 19:01:51 patroni/postgresql/bootstrap.py 253 224 11% 4050s Mar 22 19:01:51 patroni/postgresql/callback_executor.py 55 34 38% 4050s Mar 22 19:01:51 patroni/postgresql/cancellable.py 104 84 19% 4050s Mar 22 19:01:51 patroni/postgresql/citus.py 258 217 16% 4050s Mar 22 19:01:51 patroni/postgresql/config.py 806 693 14% 4050s Mar 22 19:01:51 patroni/postgresql/connection.py 75 50 33% 4050s Mar 22 19:01:51 patroni/postgresql/misc.py 41 29 29% 4050s Mar 22 19:01:51 patroni/postgresql/postmaster.py 170 139 18% 4050s Mar 22 19:01:51 patroni/postgresql/rewind.py 415 415 0% 4050s Mar 22 19:01:51 patroni/postgresql/slots.py 332 285 14% 4050s Mar 22 19:01:51 patroni/postgresql/sync.py 129 96 26% 4050s Mar 22 19:01:51 patroni/postgresql/validator.py 165 53 68% 4050s Mar 22 19:01:51 patroni/psycopg.py 41 27 34% 4050s Mar 22 19:01:51 patroni/raft_controller.py 22 22 0% 4050s Mar 22 19:01:51 patroni/request.py 62 6 90% 4050s Mar 22 19:01:51 patroni/scripts/__init__.py 0 0 100% 4050s Mar 22 19:01:51 patroni/scripts/aws.py 59 59 0% 4050s Mar 22 19:01:51 patroni/scripts/wale_restore.py 207 207 0% 4050s Mar 22 19:01:51 patroni/tags.py 35 10 71% 4050s Mar 22 19:01:51 patroni/utils.py 318 201 37% 4050s Mar 22 19:01:51 patroni/validator.py 284 201 29% 4050s Mar 22 19:01:51 patroni/version.py 1 0 100% 4050s Mar 22 19:01:51 patroni/watchdog/__init__.py 2 2 0% 4050s Mar 22 19:01:51 patroni/watchdog/base.py 203 203 0% 4050s Mar 22 19:01:51 patroni/watchdog/linux.py 135 135 0% 4050s Mar 22 19:01:51 -------------------------------------------------------------------------------------------- 4050s Mar 22 19:01:51 TOTAL 39235 23591 40% 4050s Mar 22 19:01:51 10 features passed, 0 failed, 1 skipped 4050s Mar 22 19:01:51 42 scenarios passed, 0 failed, 5 skipped 4050s Mar 22 19:01:51 431 steps passed, 0 failed, 61 skipped, 0 undefined 4050s Mar 22 19:01:51 Took 7m21.720s 4050s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 4050s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 4050s + rm -f '/tmp/pgpass?' 4050s ++ id -u 4050s + '[' 0 -eq 0 ']' 4050s + '[' -x /etc/init.d/zookeeper ']' 4050s + /etc/init.d/zookeeper stop 4051s Stopping zookeeper (via systemctl): zookeeper.service. 4051s autopkgtest [19:01:52]: test acceptance-zookeeper: -----------------------] 4052s autopkgtest [19:01:53]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 4052s acceptance-zookeeper PASS 4052s autopkgtest [19:01:53]: test acceptance-raft: preparing testbed 4202s autopkgtest [19:04:23]: testbed dpkg architecture: ppc64el 4202s autopkgtest [19:04:23]: testbed apt version: 2.7.12 4202s autopkgtest [19:04:23]: @@@@@@@@@@@@@@@@@@@@ test bed setup 4203s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 4203s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 4204s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4047 kB] 4206s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 4206s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 4206s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [673 kB] 4206s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 4206s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 4206s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 4206s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4164 kB] 4207s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 4207s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [59.4 kB] 4207s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 4209s Fetched 9638 kB in 4s (2200 kB/s) 4210s Reading package lists... 4212s Reading package lists... 4212s Building dependency tree... 4212s Reading state information... 4212s Calculating upgrade... 4212s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4212s Reading package lists... 4213s Building dependency tree... 4213s Reading state information... 4213s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4213s sh: Attempting to set up Debian/Ubuntu apt sources automatically 4213s sh: Distribution appears to be Ubuntu 4214s Reading package lists... 4214s Building dependency tree... 4214s Reading state information... 4214s eatmydata is already the newest version (131-1). 4214s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4214s Reading package lists... 4215s Building dependency tree... 4215s Reading state information... 4215s dbus is already the newest version (1.14.10-4ubuntu1). 4215s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4215s Reading package lists... 4215s Building dependency tree... 4215s Reading state information... 4215s rng-tools-debian is already the newest version (2.4). 4215s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4215s Reading package lists... 4215s Building dependency tree... 4215s Reading state information... 4215s The following packages will be REMOVED: 4215s cloud-init* python3-configobj* python3-debconf* 4216s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 4216s After this operation, 3256 kB disk space will be freed. 4216s (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 ... 70156 files and directories currently installed.) 4216s Removing cloud-init (24.1.2-0ubuntu1) ... 4216s Removing python3-configobj (5.0.8-3) ... 4216s Removing python3-debconf (1.5.86) ... 4216s Processing triggers for man-db (2.12.0-3) ... 4217s (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 ... 69767 files and directories currently installed.) 4217s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 4217s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 4217s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 4217s invoke-rc.d: policy-rc.d denied execution of try-restart. 4218s Reading package lists... 4218s Building dependency tree... 4218s Reading state information... 4218s linux-generic is already the newest version (6.8.0-11.11+1). 4218s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4218s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 4218s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 4219s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 4221s Reading package lists... 4221s Reading package lists... 4221s Building dependency tree... 4221s Reading state information... 4221s Calculating upgrade... 4221s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4221s Reading package lists... 4221s Building dependency tree... 4221s Reading state information... 4222s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4222s autopkgtest [19:04:43]: rebooting testbed after setup commands that affected boot 4395s Reading package lists... 4396s Building dependency tree... 4396s Reading state information... 4396s Starting pkgProblemResolver with broken count: 0 4396s Starting 2 pkgProblemResolver with broken count: 0 4396s Done 4396s The following additional packages will be installed: 4396s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 4396s libjs-sphinxdoc libjs-underscore libjson-perl libllvm17 libpq5 4396s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 4396s patroni-doc postgresql postgresql-16 postgresql-client-16 4396s postgresql-client-common postgresql-common python3-behave python3-cdiff 4396s python3-click python3-colorama python3-coverage python3-dateutil 4396s python3-parse python3-parse-type python3-prettytable python3-psutil 4396s python3-psycopg2 python3-pysyncobj python3-wcwidth sphinx-rtd-theme-common 4396s ssl-cert 4396s Suggested packages: 4396s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 4396s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 4396s Recommended packages: 4396s javascript-common libjson-xs-perl 4396s The following NEW packages will be installed: 4396s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 4396s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 4396s libllvm17 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 4396s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 4396s postgresql-client-common postgresql-common python3-behave python3-cdiff 4396s python3-click python3-colorama python3-coverage python3-dateutil 4396s python3-parse python3-parse-type python3-prettytable python3-psutil 4396s python3-psycopg2 python3-pysyncobj python3-wcwidth sphinx-rtd-theme-common 4396s ssl-cert 4396s 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. 4396s Need to get 53.1 MB/53.1 MB of archives. 4396s After this operation, 230 MB of additional disk space will be used. 4396s Get:1 /tmp/autopkgtest.gBYNUz/6-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [752 B] 4396s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-lato all 2.015-1 [2781 kB] 4397s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 4397s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-common all 257 [36.2 kB] 4397s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el ssl-cert all 1.1.2ubuntu1 [17.8 kB] 4397s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-common all 257 [162 kB] 4397s Get:7 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 4397s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el libio-pty-perl ppc64el 1:1.20-1 [31.7 kB] 4397s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libipc-run-perl all 20231003.0-1 [92.1 kB] 4397s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 4397s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 4397s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-sphinxdoc all 7.2.6-4 [149 kB] 4397s Get:13 http://ftpmaster.internal/ubuntu noble/main ppc64el libllvm17 ppc64el 1:17.0.6-5build1 [27.3 MB] 4399s Get:14 http://ftpmaster.internal/ubuntu noble/main ppc64el libpq5 ppc64el 16.2-1 [170 kB] 4399s Get:15 http://ftpmaster.internal/ubuntu noble/main ppc64el libtime-duration-perl all 1.21-2 [12.3 kB] 4399s Get:16 http://ftpmaster.internal/ubuntu noble/main ppc64el libtimedate-perl all 2.3300-2 [34.0 kB] 4400s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.35-1 [185 kB] 4400s Get:18 http://ftpmaster.internal/ubuntu noble/universe ppc64el moreutils ppc64el 0.69-1 [59.1 kB] 4400s Get:19 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cdiff all 1.0-1.1 [16.4 kB] 4400s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 4400s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-click all 8.1.6-1 [79.0 kB] 4400s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 4400s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 4400s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-prettytable all 3.6.0-1 [33.1 kB] 4400s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psutil ppc64el 5.9.8-1 [197 kB] 4400s Get:26 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psycopg2 ppc64el 2.9.9-1 [197 kB] 4400s Get:27 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pysyncobj all 0.3.12-1 [38.9 kB] 4400s Get:28 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni all 3.2.2-2 [253 kB] 4400s Get:29 http://ftpmaster.internal/ubuntu noble/main ppc64el sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 4400s Get:30 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni-doc all 3.2.2-2 [476 kB] 4400s Get:31 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-client-16 ppc64el 16.2-1 [1399 kB] 4400s Get:32 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql-16 ppc64el 16.2-1 [16.9 MB] 4402s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el postgresql all 16+257 [11.4 kB] 4402s Get:34 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse all 1.19.0-0.2 [18.1 kB] 4402s Get:35 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-parse-type all 0.6.2-1 [22.7 kB] 4402s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-behave all 1.2.6-5 [98.4 kB] 4402s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-coverage ppc64el 7.3.2-0ubuntu1 [148 kB] 4402s Preconfiguring packages ... 4402s Fetched 53.1 MB in 6s (9386 kB/s) 4402s Selecting previously unselected package fonts-lato. 4402s (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 ... 69712 files and directories currently installed.) 4402s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 4402s Unpacking fonts-lato (2.015-1) ... 4402s Selecting previously unselected package libjson-perl. 4402s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 4402s Unpacking libjson-perl (4.10000-1) ... 4402s Selecting previously unselected package postgresql-client-common. 4403s Preparing to unpack .../02-postgresql-client-common_257_all.deb ... 4403s Unpacking postgresql-client-common (257) ... 4403s Selecting previously unselected package ssl-cert. 4403s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu1_all.deb ... 4403s Unpacking ssl-cert (1.1.2ubuntu1) ... 4403s Selecting previously unselected package postgresql-common. 4403s Preparing to unpack .../04-postgresql-common_257_all.deb ... 4403s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 4403s Unpacking postgresql-common (257) ... 4403s Selecting previously unselected package fonts-font-awesome. 4403s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 4403s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4403s Selecting previously unselected package libio-pty-perl. 4403s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1_ppc64el.deb ... 4403s Unpacking libio-pty-perl (1:1.20-1) ... 4403s Selecting previously unselected package libipc-run-perl. 4403s Preparing to unpack .../07-libipc-run-perl_20231003.0-1_all.deb ... 4403s Unpacking libipc-run-perl (20231003.0-1) ... 4403s Selecting previously unselected package libjs-jquery. 4403s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 4403s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4403s Selecting previously unselected package libjs-underscore. 4403s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 4403s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4403s Selecting previously unselected package libjs-sphinxdoc. 4403s Preparing to unpack .../10-libjs-sphinxdoc_7.2.6-4_all.deb ... 4403s Unpacking libjs-sphinxdoc (7.2.6-4) ... 4403s Selecting previously unselected package libllvm17:ppc64el. 4403s Preparing to unpack .../11-libllvm17_1%3a17.0.6-5build1_ppc64el.deb ... 4403s Unpacking libllvm17:ppc64el (1:17.0.6-5build1) ... 4404s Selecting previously unselected package libpq5:ppc64el. 4404s Preparing to unpack .../12-libpq5_16.2-1_ppc64el.deb ... 4404s Unpacking libpq5:ppc64el (16.2-1) ... 4404s Selecting previously unselected package libtime-duration-perl. 4404s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 4404s Unpacking libtime-duration-perl (1.21-2) ... 4404s Selecting previously unselected package libtimedate-perl. 4404s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 4404s Unpacking libtimedate-perl (2.3300-2) ... 4404s Selecting previously unselected package libxslt1.1:ppc64el. 4404s Preparing to unpack .../15-libxslt1.1_1.1.35-1_ppc64el.deb ... 4404s Unpacking libxslt1.1:ppc64el (1.1.35-1) ... 4404s Selecting previously unselected package moreutils. 4404s Preparing to unpack .../16-moreutils_0.69-1_ppc64el.deb ... 4404s Unpacking moreutils (0.69-1) ... 4404s Selecting previously unselected package python3-cdiff. 4404s Preparing to unpack .../17-python3-cdiff_1.0-1.1_all.deb ... 4404s Unpacking python3-cdiff (1.0-1.1) ... 4404s Selecting previously unselected package python3-colorama. 4404s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 4404s Unpacking python3-colorama (0.4.6-4) ... 4404s Selecting previously unselected package python3-click. 4404s Preparing to unpack .../19-python3-click_8.1.6-1_all.deb ... 4404s Unpacking python3-click (8.1.6-1) ... 4404s Selecting previously unselected package python3-dateutil. 4404s Preparing to unpack .../20-python3-dateutil_2.8.2-3_all.deb ... 4404s Unpacking python3-dateutil (2.8.2-3) ... 4404s Selecting previously unselected package python3-wcwidth. 4404s Preparing to unpack .../21-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 4404s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 4404s Selecting previously unselected package python3-prettytable. 4404s Preparing to unpack .../22-python3-prettytable_3.6.0-1_all.deb ... 4404s Unpacking python3-prettytable (3.6.0-1) ... 4404s Selecting previously unselected package python3-psutil. 4404s Preparing to unpack .../23-python3-psutil_5.9.8-1_ppc64el.deb ... 4404s Unpacking python3-psutil (5.9.8-1) ... 4404s Selecting previously unselected package python3-psycopg2. 4404s Preparing to unpack .../24-python3-psycopg2_2.9.9-1_ppc64el.deb ... 4404s Unpacking python3-psycopg2 (2.9.9-1) ... 4404s Selecting previously unselected package python3-pysyncobj. 4404s Preparing to unpack .../25-python3-pysyncobj_0.3.12-1_all.deb ... 4404s Unpacking python3-pysyncobj (0.3.12-1) ... 4404s Selecting previously unselected package patroni. 4404s Preparing to unpack .../26-patroni_3.2.2-2_all.deb ... 4404s Unpacking patroni (3.2.2-2) ... 4404s Selecting previously unselected package sphinx-rtd-theme-common. 4404s Preparing to unpack .../27-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 4404s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 4404s Selecting previously unselected package patroni-doc. 4404s Preparing to unpack .../28-patroni-doc_3.2.2-2_all.deb ... 4404s Unpacking patroni-doc (3.2.2-2) ... 4404s Selecting previously unselected package postgresql-client-16. 4404s Preparing to unpack .../29-postgresql-client-16_16.2-1_ppc64el.deb ... 4404s Unpacking postgresql-client-16 (16.2-1) ... 4404s Selecting previously unselected package postgresql-16. 4404s Preparing to unpack .../30-postgresql-16_16.2-1_ppc64el.deb ... 4404s Unpacking postgresql-16 (16.2-1) ... 4405s Selecting previously unselected package postgresql. 4405s Preparing to unpack .../31-postgresql_16+257_all.deb ... 4405s Unpacking postgresql (16+257) ... 4405s Selecting previously unselected package python3-parse. 4405s Preparing to unpack .../32-python3-parse_1.19.0-0.2_all.deb ... 4405s Unpacking python3-parse (1.19.0-0.2) ... 4405s Selecting previously unselected package python3-parse-type. 4405s Preparing to unpack .../33-python3-parse-type_0.6.2-1_all.deb ... 4405s Unpacking python3-parse-type (0.6.2-1) ... 4405s Selecting previously unselected package python3-behave. 4405s Preparing to unpack .../34-python3-behave_1.2.6-5_all.deb ... 4405s Unpacking python3-behave (1.2.6-5) ... 4405s Selecting previously unselected package python3-coverage. 4405s Preparing to unpack .../35-python3-coverage_7.3.2-0ubuntu1_ppc64el.deb ... 4405s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 4405s Selecting previously unselected package autopkgtest-satdep. 4405s Preparing to unpack .../36-6-autopkgtest-satdep.deb ... 4405s Unpacking autopkgtest-satdep (0) ... 4405s Setting up postgresql-client-common (257) ... 4405s Setting up fonts-lato (2.015-1) ... 4405s Setting up libio-pty-perl (1:1.20-1) ... 4405s Setting up python3-pysyncobj (0.3.12-1) ... 4405s Setting up python3-colorama (0.4.6-4) ... 4405s Setting up python3-cdiff (1.0-1.1) ... 4405s Setting up libpq5:ppc64el (16.2-1) ... 4405s Setting up python3-coverage (7.3.2-0ubuntu1) ... 4405s Setting up python3-click (8.1.6-1) ... 4405s Setting up python3-psutil (5.9.8-1) ... 4406s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 4406s Setting up ssl-cert (1.1.2ubuntu1) ... 4407s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 4407s Setting up python3-psycopg2 (2.9.9-1) ... 4407s Setting up libipc-run-perl (20231003.0-1) ... 4407s Setting up libtime-duration-perl (1.21-2) ... 4408s Setting up libtimedate-perl (2.3300-2) ... 4408s Setting up python3-parse (1.19.0-0.2) ... 4408s Setting up libjson-perl (4.10000-1) ... 4408s Setting up libxslt1.1:ppc64el (1.1.35-1) ... 4408s Setting up python3-dateutil (2.8.2-3) ... 4408s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4408s Setting up python3-prettytable (3.6.0-1) ... 4408s Setting up libllvm17:ppc64el (1:17.0.6-5build1) ... 4408s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4408s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 4408s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4408s Setting up moreutils (0.69-1) ... 4408s Setting up postgresql-client-16 (16.2-1) ... 4408s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 4408s Setting up python3-parse-type (0.6.2-1) ... 4408s Setting up postgresql-common (257) ... 4409s 4409s Creating config file /etc/postgresql-common/createcluster.conf with new version 4409s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 4409s Removing obsolete dictionary files: 4410s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 4410s Setting up libjs-sphinxdoc (7.2.6-4) ... 4410s Setting up python3-behave (1.2.6-5) ... 4410s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 4410s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 4410s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 4410s """Registers a custom type that will be available to "parse" 4410s Setting up patroni (3.2.2-2) ... 4410s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 4411s Setting up postgresql-16 (16.2-1) ... 4411s Creating new PostgreSQL cluster 16/main ... 4411s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 4411s The files belonging to this database system will be owned by user "postgres". 4411s This user must also own the server process. 4411s 4411s The database cluster will be initialized with locale "C.UTF-8". 4411s The default database encoding has accordingly been set to "UTF8". 4411s The default text search configuration will be set to "english". 4411s 4411s Data page checksums are disabled. 4411s 4411s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 4411s creating subdirectories ... ok 4411s selecting dynamic shared memory implementation ... posix 4411s selecting default max_connections ... 100 4411s selecting default shared_buffers ... 128MB 4411s selecting default time zone ... Etc/UTC 4411s creating configuration files ... ok 4412s running bootstrap script ... ok 4412s performing post-bootstrap initialization ... ok 4412s syncing data to disk ... ok 4416s Setting up patroni-doc (3.2.2-2) ... 4416s Setting up postgresql (16+257) ... 4416s Setting up autopkgtest-satdep (0) ... 4416s Processing triggers for man-db (2.12.0-3) ... 4417s Processing triggers for libc-bin (2.39-0ubuntu2) ... 4420s (Reading database ... 72666 files and directories currently installed.) 4420s Removing autopkgtest-satdep (0) ... 4424s autopkgtest [19:08:05]: test acceptance-raft: debian/tests/acceptance raft 4424s autopkgtest [19:08:05]: test acceptance-raft: [----------------------- 4424s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 4424s ++ ls -1r /usr/lib/postgresql/ 4424s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 4424s + echo '### PostgreSQL 16 acceptance-raft ###' 4424s + '[' 16 == 10 ']' 4424s + SKIP= 4424s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=raft PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 4424s ### PostgreSQL 16 acceptance-raft ### 4431s Mar 22 19:08:12 Feature: basic replication # features/basic_replication.feature:1 4431s Mar 22 19:08:12 We should check that the basic bootstrapping, replication and failover works. 4431s Mar 22 19:08:12 Scenario: check replication of a single table # features/basic_replication.feature:4 4431s Mar 22 19:08:12 Given I start postgres0 # features/steps/basic_replication.py:8 4435s Mar 22 19:08:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4436s Mar 22 19:08:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4436s Mar 22 19:08:17 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 4436s Mar 22 19:08:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 4436s Mar 22 19:08:17 When I start postgres1 # features/steps/basic_replication.py:8 4446s Mar 22 19:08:27 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 4450s Mar 22 19:08:31 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 4450s Mar 22 19:08:31 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 4450s Mar 22 19:08:31 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 4451s Mar 22 19:08:32 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 4451s Mar 22 19:08:32 4451s Mar 22 19:08:32 Scenario: check restart of sync replica # features/basic_replication.feature:17 4451s Mar 22 19:08:32 Given I shut down postgres2 # features/steps/basic_replication.py:29 4452s Mar 22 19:08:33 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 4452s Mar 22 19:08:33 When I start postgres2 # features/steps/basic_replication.py:8 4455s Mar 22 19:08:36 And I shut down postgres1 # features/steps/basic_replication.py:29 4458s Mar 22 19:08:39 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 4459s Mar 22 19:08:40 When I start postgres1 # features/steps/basic_replication.py:8 4462s Mar 22 19:08:43 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4463s Mar 22 19:08:44 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4463s Mar 22 19:08:44 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 4463s Mar 22 19:08:44 4463s Mar 22 19:08:44 Scenario: check stuck sync replica # features/basic_replication.feature:28 4463s Mar 22 19:08:44 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 4463s Mar 22 19:08:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 4463s Mar 22 19:08:44 And I create table on postgres0 # features/steps/basic_replication.py:69 4463s Mar 22 19:08:44 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 4464s Mar 22 19:08:45 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 4464s Mar 22 19:08:45 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 4464s Mar 22 19:08:45 And I load data on postgres0 # features/steps/basic_replication.py:80 4465s Mar 22 19:08:46 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 4467s Mar 22 19:08:48 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 4467s Mar 22 19:08:48 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4468s Mar 22 19:08:48 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 4468s Mar 22 19:08:49 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 4468s Mar 22 19:08:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 4468s Mar 22 19:08:49 And I drop table on postgres0 # features/steps/basic_replication.py:69 4468s Mar 22 19:08:49 4468s Mar 22 19:08:49 Scenario: check multi sync replication # features/basic_replication.feature:44 4468s Mar 22 19:08:49 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 4468s Mar 22 19:08:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 4468s Mar 22 19:08:49 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 4472s Mar 22 19:08:53 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4472s Mar 22 19:08:53 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4472s Mar 22 19:08:53 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 4472s Mar 22 19:08:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 4472s Mar 22 19:08:53 And I shut down postgres1 # features/steps/basic_replication.py:29 4475s Mar 22 19:08:56 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 4476s Mar 22 19:08:57 When I start postgres1 # features/steps/basic_replication.py:8 4479s Mar 22 19:09:00 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4480s Mar 22 19:09:01 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4480s Mar 22 19:09:01 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 4480s Mar 22 19:09:01 4480s Mar 22 19:09:01 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 4480s Mar 22 19:09:01 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 4482s Mar 22 19:09:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4482s Mar 22 19:09:03 When I sleep for 2 seconds # features/steps/patroni_api.py:39 4484s Mar 22 19:09:05 And I shut down postgres0 # features/steps/basic_replication.py:29 4485s Mar 22 19:09:06 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 4487s Mar 22 19:09:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4487s Mar 22 19:09:08 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 4505s Mar 22 19:09:26 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 4507s Mar 22 19:09:28 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 4507s Mar 22 19:09:28 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 4508s Mar 22 19:09:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 4508s Mar 22 19:09:28 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 4508s Mar 22 19:09:28 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 4510s Mar 22 19:09:30 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 4510s Mar 22 19:09:31 4510s Mar 22 19:09:31 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 4510s Mar 22 19:09:31 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 4510s Mar 22 19:09:31 And I start postgres0 # features/steps/basic_replication.py:8 4510s Mar 22 19:09:31 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 4517s Mar 22 19:09:38 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 4517s Mar 22 19:09:38 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 4517s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 4532s Mar 22 19:09:53 4532s Mar 22 19:09:53 @reject-duplicate-name 4532s Mar 22 19:09:53 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 4532s Mar 22 19:09:53 Given I start duplicate postgres0 on port 8011 # None 4532s Mar 22 19:09:53 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # None 4532s Mar 22 19:09:53 4532s Mar 22 19:09:53 Feature: cascading replication # features/cascading_replication.feature:1 4532s Mar 22 19:09:53 We should check that patroni can do base backup and streaming from the replica 4532s Mar 22 19:09:53 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 4532s Mar 22 19:09:53 Given I start postgres0 # features/steps/basic_replication.py:8 4542s Mar 22 19:10:03 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4543s Mar 22 19:10:04 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 4546s Mar 22 19:10:07 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4551s Mar 22 19:10:12 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 4551s Mar 22 19:10:12 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 4551s Mar 22 19:10:12 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 4552s Mar 22 19:10:12 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 4556s Mar 22 19:10:17 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 4561s Mar 22 19:10:22 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 4576s Mar 22 19:10:37 4576s SKIP FEATURE citus: Citus extenstion isn't available 4576s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 4576s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 4576s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 4576s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 4576s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 4576s Mar 22 19:10:37 Feature: citus # features/citus.feature:1 4576s Mar 22 19:10:37 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 4576s Mar 22 19:10:37 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 4576s Mar 22 19:10:37 Given I start postgres0 in citus group 0 # None 4576s Mar 22 19:10:37 And I start postgres2 in citus group 1 # None 4576s Mar 22 19:10:37 Then postgres0 is a leader in a group 0 after 10 seconds # None 4576s Mar 22 19:10:37 And postgres2 is a leader in a group 1 after 10 seconds # None 4576s Mar 22 19:10:37 When I start postgres1 in citus group 0 # None 4576s Mar 22 19:10:37 And I start postgres3 in citus group 1 # None 4576s Mar 22 19:10:37 Then replication works from postgres0 to postgres1 after 15 seconds # None 4576s Mar 22 19:10:37 Then replication works from postgres2 to postgres3 after 15 seconds # None 4576s Mar 22 19:10:37 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 4576s Mar 22 19:10:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4576s Mar 22 19:10:37 4576s Mar 22 19:10:37 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 4576s Mar 22 19:10:37 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 4576s Mar 22 19:10:37 Then postgres1 role is the primary after 10 seconds # None 4576s Mar 22 19:10:37 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 4576s Mar 22 19:10:37 And replication works from postgres1 to postgres0 after 15 seconds # None 4576s Mar 22 19:10:37 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 4576s Mar 22 19:10:37 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 4576s Mar 22 19:10:37 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 4576s Mar 22 19:10:37 Then postgres0 role is the primary after 10 seconds # None 4576s Mar 22 19:10:37 And replication works from postgres0 to postgres1 after 15 seconds # None 4576s Mar 22 19:10:37 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 4576s Mar 22 19:10:37 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 4576s Mar 22 19:10:37 4576s Mar 22 19:10:37 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 4576s Mar 22 19:10:37 Given I create a distributed table on postgres0 # None 4576s Mar 22 19:10:37 And I start a thread inserting data on postgres0 # None 4576s Mar 22 19:10:37 When I run patronictl.py switchover batman --group 1 --force # None 4576s Mar 22 19:10:37 Then I receive a response returncode 0 # None 4576s Mar 22 19:10:37 And postgres3 role is the primary after 10 seconds # None 4576s Mar 22 19:10:37 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 4576s Mar 22 19:10:37 And replication works from postgres3 to postgres2 after 15 seconds # None 4576s Mar 22 19:10:37 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4576s Mar 22 19:10:37 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 4576s Mar 22 19:10:37 And a thread is still alive # None 4576s Mar 22 19:10:37 When I run patronictl.py switchover batman --group 1 --force # None 4576s Mar 22 19:10:37 Then I receive a response returncode 0 # None 4576s Mar 22 19:10:37 And postgres2 role is the primary after 10 seconds # None 4576s Mar 22 19:10:37 And replication works from postgres2 to postgres3 after 15 seconds # None 4576s Mar 22 19:10:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4576s Mar 22 19:10:37 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 4576s Mar 22 19:10:37 And a thread is still alive # None 4576s Mar 22 19:10:37 When I stop a thread # None 4576s Mar 22 19:10:37 Then a distributed table on postgres0 has expected rows # None 4576s Mar 22 19:10:37 4576s Mar 22 19:10:37 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 4576s Mar 22 19:10:37 Given I cleanup a distributed table on postgres0 # None 4576s Mar 22 19:10:37 And I start a thread inserting data on postgres0 # None 4576s Mar 22 19:10:37 When I run patronictl.py restart batman postgres2 --group 1 --force # None 4576s Mar 22 19:10:37 Then I receive a response returncode 0 # None 4576s Mar 22 19:10:37 And postgres2 role is the primary after 10 seconds # None 4576s Mar 22 19:10:37 And replication works from postgres2 to postgres3 after 15 seconds # None 4576s Mar 22 19:10:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4576s Mar 22 19:10:37 And a thread is still alive # None 4576s Mar 22 19:10:37 When I stop a thread # None 4576s Mar 22 19:10:37 Then a distributed table on postgres0 has expected rows # None 4583s Mar 22 19:10:44 4583s Mar 22 19:10:44 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 4583s Mar 22 19:10:44 Given I start postgres4 in citus group 2 # None 4583s Mar 22 19:10:44 Then postgres4 is a leader in a group 2 after 10 seconds # None 4583s Mar 22 19:10:44 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 4583s Mar 22 19:10:44 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 4583s Mar 22 19:10:44 Then I receive a response returncode 0 # None 4583s Mar 22 19:10:44 And I receive a response output "+ttl: 20" # None 4583s Mar 22 19:10:44 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 4583s Mar 22 19:10:44 When I shut down postgres4 # None 4583s Mar 22 19:10:44 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 4583s Mar 22 19:10:44 When I run patronictl.py restart batman postgres2 --group 1 --force # None 4583s Mar 22 19:10:44 Then a transaction finishes in 20 seconds # None 4583s Mar 22 19:10:44 4583s Mar 22 19:10:44 Feature: custom bootstrap # features/custom_bootstrap.feature:1 4583s Mar 22 19:10:44 We should check that patroni can bootstrap a new cluster from a backup 4583s Mar 22 19:10:44 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 4583s Mar 22 19:10:44 Given I start postgres0 # features/steps/basic_replication.py:8 4594s Mar 22 19:10:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4595s Mar 22 19:10:56 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 4595s Mar 22 19:10:56 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 4599s Mar 22 19:11:00 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 4600s Mar 22 19:11:01 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 4600s Mar 22 19:11:01 4600s Mar 22 19:11:01 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 4600s Mar 22 19:11:01 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 4600s Mar 22 19:11:01 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 4601s Mar 22 19:11:02 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 4606s Mar 22 19:11:07 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 4607s Mar 22 19:11:08 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 4622s Mar 22 19:11:23 4622s Mar 22 19:11:23 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 4622s Mar 22 19:11:23 We should check the basic dcs failsafe mode functioning 4622s Mar 22 19:11:23 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 4622s Mar 22 19:11:23 Given I start postgres0 # features/steps/basic_replication.py:8 4627s Mar 22 19:11:27 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4627s Mar 22 19:11:28 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 4627s Mar 22 19:11:28 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 4628s Mar 22 19:11:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 4628s Mar 22 19:11:28 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 4628s Mar 22 19:11:29 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 4628s Mar 22 19:11:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 4628s Mar 22 19:11:29 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 4628s Mar 22 19:11:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 4628s Mar 22 19:11:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 4628s Mar 22 19:11:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 4628s Mar 22 19:11:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 4628s Mar 22 19:11:29 4628s Mar 22 19:11:29 @dcs-failsafe 4628s Mar 22 19:11:29 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 4628s Mar 22 19:11:29 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 4628s Mar 22 19:11:29 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 4632s Mar 22 19:11:33 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4632s Mar 22 19:11:33 4632s Mar 22 19:11:33 @dcs-failsafe 4632s Mar 22 19:11:33 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 4632s Mar 22 19:11:33 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 4632s Mar 22 19:11:33 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 4633s Mar 22 19:11:34 And I shut down postgres0 # features/steps/basic_replication.py:29 4635s Mar 22 19:11:36 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 4641s Mar 22 19:11:40 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:101 4641s Mar 22 19:11:40 4641s Mar 22 19:11:40 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 4641s Mar 22 19:11:40 Given I start postgres0 # features/steps/basic_replication.py:8 4642s Mar 22 19:11:43 And I start postgres1 # features/steps/basic_replication.py:8 4642s Mar 22 19:11:43 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4643s Mar 22 19:11:44 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 4643s Mar 22 19:11:44 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 4648s Mar 22 19:11:49 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 4648s Mar 22 19:11:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 4648s Mar 22 19:11:49 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 4648s Mar 22 19:11:49 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 4648s Mar 22 19:11:49 4648s Mar 22 19:11:49 @dcs-failsafe @slot-advance 4648s Mar 22 19:11:49 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 4648s Mar 22 19:11:49 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 4648s Mar 22 19:11:49 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4652s Mar 22 19:11:53 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4652s Mar 22 19:11:53 And DCS is down # features/steps/dcs_failsafe_mode.py:4 4652s Mar 22 19:11:53 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 4656s Mar 22 19:11:57 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4656s Mar 22 19:11:57 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:101 4656s Mar 22 19:11:57 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:108 4657s Mar 22 19:11:58 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 4657s Mar 22 19:11:58 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 4657s Mar 22 19:11:58 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 4663s Mar 22 19:12:04 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4663s Mar 22 19:12:04 4663s Mar 22 19:12:04 @dcs-failsafe 4663s Mar 22 19:12:04 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 4663s Mar 22 19:12:04 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 4663s Mar 22 19:12:04 And I kill postgres1 # features/steps/basic_replication.py:34 4664s Mar 22 19:12:05 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 4664s Mar 22 19:12:05 waiting for server to shut down.... done 4664s Mar 22 19:12:05 server stopped 4664s Mar 22 19:12:05 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:101 4666s Mar 22 19:12:07 4666s Mar 22 19:12:07 @dcs-failsafe 4666s Mar 22 19:12:07 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 4666s Mar 22 19:12:07 Given I kill postgres0 # features/steps/basic_replication.py:34 4667s Mar 22 19:12:08 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 4668s Mar 22 19:12:08 waiting for server to shut down.... done 4668s Mar 22 19:12:08 server stopped 4668s Mar 22 19:12:08 And DCS is up # features/steps/dcs_failsafe_mode.py:9 4668s Mar 22 19:12:08 When I start postgres1 # features/steps/basic_replication.py:8 4672s Mar 22 19:12:13 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4672s Mar 22 19:12:13 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:101 4672s Mar 22 19:12:13 4672s Mar 22 19:12:13 @dcs-failsafe 4672s Mar 22 19:12:13 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 4672s Mar 22 19:12:13 Given I start postgres0 # features/steps/basic_replication.py:8 4676s Mar 22 19:12:17 And I start postgres2 # features/steps/basic_replication.py:8 4680s Mar 22 19:12:21 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4681s Mar 22 19:12:22 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 4681s Mar 22 19:12:22 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 4681s Mar 22 19:12:22 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 4682s Mar 22 19:12:23 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 4683s Mar 22 19:12:24 4683s Mar 22 19:12:24 @dcs-failsafe @slot-advance 4683s Mar 22 19:12:24 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 4683s Mar 22 19:12:24 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 4683s Mar 22 19:12:24 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 4687s Mar 22 19:12:28 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 4688s Mar 22 19:12:29 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 4688s Mar 22 19:12:29 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 4690s Mar 22 19:12:31 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 4690s Mar 22 19:12:31 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 4690s Mar 22 19:12:31 4690s Mar 22 19:12:31 @dcs-failsafe 4690s Mar 22 19:12:31 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 4690s Mar 22 19:12:31 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 4690s Mar 22 19:12:31 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 4694s Mar 22 19:12:35 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4694s Mar 22 19:12:35 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:101 4694s Mar 22 19:12:35 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:101 4694s Mar 22 19:12:35 4694s Mar 22 19:12:35 @dcs-failsafe @slot-advance 4694s Mar 22 19:12:35 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 4694s Mar 22 19:12:35 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 4694s Mar 22 19:12:35 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 4694s Mar 22 19:12:35 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 4694s Mar 22 19:12:35 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 4694s Mar 22 19:12:35 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 4701s Mar 22 19:12:42 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 4701s Mar 22 19:12:42 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 4701s Mar 22 19:12:42 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 4701s Mar 22 19:12:42 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 4714s Mar 22 19:12:55 4714s Mar 22 19:12:55 Feature: ignored slots # features/ignored_slots.feature:1 4714s Mar 22 19:12:55 4714s Mar 22 19:12:55 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 4714s Mar 22 19:12:55 Given I start postgres1 # features/steps/basic_replication.py:8 4718s Mar 22 19:12:59 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 4719s Mar 22 19:13:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4719s Mar 22 19:13:00 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 4719s Mar 22 19:13:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 4719s Mar 22 19:13:00 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 4719s Mar 22 19:13:00 When I shut down postgres1 # features/steps/basic_replication.py:29 4721s Mar 22 19:13:02 And I start postgres1 # features/steps/basic_replication.py:8 4724s Mar 22 19:13:05 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 4727s Mar 22 19:13:08 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 4728s Mar 22 19:13:09 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 4728s Mar 22 19:13:09 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4728s Mar 22 19:13:09 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4728s Mar 22 19:13:09 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4728s Mar 22 19:13:09 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4728s Mar 22 19:13:09 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4728s Mar 22 19:13:09 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4728s Mar 22 19:13:09 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4728s Mar 22 19:13:09 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4728s Mar 22 19:13:09 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4728s Mar 22 19:13:09 When I start postgres0 # features/steps/basic_replication.py:8 4737s Mar 22 19:13:18 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 4738s Mar 22 19:13:19 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 4738s Mar 22 19:13:19 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 4742s Mar 22 19:13:23 When I shut down postgres1 # features/steps/basic_replication.py:29 4744s Mar 22 19:13:25 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 4745s Mar 22 19:13:26 When I start postgres1 # features/steps/basic_replication.py:8 4748s Mar 22 19:13:29 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 4748s Mar 22 19:13:29 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 4749s Mar 22 19:13:30 And I sleep for 2 seconds # features/steps/patroni_api.py:39 4751s Mar 22 19:13:32 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4751s Mar 22 19:13:32 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4751s Mar 22 19:13:32 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4751s Mar 22 19:13:32 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4751s Mar 22 19:13:32 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 4751s Mar 22 19:13:32 When I shut down postgres0 # features/steps/basic_replication.py:29 4753s Mar 22 19:13:34 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 4754s Mar 22 19:13:35 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4754s Mar 22 19:13:35 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4754s Mar 22 19:13:35 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4754s Mar 22 19:13:35 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4763s Mar 22 19:13:44 4763s Mar 22 19:13:44 Feature: patroni api # features/patroni_api.feature:1 4763s Mar 22 19:13:44 We should check that patroni correctly responds to valid and not-valid API requests. 4763s Mar 22 19:13:44 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 4763s Mar 22 19:13:44 Given I start postgres0 # features/steps/basic_replication.py:8 4767s Mar 22 19:13:48 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4768s Mar 22 19:13:49 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 4768s Mar 22 19:13:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 And I receive a response state running # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 And I receive a response role master # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 4768s Mar 22 19:13:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 4768s Mar 22 19:13:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 4768s Mar 22 19:13:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 4768s Mar 22 19:13:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 4768s Mar 22 19:13:49 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 4770s Mar 22 19:13:51 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 4770s Mar 22 19:13:51 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 4770s Mar 22 19:13:51 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 4770s Mar 22 19:13:51 Then I receive a response code 412 # features/steps/patroni_api.py:98 4770s Mar 22 19:13:51 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 4770s Mar 22 19:13:51 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 4770s Mar 22 19:13:51 Then I receive a response code 400 # features/steps/patroni_api.py:98 4770s Mar 22 19:13:51 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 4770s Mar 22 19:13:51 Then I receive a response code 400 # features/steps/patroni_api.py:98 4770s Mar 22 19:13:51 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 4770s Mar 22 19:13:51 4770s Mar 22 19:13:51 Scenario: check local configuration reload # features/patroni_api.feature:32 4770s Mar 22 19:13:51 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 4770s Mar 22 19:13:51 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 4771s Mar 22 19:13:51 Then I receive a response code 202 # features/steps/patroni_api.py:98 4771s Mar 22 19:13:51 4771s Mar 22 19:13:51 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 4771s Mar 22 19:13:51 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 4771s Mar 22 19:13:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 4771s Mar 22 19:13:52 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 4772s Mar 22 19:13:53 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 4772s Mar 22 19:13:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 4772s Mar 22 19:13:53 And I receive a response ttl 20 # features/steps/patroni_api.py:98 4772s Mar 22 19:13:53 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 4772s Mar 22 19:13:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 4772s Mar 22 19:13:53 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 4772s Mar 22 19:13:53 And I sleep for 4 seconds # features/steps/patroni_api.py:39 4776s Mar 22 19:13:57 4776s Mar 22 19:13:57 Scenario: check the scheduled restart # features/patroni_api.feature:49 4776s Mar 22 19:13:57 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 4778s Mar 22 19:13:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4778s Mar 22 19:13:59 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 4778s Mar 22 19:13:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 4778s Mar 22 19:13:59 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 4778s Mar 22 19:13:59 Then I receive a response code 202 # features/steps/patroni_api.py:98 4778s Mar 22 19:13:59 And I sleep for 8 seconds # features/steps/patroni_api.py:39 4786s Mar 22 19:14:07 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 4786s Mar 22 19:14:07 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 4786s Mar 22 19:14:07 Then I receive a response code 202 # features/steps/patroni_api.py:98 4786s Mar 22 19:14:07 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 4792s Mar 22 19:14:13 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4793s Mar 22 19:14:14 4793s Mar 22 19:14:14 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 4793s Mar 22 19:14:14 Given I start postgres1 # features/steps/basic_replication.py:8 4797s Mar 22 19:14:18 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4799s Mar 22 19:14:19 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 4801s Mar 22 19:14:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4801s Mar 22 19:14:22 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 4801s Mar 22 19:14:22 waiting for server to shut down.... done 4801s Mar 22 19:14:22 server stopped 4801s Mar 22 19:14:22 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4801s Mar 22 19:14:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 4801s Mar 22 19:14:22 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 4802s Mar 22 19:14:23 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 4805s Mar 22 19:14:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4805s Mar 22 19:14:26 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4806s Mar 22 19:14:27 And I sleep for 2 seconds # features/steps/patroni_api.py:39 4808s Mar 22 19:14:29 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4808s Mar 22 19:14:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 4808s Mar 22 19:14:29 And I receive a response state running # features/steps/patroni_api.py:98 4808s Mar 22 19:14:29 And I receive a response role replica # features/steps/patroni_api.py:98 4808s Mar 22 19:14:29 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 4812s Mar 22 19:14:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4812s Mar 22 19:14:33 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 4812s Mar 22 19:14:33 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 4813s Mar 22 19:14:34 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4813s Mar 22 19:14:34 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 4817s Mar 22 19:14:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4817s Mar 22 19:14:38 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 4817s Mar 22 19:14:38 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 4818s Mar 22 19:14:39 4818s Mar 22 19:14:39 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 4818s Mar 22 19:14:39 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 4820s Mar 22 19:14:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 4820s Mar 22 19:14:41 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 4820s Mar 22 19:14:41 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4820s Mar 22 19:14:41 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 4822s Mar 22 19:14:43 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 4825s Mar 22 19:14:46 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4826s Mar 22 19:14:47 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 4826s Mar 22 19:14:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 4826s Mar 22 19:14:47 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 4826s Mar 22 19:14:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 4826s Mar 22 19:14:47 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 4826s Mar 22 19:14:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 4826s Mar 22 19:14:47 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4826s Mar 22 19:14:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 4826s Mar 22 19:14:47 4826s Mar 22 19:14:47 Scenario: check the scheduled switchover # features/patroni_api.feature:107 4826s Mar 22 19:14:47 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 4828s Mar 22 19:14:49 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 4828s Mar 22 19:14:49 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 4828s Mar 22 19:14:49 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 4830s Mar 22 19:14:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4830s Mar 22 19:14:51 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 4832s Mar 22 19:14:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4832s Mar 22 19:14:53 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 4842s Mar 22 19:15:03 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4842s Mar 22 19:15:03 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 4844s Mar 22 19:15:05 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 4844s Mar 22 19:15:05 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4846s Mar 22 19:15:07 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 4846s Mar 22 19:15:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 4846s Mar 22 19:15:07 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 4846s Mar 22 19:15:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 4846s Mar 22 19:15:07 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 4846s Mar 22 19:15:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 4846s Mar 22 19:15:07 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4847s Mar 22 19:15:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 4857s Mar 22 19:15:18 4857s Mar 22 19:15:18 Feature: permanent slots # features/permanent_slots.feature:1 4857s Mar 22 19:15:18 4857s Mar 22 19:15:18 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 4857s Mar 22 19:15:18 Given I start postgres0 # features/steps/basic_replication.py:8 4861s Mar 22 19:15:22 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4861s Mar 22 19:15:22 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4861s Mar 22 19:15:22 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 4861s Mar 22 19:15:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 4861s Mar 22 19:15:22 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 4861s Mar 22 19:15:22 When I start postgres1 # features/steps/basic_replication.py:8 4864s Mar 22 19:15:25 And I start postgres2 # features/steps/basic_replication.py:8 4873s Mar 22 19:15:34 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 4877s Mar 22 19:15:38 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 4877s Mar 22 19:15:38 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 4877s Mar 22 19:15:38 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 4877s Mar 22 19:15:38 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 4877s Mar 22 19:15:38 4877s Mar 22 19:15:38 @slot-advance 4877s Mar 22 19:15:38 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 4877s Mar 22 19:15:38 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 4881s Mar 22 19:15:42 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 4881s Mar 22 19:15:42 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 4882s Mar 22 19:15:43 4882s Mar 22 19:15:43 @slot-advance 4882s Mar 22 19:15:43 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 4882s Mar 22 19:15:43 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 4885s Mar 22 19:15:46 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4885s Mar 22 19:15:46 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4886s Mar 22 19:15:47 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 4887s Mar 22 19:15:48 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 4887s Mar 22 19:15:48 @slot-advance 4887s Mar 22 19:15:48 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 4887s Mar 22 19:15:48 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 4887s Mar 22 19:15:48 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 4887s Mar 22 19:15:48 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 4887s Mar 22 19:15:48 4887s Mar 22 19:15:48 @slot-advance 4887s Mar 22 19:15:48 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 4887s Mar 22 19:15:48 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 4887s Mar 22 19:15:48 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 4887s Mar 22 19:15:48 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 4887s Mar 22 19:15:48 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4888s Mar 22 19:15:49 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4888s Mar 22 19:15:49 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4888s Mar 22 19:15:49 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4888s Mar 22 19:15:49 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 4888s Mar 22 19:15:49 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 4888s Mar 22 19:15:49 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4888s Mar 22 19:15:49 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 4890s Mar 22 19:15:51 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 4890s Mar 22 19:15:51 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 4890s Mar 22 19:15:51 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 4890s Mar 22 19:15:51 4890s Mar 22 19:15:51 @slot-advance 4890s Mar 22 19:15:51 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 4890s Mar 22 19:15:51 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 4890s Mar 22 19:15:51 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 4890s Mar 22 19:15:51 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 4890s Mar 22 19:15:51 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 4890s Mar 22 19:15:51 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 4890s Mar 22 19:15:51 4890s Mar 22 19:15:51 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 4890s Mar 22 19:15:51 Given I shut down postgres3 # features/steps/basic_replication.py:29 4891s Mar 22 19:15:52 And I shut down postgres2 # features/steps/basic_replication.py:29 4892s Mar 22 19:15:53 And I shut down postgres0 # features/steps/basic_replication.py:29 4894s Mar 22 19:15:55 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 4894s Mar 22 19:15:55 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 4894s Mar 22 19:15:55 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 4906s Mar 22 19:16:07 4906s Mar 22 19:16:07 Feature: priority replication # features/priority_failover.feature:1 4906s Mar 22 19:16:07 We should check that we can give nodes priority during failover 4906s Mar 22 19:16:07 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 4906s Mar 22 19:16:07 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 4916s Mar 22 19:16:17 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 4920s Mar 22 19:16:21 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4921s Mar 22 19:16:22 When I shut down postgres0 # features/steps/basic_replication.py:29 4923s Mar 22 19:16:24 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 4925s Mar 22 19:16:26 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 4925s Mar 22 19:16:26 When I start postgres0 # features/steps/basic_replication.py:8 4928s Mar 22 19:16:29 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4931s Mar 22 19:16:32 4931s Mar 22 19:16:32 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 4931s Mar 22 19:16:32 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 4935s Mar 22 19:16:36 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 4939s Mar 22 19:16:40 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 4940s Mar 22 19:16:41 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 4940s Mar 22 19:16:41 When I shut down postgres0 # features/steps/basic_replication.py:29 4942s Mar 22 19:16:43 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4942s Mar 22 19:16:43 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 4942s Mar 22 19:16:43 4942s Mar 22 19:16:43 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 4942s Mar 22 19:16:43 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 4942s Mar 22 19:16:43 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 4942s Mar 22 19:16:43 Then I receive a response code 202 # features/steps/patroni_api.py:98 4942s Mar 22 19:16:43 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 4943s Mar 22 19:16:44 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 4944s Mar 22 19:16:45 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 4944s Mar 22 19:16:45 Then I receive a response code 412 # features/steps/patroni_api.py:98 4944s Mar 22 19:16:45 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 4944s Mar 22 19:16:45 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 4945s Mar 22 19:16:45 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 4945s Mar 22 19:16:46 Then I receive a response code 202 # features/steps/patroni_api.py:98 4945s Mar 22 19:16:46 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 4947s Mar 22 19:16:48 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 4948s Mar 22 19:16:49 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 4951s Mar 22 19:16:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 4951s Mar 22 19:16:52 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4963s Mar 22 19:17:04 4963s Mar 22 19:17:04 Feature: recovery # features/recovery.feature:1 4963s Mar 22 19:17:04 We want to check that crashed postgres is started back 4963s Mar 22 19:17:04 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 4963s Mar 22 19:17:04 Given I start postgres0 # features/steps/basic_replication.py:8 4973s Mar 22 19:17:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4974s Mar 22 19:17:15 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4974s Mar 22 19:17:15 When I start postgres1 # features/steps/basic_replication.py:8 4979s Mar 22 19:17:19 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 4979s Mar 22 19:17:20 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 4984s Mar 22 19:17:25 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 4984s Mar 22 19:17:25 waiting for server to shut down.... done 4984s Mar 22 19:17:25 server stopped 4984s Mar 22 19:17:25 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4985s Mar 22 19:17:26 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 4985s Mar 22 19:17:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 4985s Mar 22 19:17:26 And I receive a response role master # features/steps/patroni_api.py:98 4985s Mar 22 19:17:26 And I receive a response timeline 1 # features/steps/patroni_api.py:98 4985s Mar 22 19:17:26 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 4986s Mar 22 19:17:27 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 4988s Mar 22 19:17:29 4988s Mar 22 19:17:29 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 4988s Mar 22 19:17:29 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 4988s Mar 22 19:17:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 4988s Mar 22 19:17:29 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 4988s Mar 22 19:17:29 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 4988s Mar 22 19:17:29 waiting for server to shut down.... done 4988s Mar 22 19:17:29 server stopped 4988s Mar 22 19:17:29 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 4990s Mar 22 19:17:31 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 5001s Mar 22 19:17:42 5001s Mar 22 19:17:42 Feature: standby cluster # features/standby_cluster.feature:1 5001s Mar 22 19:17:42 5001s Mar 22 19:17:42 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 5001s Mar 22 19:17:42 Given I start postgres1 # features/steps/basic_replication.py:8 5005s Mar 22 19:17:46 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 5006s Mar 22 19:17:47 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 5006s Mar 22 19:17:47 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 5006s Mar 22 19:17:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 5006s Mar 22 19:17:47 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 5006s Mar 22 19:17:47 And I sleep for 3 seconds # features/steps/patroni_api.py:39 5009s Mar 22 19:17:50 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 5009s Mar 22 19:17:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 5009s Mar 22 19:17:50 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 5009s Mar 22 19:17:50 When I start postgres0 # features/steps/basic_replication.py:8 5013s Mar 22 19:17:54 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 5013s Mar 22 19:17:54 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 5014s Mar 22 19:17:55 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 5014s Mar 22 19:17:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 5014s Mar 22 19:17:55 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 5014s Mar 22 19:17:55 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 5014s Mar 22 19:17:55 5014s Mar 22 19:17:55 @slot-advance 5014s Mar 22 19:17:55 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 5014s Mar 22 19:17:55 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 5018s Mar 22 19:17:59 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 5023s Mar 22 19:18:04 5023s Mar 22 19:18:04 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 5023s Mar 22 19:18:04 When I shut down postgres1 # features/steps/basic_replication.py:29 5025s Mar 22 19:18:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 5025s Mar 22 19:18:06 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 5026s Mar 22 19:18:07 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 5026s Mar 22 19:18:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 5026s Mar 22 19:18:07 5026s Mar 22 19:18:07 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 5026s Mar 22 19:18:07 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 5029s Mar 22 19:18:10 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 5031s Mar 22 19:18:12 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 5031s Mar 22 19:18:12 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 5031s Mar 22 19:18:12 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 5031s Mar 22 19:18:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 5031s Mar 22 19:18:12 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 5031s Mar 22 19:18:12 And I sleep for 3 seconds # features/steps/patroni_api.py:39 5034s Mar 22 19:18:15 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 5034s Mar 22 19:18:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 5034s Mar 22 19:18:15 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 5035s Mar 22 19:18:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 5035s Mar 22 19:18:15 And I receive a response role standby_leader # features/steps/patroni_api.py:98 5035s Mar 22 19:18:15 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 5035s Mar 22 19:18:15 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 5038s Mar 22 19:18:19 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 5038s Mar 22 19:18:19 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 5039s Mar 22 19:18:20 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 5039s Mar 22 19:18:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 5039s Mar 22 19:18:20 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 5039s Mar 22 19:18:20 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 5039s Mar 22 19:18:20 5039s Mar 22 19:18:20 Scenario: check switchover # features/standby_cluster.feature:56 5039s Mar 22 19:18:20 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 5043s Mar 22 19:18:24 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 5043s Mar 22 19:18:24 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 5045s Mar 22 19:18:26 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 5045s Mar 22 19:18:26 5045s Mar 22 19:18:26 Scenario: check failover # features/standby_cluster.feature:62 5045s Mar 22 19:18:26 When I kill postgres2 # features/steps/basic_replication.py:34 5046s Mar 22 19:18:27 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 5046s Mar 22 19:18:27 waiting for server to shut down.... done 5046s Mar 22 19:18:27 server stopped 5046s Mar 22 19:18:27 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 5064s Mar 22 19:18:45 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 5064s Mar 22 19:18:45 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 5064s Mar 22 19:18:45 Then I receive a response code 503 # features/steps/patroni_api.py:98 5064s Mar 22 19:18:45 And I receive a response role standby_leader # features/steps/patroni_api.py:98 5064s Mar 22 19:18:45 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 5065s Mar 22 19:18:46 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 5080s Mar 22 19:19:01 5080s Mar 22 19:19:01 Feature: watchdog # features/watchdog.feature:1 5080s Mar 22 19:19:01 Verify that watchdog gets pinged and triggered under appropriate circumstances. 5080s Mar 22 19:19:01 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 5080s Mar 22 19:19:01 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 5084s Mar 22 19:19:05 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 5085s Mar 22 19:19:06 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 5085s Mar 22 19:19:06 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 5085s Mar 22 19:19:06 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 5085s Mar 22 19:19:06 5085s Mar 22 19:19:06 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 5085s Mar 22 19:19:06 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 5087s Mar 22 19:19:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5087s Mar 22 19:19:08 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 5087s Mar 22 19:19:08 When I sleep for 4 seconds # features/steps/patroni_api.py:39 5091s Mar 22 19:19:12 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 5091s Mar 22 19:19:12 5091s Mar 22 19:19:12 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 5091s Mar 22 19:19:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 5093s Mar 22 19:19:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5093s Mar 22 19:19:14 When I sleep for 2 seconds # features/steps/patroni_api.py:39 5095s Mar 22 19:19:16 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 5095s Mar 22 19:19:16 5095s Mar 22 19:19:16 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 5095s Mar 22 19:19:16 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 5095s Mar 22 19:19:16 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 5097s Mar 22 19:19:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5097s Mar 22 19:19:18 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 5097s Mar 22 19:19:18 5097s Mar 22 19:19:18 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 5097s Mar 22 19:19:18 Given I shut down postgres0 # features/steps/basic_replication.py:29 5099s Mar 22 19:19:20 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 5099s Mar 22 19:19:20 5099s Mar 22 19:19:20 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 5099s Mar 22 19:19:20 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 5099s Mar 22 19:19:20 And I start postgres0 with watchdog # features/steps/watchdog.py:16 5102s Mar 22 19:19:23 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 5104s Mar 22 19:19:25 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 5104s Mar 22 19:19:25 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 5137s Mar 22 19:19:58 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4042.325914 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5351.336678 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4227.841879 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.7040.719478 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5389.866369 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6001.297158 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4420.203833 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5212.931598 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6840.843706 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4812.464689 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5873.591368 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3717.248754 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4855.964782 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5336.316202 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3633.623684 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5840.089941 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5103.181466 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4045.976533 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4093.405837 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5726.427366 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6403.798825 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6675.419244 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3946.469468 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6562.200556 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6974.907934 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6194.064332 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4276.920590 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.5998.777163 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4333.570774 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6099.643003 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5625.047108 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3630.393425 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.4223.277300 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6993.334496 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5433.628410 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4230.096704 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.5046.973663 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6148.074354 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5456.554649 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5804.022487 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.5723.480744 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6038.259991 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5772.625203 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6753.580000 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5145.171591 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3788.499041 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.6926.041277 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6930.494002 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6447.442996 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5050.724189 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5491.250005 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3754.900493 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3852.123899 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5285.076544 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.6397.976615 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5618.656380 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3888.735895 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6977.220939 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4737.579722 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6565.864085 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.5615.025403 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6981.304479 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4417.158474 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.5282.226796 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.6628.851292 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3892.685918 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.4135.605878 5138s Mar 22 19:19:59 Combined data file .coverage.autopkgtest.3678.964768 5138s Mar 22 19:19:59 Skipping duplicate data .coverage.autopkgtest.5427.704499 5140s Mar 22 19:20:01 Name Stmts Miss Cover 5140s Mar 22 19:20:01 ------------------------------------------------------------------------------------------------------------- 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 213 187 12% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 919 710 23% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/cmac.py 47 35 26% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ec.py 150 114 24% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/rsa.py 262 217 17% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/utils.py 35 28 20% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 57 59% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/utils.py 76 23 70% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/api.py 768 288 62% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/config.py 416 95 77% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 88 87% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 318 39 88% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/ha.py 1239 307 75% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/log.py 155 30 81% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 180 78% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 217 73% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 166 60% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 34 90% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/utils.py 318 110 65% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 392 62% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 40 84% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/six.py 504 250 50% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 5140s Mar 22 19:20:01 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 5140s Mar 22 19:20:01 patroni/__init__.py 13 2 85% 5140s Mar 22 19:20:01 patroni/__main__.py 199 199 0% 5140s Mar 22 19:20:01 patroni/api.py 768 768 0% 5140s Mar 22 19:20:01 patroni/async_executor.py 96 69 28% 5140s Mar 22 19:20:01 patroni/collections.py 43 11 74% 5140s Mar 22 19:20:01 patroni/config.py 416 199 52% 5140s Mar 22 19:20:01 patroni/config_generator.py 210 210 0% 5140s Mar 22 19:20:01 patroni/ctl.py 940 409 56% 5140s Mar 22 19:20:01 patroni/daemon.py 76 6 92% 5140s Mar 22 19:20:01 patroni/dcs/__init__.py 667 264 60% 5140s Mar 22 19:20:01 patroni/dcs/consul.py 482 482 0% 5140s Mar 22 19:20:01 patroni/dcs/etcd3.py 683 683 0% 5140s Mar 22 19:20:01 patroni/dcs/etcd.py 602 602 0% 5140s Mar 22 19:20:01 patroni/dcs/exhibitor.py 60 60 0% 5140s Mar 22 19:20:01 patroni/dcs/kubernetes.py 935 935 0% 5140s Mar 22 19:20:01 patroni/dcs/raft.py 318 73 77% 5140s Mar 22 19:20:01 patroni/dcs/zookeeper.py 287 287 0% 5140s Mar 22 19:20:01 patroni/exceptions.py 16 1 94% 5140s Mar 22 19:20:01 patroni/file_perm.py 43 15 65% 5140s Mar 22 19:20:01 patroni/ha.py 1239 1239 0% 5140s Mar 22 19:20:01 patroni/log.py 155 55 65% 5140s Mar 22 19:20:01 patroni/postgresql/__init__.py 826 655 21% 5140s Mar 22 19:20:01 patroni/postgresql/bootstrap.py 253 224 11% 5140s Mar 22 19:20:01 patroni/postgresql/callback_executor.py 55 34 38% 5140s Mar 22 19:20:01 patroni/postgresql/cancellable.py 104 84 19% 5140s Mar 22 19:20:01 patroni/postgresql/citus.py 258 217 16% 5140s Mar 22 19:20:01 patroni/postgresql/config.py 806 693 14% 5140s Mar 22 19:20:01 patroni/postgresql/connection.py 75 50 33% 5140s Mar 22 19:20:01 patroni/postgresql/misc.py 41 29 29% 5140s Mar 22 19:20:01 patroni/postgresql/postmaster.py 170 139 18% 5140s Mar 22 19:20:01 patroni/postgresql/rewind.py 415 415 0% 5140s Mar 22 19:20:01 patroni/postgresql/slots.py 332 285 14% 5140s Mar 22 19:20:01 patroni/postgresql/sync.py 129 96 26% 5140s Mar 22 19:20:01 patroni/postgresql/validator.py 165 53 68% 5140s Mar 22 19:20:01 patroni/psycopg.py 41 27 34% 5140s Mar 22 19:20:01 patroni/raft_controller.py 22 1 95% 5140s Mar 22 19:20:01 patroni/request.py 62 6 90% 5140s Mar 22 19:20:01 patroni/scripts/__init__.py 0 0 100% 5140s Mar 22 19:20:01 patroni/scripts/aws.py 59 59 0% 5140s Mar 22 19:20:01 patroni/scripts/wale_restore.py 207 207 0% 5140s Mar 22 19:20:01 patroni/tags.py 35 10 71% 5140s Mar 22 19:20:01 patroni/utils.py 318 192 40% 5140s Mar 22 19:20:01 patroni/validator.py 284 201 29% 5140s Mar 22 19:20:01 patroni/version.py 1 0 100% 5140s Mar 22 19:20:01 patroni/watchdog/__init__.py 2 2 0% 5140s Mar 22 19:20:01 patroni/watchdog/base.py 203 203 0% 5140s Mar 22 19:20:01 patroni/watchdog/linux.py 135 135 0% 5140s Mar 22 19:20:01 ------------------------------------------------------------------------------------------------------------- 5140s Mar 22 19:20:01 TOTAL 45066 25855 43% 5140s Mar 22 19:20:01 11 features passed, 0 failed, 1 skipped 5140s Mar 22 19:20:01 52 scenarios passed, 0 failed, 6 skipped 5140s Mar 22 19:20:01 509 steps passed, 0 failed, 63 skipped, 0 undefined 5140s Mar 22 19:20:01 Took 9m18.218s 5140s ### End 16 acceptance-raft ### 5140s + echo '### End 16 acceptance-raft ###' 5140s + rm -f '/tmp/pgpass?' 5140s ++ id -u 5140s + '[' 1000 -eq 0 ']' 5141s autopkgtest [19:20:02]: test acceptance-raft: -----------------------] 5141s autopkgtest [19:20:02]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 5141s acceptance-raft PASS 5142s autopkgtest [19:20:03]: test test: preparing testbed 5431s autopkgtest [19:24:52]: testbed dpkg architecture: ppc64el 5431s autopkgtest [19:24:52]: testbed apt version: 2.7.12 5431s autopkgtest [19:24:52]: @@@@@@@@@@@@@@@@@@@@ test bed setup 5432s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 5433s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 5433s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 5433s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 5433s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4047 kB] 5434s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [673 kB] 5434s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 5434s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 5434s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 5434s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4164 kB] 5435s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 5435s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [59.4 kB] 5435s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 5437s Fetched 9638 kB in 3s (3080 kB/s) 5438s Reading package lists... 5440s Reading package lists... 5440s Building dependency tree... 5440s Reading state information... 5440s Calculating upgrade... 5440s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5440s Reading package lists... 5441s Building dependency tree... 5441s Reading state information... 5441s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5442s sh: Attempting to set up Debian/Ubuntu apt sources automatically 5442s sh: Distribution appears to be Ubuntu 5442s Reading package lists... 5443s Building dependency tree... 5443s Reading state information... 5443s eatmydata is already the newest version (131-1). 5443s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5443s Reading package lists... 5443s Building dependency tree... 5443s Reading state information... 5443s dbus is already the newest version (1.14.10-4ubuntu1). 5443s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5443s Reading package lists... 5443s Building dependency tree... 5443s Reading state information... 5444s rng-tools-debian is already the newest version (2.4). 5444s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5444s Reading package lists... 5444s Building dependency tree... 5444s Reading state information... 5444s The following packages will be REMOVED: 5444s cloud-init* python3-configobj* python3-debconf* 5444s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 5444s After this operation, 3256 kB disk space will be freed. 5444s (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 ... 70156 files and directories currently installed.) 5444s Removing cloud-init (24.1.2-0ubuntu1) ... 5445s Removing python3-configobj (5.0.8-3) ... 5445s Removing python3-debconf (1.5.86) ... 5445s Processing triggers for man-db (2.12.0-3) ... 5445s (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 ... 69767 files and directories currently installed.) 5445s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 5446s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 5446s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 5446s invoke-rc.d: policy-rc.d denied execution of try-restart. 5446s Reading package lists... 5446s Building dependency tree... 5446s Reading state information... 5446s linux-generic is already the newest version (6.8.0-11.11+1). 5446s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5447s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 5447s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 5447s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 5449s Reading package lists... 5449s Reading package lists... 5449s Building dependency tree... 5449s Reading state information... 5450s Calculating upgrade... 5450s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5450s Reading package lists... 5450s Building dependency tree... 5450s Reading state information... 5450s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 5450s autopkgtest [19:25:11]: rebooting testbed after setup commands that affected boot 5629s Reading package lists... 5629s Building dependency tree... 5629s Reading state information... 5630s Starting pkgProblemResolver with broken count: 0 5630s Starting 2 pkgProblemResolver with broken count: 0 5630s Done 5630s The following additional packages will be installed: 5630s fonts-font-awesome fonts-lato libc-ares2 libev4 libjs-jquery 5630s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 5630s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 5630s libjs-underscore libpq5 patroni patroni-doc python3-boto3 python3-botocore 5630s python3-cachetools python3-cdiff python3-click python3-colorama 5630s python3-consul python3-coverage python3-dateutil python3-dnspython 5630s python3-etcd python3-eventlet python3-flake8 python3-gevent 5630s python3-google-auth python3-greenlet python3-iniconfig python3-jmespath 5630s python3-kazoo python3-kerberos python3-kubernetes python3-mccabe 5630s python3-mock python3-packaging python3-pluggy python3-prettytable 5630s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 5630s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 5630s python3-pysyncobj python3-pytest python3-pytest-cov 5630s python3-requests-oauthlib python3-rsa python3-s3transfer python3-wcwidth 5630s python3-websocket python3-zope.event python3-zope.interface 5630s sphinx-rtd-theme-common 5630s Suggested packages: 5630s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 5630s python3-tornado python3-twisted python-coverage-doc python3-trio 5630s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 5630s python-eventlet-doc python-gevent-doc python-greenlet-dev 5630s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 5630s Recommended packages: 5630s javascript-common pyflakes3 5630s The following NEW packages will be installed: 5630s autopkgtest-satdep fonts-font-awesome fonts-lato libc-ares2 libev4 5630s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 5630s libjs-jquery-metadata libjs-jquery-tablesorter 5630s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 5630s patroni patroni-doc python3-boto3 python3-botocore python3-cachetools 5630s python3-cdiff python3-click python3-colorama python3-consul python3-coverage 5630s python3-dateutil python3-dnspython python3-etcd python3-eventlet 5630s python3-flake8 python3-gevent python3-google-auth python3-greenlet 5630s python3-iniconfig python3-jmespath python3-kazoo python3-kerberos 5630s python3-kubernetes python3-mccabe python3-mock python3-packaging 5630s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 5630s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 5630s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 5630s python3-requests-oauthlib python3-rsa python3-s3transfer python3-wcwidth 5630s python3-websocket python3-zope.event python3-zope.interface 5630s sphinx-rtd-theme-common 5630s 0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded. 5630s Need to get 16.7 MB/16.7 MB of archives. 5630s After this operation, 156 MB of additional disk space will be used. 5630s Get:1 /tmp/autopkgtest.gBYNUz/7-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [788 B] 5630s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-lato all 2.015-1 [2781 kB] 5632s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 5632s Get:4 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2ubuntu2 [11.5 kB] 5632s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 5632s Get:6 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjs-jquery-metadata all 12-4 [6582 B] 5632s Get:7 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjs-jquery-tablesorter all 1:2.31.3+dfsg1-3 [193 kB] 5632s Get:8 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 5632s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 5632s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-sphinxdoc all 7.2.6-4 [149 kB] 5632s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libpq5 ppc64el 16.2-1 [170 kB] 5632s Get:12 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cdiff all 1.0-1.1 [16.4 kB] 5632s Get:13 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 5632s Get:14 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-click all 8.1.6-1 [79.0 kB] 5632s Get:15 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 5632s Get:16 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 5632s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-prettytable all 3.6.0-1 [33.1 kB] 5632s Get:18 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psutil ppc64el 5.9.8-1 [197 kB] 5632s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-psycopg2 ppc64el 2.9.9-1 [197 kB] 5632s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 5632s Get:21 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-etcd all 0.4.5-4 [31.9 kB] 5632s Get:22 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-consul all 0.7.1-2 [21.6 kB] 5632s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-greenlet ppc64el 3.0.1-2 [185 kB] 5633s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-eventlet all 0.35.1-0ubuntu1 [162 kB] 5633s Get:25 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-zope.event all 5.0-0.1 [7512 B] 5633s Get:26 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-zope.interface ppc64el 6.1-1 [185 kB] 5633s Get:27 http://ftpmaster.internal/ubuntu noble/main ppc64el libc-ares2 ppc64el 1.27.0-1 [99.0 kB] 5633s Get:28 http://ftpmaster.internal/ubuntu noble/universe ppc64el libev4 ppc64el 1:4.33-2 [33.4 kB] 5633s Get:29 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-gevent ppc64el 23.9.1-0.2 [1303 kB] 5633s Get:30 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-kerberos ppc64el 1.1.14-3.1build8 [23.3 kB] 5633s Get:31 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 5633s Get:32 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-kazoo all 2.9.0-2 [103 kB] 5633s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-cachetools all 5.3.0-2 [10.6 kB] 5633s Get:34 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-pyasn1 all 0.4.8-4 [51.2 kB] 5633s Get:35 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-pyasn1-modules all 0.2.8-1 [68.0 kB] 5633s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-rsa all 4.9-2 [28.2 kB] 5633s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-google-auth all 1.5.1-3 [35.7 kB] 5633s Get:38 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 5633s Get:39 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-websocket all 1.7.0-1 [38.1 kB] 5633s Get:40 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-kubernetes all 22.6.0-2 [330 kB] 5633s Get:41 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pysyncobj all 0.3.12-1 [38.9 kB] 5633s Get:42 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni all 3.2.2-2 [253 kB] 5633s Get:43 http://ftpmaster.internal/ubuntu noble/main ppc64el sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 5633s Get:44 http://ftpmaster.internal/ubuntu noble/universe ppc64el patroni-doc all 3.2.2-2 [476 kB] 5633s Get:45 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-jmespath all 1.0.1-1 [21.3 kB] 5633s Get:46 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-botocore all 1.34.46+repack-1 [6211 kB] 5634s Get:47 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-s3transfer all 0.10.0-1 [53.9 kB] 5634s Get:48 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-boto3 all 1.34.18+dfsg-1 [72.3 kB] 5634s Get:49 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-coverage ppc64el 7.3.2-0ubuntu1 [148 kB] 5634s Get:50 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-mccabe all 0.7.0-1 [8678 B] 5634s Get:51 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pycodestyle all 2.11.1-1 [29.9 kB] 5634s Get:52 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pyflakes all 3.1.0-1 [52.6 kB] 5634s Get:53 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-flake8 all 5.0.4-4 [47.0 kB] 5634s Get:54 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 5634s Get:55 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-packaging all 23.2-1 [40.6 kB] 5634s Get:56 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pluggy all 1.4.0-1 [20.4 kB] 5634s Get:57 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pytest all 7.4.4-1 [305 kB] 5634s Get:58 http://ftpmaster.internal/ubuntu noble/universe ppc64el libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 5634s Get:59 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pytest-cov all 4.1.0-1 [21.5 kB] 5634s Get:60 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-mock all 5.1.0-1 [64.1 kB] 5635s Fetched 16.7 MB in 5s (3660 kB/s) 5635s Selecting previously unselected package fonts-lato. 5635s (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 ... 69712 files and directories currently installed.) 5635s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 5635s Unpacking fonts-lato (2.015-1) ... 5635s Selecting previously unselected package libjs-jquery. 5635s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 5635s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 5635s Selecting previously unselected package libjs-jquery-hotkeys. 5635s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2ubuntu2_all.deb ... 5635s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2ubuntu2) ... 5635s Selecting previously unselected package fonts-font-awesome. 5635s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 5635s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 5635s Selecting previously unselected package libjs-jquery-metadata. 5635s Preparing to unpack .../04-libjs-jquery-metadata_12-4_all.deb ... 5635s Unpacking libjs-jquery-metadata (12-4) ... 5635s Selecting previously unselected package libjs-jquery-tablesorter. 5635s Preparing to unpack .../05-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-3_all.deb ... 5635s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 5635s Selecting previously unselected package libjs-jquery-throttle-debounce. 5635s Preparing to unpack .../06-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 5635s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 5635s Selecting previously unselected package libjs-underscore. 5635s Preparing to unpack .../07-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 5635s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 5635s Selecting previously unselected package libjs-sphinxdoc. 5635s Preparing to unpack .../08-libjs-sphinxdoc_7.2.6-4_all.deb ... 5635s Unpacking libjs-sphinxdoc (7.2.6-4) ... 5635s Selecting previously unselected package libpq5:ppc64el. 5635s Preparing to unpack .../09-libpq5_16.2-1_ppc64el.deb ... 5635s Unpacking libpq5:ppc64el (16.2-1) ... 5635s Selecting previously unselected package python3-cdiff. 5635s Preparing to unpack .../10-python3-cdiff_1.0-1.1_all.deb ... 5635s Unpacking python3-cdiff (1.0-1.1) ... 5635s Selecting previously unselected package python3-colorama. 5635s Preparing to unpack .../11-python3-colorama_0.4.6-4_all.deb ... 5635s Unpacking python3-colorama (0.4.6-4) ... 5635s Selecting previously unselected package python3-click. 5635s Preparing to unpack .../12-python3-click_8.1.6-1_all.deb ... 5635s Unpacking python3-click (8.1.6-1) ... 5635s Selecting previously unselected package python3-dateutil. 5635s Preparing to unpack .../13-python3-dateutil_2.8.2-3_all.deb ... 5635s Unpacking python3-dateutil (2.8.2-3) ... 5635s Selecting previously unselected package python3-wcwidth. 5635s Preparing to unpack .../14-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 5635s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 5635s Selecting previously unselected package python3-prettytable. 5635s Preparing to unpack .../15-python3-prettytable_3.6.0-1_all.deb ... 5635s Unpacking python3-prettytable (3.6.0-1) ... 5635s Selecting previously unselected package python3-psutil. 5635s Preparing to unpack .../16-python3-psutil_5.9.8-1_ppc64el.deb ... 5635s Unpacking python3-psutil (5.9.8-1) ... 5635s Selecting previously unselected package python3-psycopg2. 5635s Preparing to unpack .../17-python3-psycopg2_2.9.9-1_ppc64el.deb ... 5635s Unpacking python3-psycopg2 (2.9.9-1) ... 5636s Selecting previously unselected package python3-dnspython. 5636s Preparing to unpack .../18-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 5636s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 5636s Selecting previously unselected package python3-etcd. 5636s Preparing to unpack .../19-python3-etcd_0.4.5-4_all.deb ... 5636s Unpacking python3-etcd (0.4.5-4) ... 5636s Selecting previously unselected package python3-consul. 5636s Preparing to unpack .../20-python3-consul_0.7.1-2_all.deb ... 5636s Unpacking python3-consul (0.7.1-2) ... 5636s Selecting previously unselected package python3-greenlet. 5636s Preparing to unpack .../21-python3-greenlet_3.0.1-2_ppc64el.deb ... 5636s Unpacking python3-greenlet (3.0.1-2) ... 5636s Selecting previously unselected package python3-eventlet. 5636s Preparing to unpack .../22-python3-eventlet_0.35.1-0ubuntu1_all.deb ... 5636s Unpacking python3-eventlet (0.35.1-0ubuntu1) ... 5636s Selecting previously unselected package python3-zope.event. 5636s Preparing to unpack .../23-python3-zope.event_5.0-0.1_all.deb ... 5636s Unpacking python3-zope.event (5.0-0.1) ... 5636s Selecting previously unselected package python3-zope.interface. 5636s Preparing to unpack .../24-python3-zope.interface_6.1-1_ppc64el.deb ... 5636s Unpacking python3-zope.interface (6.1-1) ... 5636s Selecting previously unselected package libc-ares2:ppc64el. 5636s Preparing to unpack .../25-libc-ares2_1.27.0-1_ppc64el.deb ... 5636s Unpacking libc-ares2:ppc64el (1.27.0-1) ... 5636s Selecting previously unselected package libev4:ppc64el. 5636s Preparing to unpack .../26-libev4_1%3a4.33-2_ppc64el.deb ... 5636s Unpacking libev4:ppc64el (1:4.33-2) ... 5636s Selecting previously unselected package python3-gevent. 5636s Preparing to unpack .../27-python3-gevent_23.9.1-0.2_ppc64el.deb ... 5636s Unpacking python3-gevent (23.9.1-0.2) ... 5636s Selecting previously unselected package python3-kerberos. 5636s Preparing to unpack .../28-python3-kerberos_1.1.14-3.1build8_ppc64el.deb ... 5636s Unpacking python3-kerberos (1.1.14-3.1build8) ... 5636s Selecting previously unselected package python3-pure-sasl. 5636s Preparing to unpack .../29-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 5636s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 5636s Selecting previously unselected package python3-kazoo. 5636s Preparing to unpack .../30-python3-kazoo_2.9.0-2_all.deb ... 5636s Unpacking python3-kazoo (2.9.0-2) ... 5636s Selecting previously unselected package python3-cachetools. 5636s Preparing to unpack .../31-python3-cachetools_5.3.0-2_all.deb ... 5636s Unpacking python3-cachetools (5.3.0-2) ... 5636s Selecting previously unselected package python3-pyasn1. 5636s Preparing to unpack .../32-python3-pyasn1_0.4.8-4_all.deb ... 5636s Unpacking python3-pyasn1 (0.4.8-4) ... 5636s Selecting previously unselected package python3-pyasn1-modules. 5636s Preparing to unpack .../33-python3-pyasn1-modules_0.2.8-1_all.deb ... 5636s Unpacking python3-pyasn1-modules (0.2.8-1) ... 5636s Selecting previously unselected package python3-rsa. 5636s Preparing to unpack .../34-python3-rsa_4.9-2_all.deb ... 5636s Unpacking python3-rsa (4.9-2) ... 5636s Selecting previously unselected package python3-google-auth. 5636s Preparing to unpack .../35-python3-google-auth_1.5.1-3_all.deb ... 5636s Unpacking python3-google-auth (1.5.1-3) ... 5636s Selecting previously unselected package python3-requests-oauthlib. 5636s Preparing to unpack .../36-python3-requests-oauthlib_1.3.1-1_all.deb ... 5636s Unpacking python3-requests-oauthlib (1.3.1-1) ... 5636s Selecting previously unselected package python3-websocket. 5636s Preparing to unpack .../37-python3-websocket_1.7.0-1_all.deb ... 5636s Unpacking python3-websocket (1.7.0-1) ... 5636s Selecting previously unselected package python3-kubernetes. 5636s Preparing to unpack .../38-python3-kubernetes_22.6.0-2_all.deb ... 5636s Unpacking python3-kubernetes (22.6.0-2) ... 5636s Selecting previously unselected package python3-pysyncobj. 5636s Preparing to unpack .../39-python3-pysyncobj_0.3.12-1_all.deb ... 5636s Unpacking python3-pysyncobj (0.3.12-1) ... 5636s Selecting previously unselected package patroni. 5636s Preparing to unpack .../40-patroni_3.2.2-2_all.deb ... 5636s Unpacking patroni (3.2.2-2) ... 5636s Selecting previously unselected package sphinx-rtd-theme-common. 5636s Preparing to unpack .../41-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 5636s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 5636s Selecting previously unselected package patroni-doc. 5636s Preparing to unpack .../42-patroni-doc_3.2.2-2_all.deb ... 5636s Unpacking patroni-doc (3.2.2-2) ... 5636s Selecting previously unselected package python3-jmespath. 5636s Preparing to unpack .../43-python3-jmespath_1.0.1-1_all.deb ... 5636s Unpacking python3-jmespath (1.0.1-1) ... 5636s Selecting previously unselected package python3-botocore. 5636s Preparing to unpack .../44-python3-botocore_1.34.46+repack-1_all.deb ... 5636s Unpacking python3-botocore (1.34.46+repack-1) ... 5637s Selecting previously unselected package python3-s3transfer. 5637s Preparing to unpack .../45-python3-s3transfer_0.10.0-1_all.deb ... 5637s Unpacking python3-s3transfer (0.10.0-1) ... 5637s Selecting previously unselected package python3-boto3. 5637s Preparing to unpack .../46-python3-boto3_1.34.18+dfsg-1_all.deb ... 5637s Unpacking python3-boto3 (1.34.18+dfsg-1) ... 5637s Selecting previously unselected package python3-coverage. 5637s Preparing to unpack .../47-python3-coverage_7.3.2-0ubuntu1_ppc64el.deb ... 5637s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 5637s Selecting previously unselected package python3-mccabe. 5637s Preparing to unpack .../48-python3-mccabe_0.7.0-1_all.deb ... 5637s Unpacking python3-mccabe (0.7.0-1) ... 5637s Selecting previously unselected package python3-pycodestyle. 5637s Preparing to unpack .../49-python3-pycodestyle_2.11.1-1_all.deb ... 5637s Unpacking python3-pycodestyle (2.11.1-1) ... 5637s Selecting previously unselected package python3-pyflakes. 5637s Preparing to unpack .../50-python3-pyflakes_3.1.0-1_all.deb ... 5637s Unpacking python3-pyflakes (3.1.0-1) ... 5637s Selecting previously unselected package python3-flake8. 5637s Preparing to unpack .../51-python3-flake8_5.0.4-4_all.deb ... 5637s Unpacking python3-flake8 (5.0.4-4) ... 5637s Selecting previously unselected package python3-iniconfig. 5637s Preparing to unpack .../52-python3-iniconfig_1.1.1-2_all.deb ... 5637s Unpacking python3-iniconfig (1.1.1-2) ... 5637s Selecting previously unselected package python3-packaging. 5637s Preparing to unpack .../53-python3-packaging_23.2-1_all.deb ... 5637s Unpacking python3-packaging (23.2-1) ... 5637s Selecting previously unselected package python3-pluggy. 5637s Preparing to unpack .../54-python3-pluggy_1.4.0-1_all.deb ... 5637s Unpacking python3-pluggy (1.4.0-1) ... 5637s Selecting previously unselected package python3-pytest. 5637s Preparing to unpack .../55-python3-pytest_7.4.4-1_all.deb ... 5637s Unpacking python3-pytest (7.4.4-1) ... 5637s Selecting previously unselected package libjs-jquery-isonscreen. 5637s Preparing to unpack .../56-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 5637s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 5637s Selecting previously unselected package python3-pytest-cov. 5637s Preparing to unpack .../57-python3-pytest-cov_4.1.0-1_all.deb ... 5637s Unpacking python3-pytest-cov (4.1.0-1) ... 5637s Selecting previously unselected package python3-mock. 5637s Preparing to unpack .../58-python3-mock_5.1.0-1_all.deb ... 5637s Unpacking python3-mock (5.1.0-1) ... 5637s Selecting previously unselected package autopkgtest-satdep. 5637s Preparing to unpack .../59-7-autopkgtest-satdep.deb ... 5637s Unpacking autopkgtest-satdep (0) ... 5637s Setting up python3-iniconfig (1.1.1-2) ... 5638s Setting up fonts-lato (2.015-1) ... 5638s Setting up python3-pysyncobj (0.3.12-1) ... 5638s Setting up python3-cachetools (5.3.0-2) ... 5638s Setting up python3-colorama (0.4.6-4) ... 5638s Setting up python3-zope.event (5.0-0.1) ... 5638s Setting up python3-zope.interface (6.1-1) ... 5638s Setting up libev4:ppc64el (1:4.33-2) ... 5638s Setting up python3-cdiff (1.0-1.1) ... 5639s Setting up python3-pyflakes (3.1.0-1) ... 5639s Setting up libpq5:ppc64el (16.2-1) ... 5639s Setting up python3-kerberos (1.1.14-3.1build8) ... 5639s Setting up python3-coverage (7.3.2-0ubuntu1) ... 5639s Setting up libc-ares2:ppc64el (1.27.0-1) ... 5639s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 5639s Setting up python3-click (8.1.6-1) ... 5639s Setting up python3-psutil (5.9.8-1) ... 5639s Setting up python3-mock (5.1.0-1) ... 5640s Setting up python3-pycodestyle (2.11.1-1) ... 5640s Setting up python3-packaging (23.2-1) ... 5640s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 5640s Setting up python3-jmespath (1.0.1-1) ... 5640s Setting up python3-greenlet (3.0.1-2) ... 5640s Setting up python3-psycopg2 (2.9.9-1) ... 5640s Setting up python3-pluggy (1.4.0-1) ... 5641s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 5641s Setting up python3-pyasn1 (0.4.8-4) ... 5641s Setting up python3-dateutil (2.8.2-3) ... 5641s Setting up python3-mccabe (0.7.0-1) ... 5641s Setting up python3-consul (0.7.1-2) ... 5641s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 5641s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2ubuntu2) ... 5641s Setting up python3-prettytable (3.6.0-1) ... 5642s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 5642s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 5642s Setting up python3-websocket (1.7.0-1) ... 5642s Setting up python3-requests-oauthlib (1.3.1-1) ... 5642s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 5642s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 5642s Setting up python3-etcd (0.4.5-4) ... 5642s Setting up python3-pytest (7.4.4-1) ... 5643s Setting up python3-gevent (23.9.1-0.2) ... 5643s Setting up python3-flake8 (5.0.4-4) ... 5643s Setting up python3-eventlet (0.35.1-0ubuntu1) ... 5643s Setting up python3-kazoo (2.9.0-2) ... 5643s Setting up python3-pyasn1-modules (0.2.8-1) ... 5644s Setting up libjs-jquery-metadata (12-4) ... 5644s Setting up python3-botocore (1.34.46+repack-1) ... 5644s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 5644s Setting up libjs-sphinxdoc (7.2.6-4) ... 5644s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 5644s Setting up python3-rsa (4.9-2) ... 5644s Setting up patroni (3.2.2-2) ... 5644s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 5645s Setting up patroni-doc (3.2.2-2) ... 5645s Setting up python3-s3transfer (0.10.0-1) ... 5645s Setting up python3-pytest-cov (4.1.0-1) ... 5645s Setting up python3-google-auth (1.5.1-3) ... 5645s Setting up python3-boto3 (1.34.18+dfsg-1) ... 5646s Setting up python3-kubernetes (22.6.0-2) ... 5647s Setting up autopkgtest-satdep (0) ... 5647s Processing triggers for man-db (2.12.0-3) ... 5647s Processing triggers for libc-bin (2.39-0ubuntu2) ... 5650s (Reading database ... 75401 files and directories currently installed.) 5650s Removing autopkgtest-satdep (0) ... 5654s autopkgtest [19:28:35]: test test: [----------------------- 5654s running test 5654s ============================= test session starts ============================== 5654s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3 5654s cachedir: .pytest_cache 5654s rootdir: /tmp/autopkgtest.gBYNUz/build.hZE/src 5654s plugins: cov-4.1.0 5662s collecting ... collected 607 items 5662s 5662s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 5662s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 5662s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 5662s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 5662s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 5662s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 5662s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 5662s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 3%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 5662s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 5662s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 5663s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 5663s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 5663s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 5663s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 5663s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 5663s tests/test_api.py::TestRestApiServer::test_query PASSED [ 5%] 5663s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 5663s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 5663s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 5663s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 5663s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 5663s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 6%] 5663s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 5663s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 5663s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 5663s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 5663s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 5663s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 7%] 5663s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 7%] 5663s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 7%] 5663s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 7%] 5663s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 7%] 5663s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 7%] 5663s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 8%] 5663s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 8%] 5663s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 8%] 5663s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 8%] 5663s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 8%] 5663s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 8%] 5663s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 9%] 5664s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 9%] 5664s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 9%] 5664s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 9%] 5664s tests/test_citus.py::TestCitus::test_bootstrap SKIPPED (Citus not te...) [ 9%] 5664s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 9%] 5664s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 10%] 5664s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 10%] 5664s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 10%] 5664s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 10%] 5664s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 10%] 5664s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 10%] 5664s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 11%] 5664s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 11%] 5664s tests/test_citus.py::TestCitus::test_sync_pg_dist_node SKIPPED (Citu...) [ 11%] 5664s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 11%] 5664s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 11%] 5664s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 11%] 5664s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 12%] 5664s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 12%] 5664s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 12%] 5664s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 12%] 5664s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 12%] 5664s tests/test_config.py::TestConfig::test_save_cache PASSED [ 12%] 5664s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 13%] 5664s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 13%] 5664s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 13%] 5664s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 13%] 5664s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 13%] 5664s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 13%] 5664s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 14%] 5664s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 14%] 5664s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 14%] 5664s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 14%] 5664s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 14%] 5664s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 14%] 5664s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 14%] 5664s tests/test_consul.py::TestConsul::test_create_session PASSED [ 15%] 5664s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 15%] 5664s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 15%] 5664s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 15%] 5664s tests/test_consul.py::TestConsul::test_initialize PASSED [ 15%] 5664s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 15%] 5664s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 16%] 5664s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 16%] 5664s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 16%] 5664s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 16%] 5664s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 16%] 5664s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 16%] 5664s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 17%] 5664s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 17%] 5664s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 17%] 5664s tests/test_consul.py::TestConsul::test_update_service PASSED [ 17%] 5664s tests/test_consul.py::TestConsul::test_watch PASSED [ 17%] 5664s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 17%] 5664s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 18%] 5664s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 18%] 5664s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 18%] 5664s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 18%] 5664s tests/test_ctl.py::TestCtl::test_failover PASSED [ 18%] 5664s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 18%] 5664s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 19%] 5664s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 19%] 5664s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 19%] 5664s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 19%] 5664s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 19%] 5664s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 19%] 5664s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 20%] 5664s tests/test_ctl.py::TestCtl::test_history PASSED [ 20%] 5664s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 20%] 5664s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 20%] 5664s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 20%] 5664s tests/test_ctl.py::TestCtl::test_members PASSED [ 20%] 5664s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 21%] 5664s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 21%] 5664s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 21%] 5664s tests/test_ctl.py::TestCtl::test_query PASSED [ 21%] 5664s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 21%] 5664s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 21%] 5664s tests/test_ctl.py::TestCtl::test_reload PASSED [ 22%] 5664s tests/test_ctl.py::TestCtl::test_remove PASSED [ 22%] 5664s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 22%] 5664s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 22%] 5664s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 22%] 5664s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 22%] 5664s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 23%] 5664s tests/test_ctl.py::TestCtl::test_topology PASSED [ 23%] 5664s tests/test_ctl.py::TestCtl::test_version PASSED [ 23%] 5664s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 23%] 5664s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 23%] 5664s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 23%] 5664s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 24%] 5664s tests/test_etcd.py::TestClient::test___del__ PASSED [ 24%] 5664s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 24%] 5664s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 24%] 5664s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 24%] 5664s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 24%] 5665s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 25%] 5665s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 25%] 5665s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 25%] 5665s tests/test_etcd.py::TestClient::test_machines PASSED [ 25%] 5665s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 25%] 5665s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 25%] 5665s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 26%] 5665s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 26%] 5665s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 26%] 5665s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 26%] 5665s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 26%] 5665s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 26%] 5665s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 27%] 5665s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 27%] 5665s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 27%] 5665s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 27%] 5665s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 27%] 5665s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 27%] 5665s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 5665s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 28%] 5665s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 28%] 5665s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 28%] 5665s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 28%] 5665s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 28%] 5665s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 28%] 5665s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 29%] 5665s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 29%] 5665s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 29%] 5665s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 29%] 5665s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 29%] 5665s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 29%] 5665s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 5665s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 30%] 5666s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 30%] 5666s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 30%] 5666s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 30%] 5666s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 30%] 5666s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 5666s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 31%] 5666s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 31%] 5666s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 31%] 5666s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 31%] 5666s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 31%] 5666s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 5666s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 5666s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 32%] 5666s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 32%] 5666s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 32%] 5666s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 32%] 5666s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 5666s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 5666s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 33%] 5666s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 33%] 5666s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 33%] 5666s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 33%] 5666s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 5666s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 5666s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 5666s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 34%] 5666s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 34%] 5666s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 34%] 5666s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 5666s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 5666s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 5666s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 35%] 5666s tests/test_ha.py::TestHa::test_after_pause PASSED [ 35%] 5666s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 35%] 5666s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 5666s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 5666s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 5666s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 5666s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 36%] 5666s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 36%] 5666s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 5666s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 5666s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 5666s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 5666s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 37%] 5666s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 37%] 5666s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 5666s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 5666s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 5666s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 5666s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 38%] 5666s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 38%] 5666s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 5666s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 5666s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 5666s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 5666s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 5666s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 39%] 5666s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 5666s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 5666s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 5666s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 5666s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 5666s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 40%] 5666s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 5666s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 5666s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 5666s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 5666s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 5666s tests/test_ha.py::TestHa::test_is_leader PASSED [ 41%] 5666s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 5666s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 5666s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 5666s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 5666s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 5667s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 42%] 5667s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 42%] 5667s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 5667s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 5667s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 5667s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 5667s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 5667s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 43%] 5667s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 5667s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 5667s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 5667s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 5667s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 5667s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 44%] 5667s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 5667s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 5667s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 5667s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 5667s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 5667s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 5667s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 5667s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 5667s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 5667s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 5667s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 5667s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 5667s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 5667s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 5667s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 5667s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 5667s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 5667s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 5667s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 48%] 5667s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 5667s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 5667s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 5667s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 5667s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 5667s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 49%] 5667s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 5667s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 5667s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 5667s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 5667s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 5667s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 50%] 5667s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 5667s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 5667s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 5667s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 5667s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 5667s tests/test_ha.py::TestHa::test_shutdown PASSED [ 51%] 5668s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 51%] 5668s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 5668s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 5668s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 5668s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 5668s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 52%] 5668s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 52%] 5668s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 5668s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 5668s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 5668s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 5668s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 53%] 5668s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 53%] 5668s tests/test_ha.py::TestHa::test_update_lock PASSED [ 53%] 5668s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 5668s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 5668s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 5668s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 54%] 5668s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 54%] 5668s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 54%] 5668s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 5668s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 5668s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 5668s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 55%] 5668s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 55%] 5668s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 55%] 5668s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 55%] 5668s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 56%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 56%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 56%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 56%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 57%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 57%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 57%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 57%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 5668s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 58%] 5669s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 58%] 5669s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 58%] 5669s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 5669s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 5669s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 5669s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 59%] 5669s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 59%] 5669s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 59%] 5669s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 59%] 5669s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 5669s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 5669s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 60%] 5669s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 60%] 5669s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 5669s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 5670s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 60%] 5670s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 60%] 5670s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 5670s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 61%] 5670s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 61%] 5670s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 61%] 5670s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 61%] 5670s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 61%] 5670s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 62%] 5670s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 62%] 5670s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 62%] 5670s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 62%] 5670s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 62%] 5670s tests/test_patroni.py::TestPatroni::test_run PASSED [ 62%] 5670s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 5670s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 63%] 5670s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 63%] 5670s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 63%] 5670s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 63%] 5670s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 63%] 5670s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 5670s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 64%] 5670s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 64%] 5670s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 64%] 5670s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 64%] 5670s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 64%] 5670s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 5670s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 5670s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 65%] 5670s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 65%] 5670s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 65%] 5670s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 65%] 5671s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 5671s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 5671s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 66%] 5671s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 66%] 5671s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 66%] 5671s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 66%] 5671s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 5671s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 5671s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 5671s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 67%] 5671s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 67%] 5671s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 67%] 5671s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 5671s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 5671s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 5671s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 68%] 5671s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 68%] 5671s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 68%] 5671s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 5671s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 5671s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 5671s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 5671s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 69%] 5671s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 69%] 5671s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 5671s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 5671s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 5671s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 5671s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 70%] 5671s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 70%] 5671s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 5671s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 5671s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 5671s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 5671s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 5671s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 71%] 5671s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 71%] 5671s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 5671s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 5671s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 5671s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 5671s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 72%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 72%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 73%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 5671s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 5671s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 5671s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 5671s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 5671s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 74%] 5672s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 5675s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 5677s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 5677s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 5678s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 5678s tests/test_raft.py::TestRaft::test_init PASSED [ 75%] 5680s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 5680s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 5680s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 5680s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 5680s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 5680s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 5680s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 5680s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 5680s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 5680s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 5680s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 5680s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 5680s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 5680s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 5680s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 5680s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 5680s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 5680s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 5680s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 79%] 5680s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 5680s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 5680s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 5680s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 5680s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 5680s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 5680s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 5680s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 5680s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 5681s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 5681s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 80%] 5681s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 5681s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 5681s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 5681s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 5681s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 5681s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 81%] 5681s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 5681s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 5681s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 5681s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 5681s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 5681s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 5681s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 5681s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 5681s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 5681s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 5681s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 5681s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 5681s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 5681s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 5681s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 5681s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 5681s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 5681s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 5681s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 5681s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 5681s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 5681s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 5681s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 5681s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 5681s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 85%] 5681s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 5681s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 5681s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 5681s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 5681s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 5681s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 5681s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 5681s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 5681s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 5681s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 5681s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 5681s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 5681s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 5681s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 5681s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 5681s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 5681s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 5681s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 5681s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 5681s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 5681s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 5681s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 5681s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 5681s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 90%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 91%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 92%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 93%] 5681s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 5681s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 5681s patroni/api.py::patroni.api.check_access PASSED [ 93%] 5681s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 5681s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 5681s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 94%] 5681s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 94%] 5681s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 5681s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 5681s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 5681s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 5682s patroni/ctl.py::patroni.ctl.watching PASSED [ 95%] 5682s patroni/utils.py::patroni.utils.compare_values PASSED [ 95%] 5682s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 95%] 5682s patroni/utils.py::patroni.utils.deep_compare PASSED [ 95%] 5682s patroni/utils.py::patroni.utils.parse_bool PASSED [ 95%] 5682s patroni/utils.py::patroni.utils.parse_int PASSED [ 95%] 5682s patroni/utils.py::patroni.utils.parse_real PASSED [ 96%] 5682s patroni/utils.py::patroni.utils.split_host_port PASSED [ 96%] 5682s patroni/utils.py::patroni.utils.strtod PASSED [ 96%] 5682s patroni/utils.py::patroni.utils.strtol PASSED [ 96%] 5682s patroni/utils.py::patroni.utils.unquote PASSED [ 96%] 5682s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 96%] 5682s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 97%] 5682s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 97%] 5682s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 97%] 5682s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 97%] 5682s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 97%] 5682s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 97%] 5682s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 98%] 5682s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 98%] 5682s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 98%] 5682s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 98%] 5682s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 98%] 5682s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 98%] 5682s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 99%] 5682s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 99%] 5682s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 99%] 5682s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 99%] 5682s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 99%] 5682s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 99%] 5685s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [100%] 5685s 5685s =============================== warnings summary =============================== 5685s ../../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 5685s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 5685s EPOCH = datetime.datetime.utcfromtimestamp(0) 5685s 5685s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader 5685s /tmp/autopkgtest.gBYNUz/build.hZE/src/tests/test_ha.py:787: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 5685s scheduled = datetime.datetime.utcnow().replace(tzinfo=tzutc) 5685s 5685s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster 5685s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader 5685s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator 5685s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator 5685s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster 5685s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster 5685s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader 5685s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry 5685s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader 5685s /usr/lib/python3/dist-packages/urllib3/_request_methods.py:143: DeprecationWarning: URLs without a scheme (ie 'https://') are deprecated and will raise an error in a future version of urllib3. To avoid this DeprecationWarning ensure all URLs start with 'https://' or 'http://'. Read more in this issue: https://github.com/urllib3/urllib3/issues/2920 5685s return self.urlopen(method, url, **extra_kw) 5685s 5685s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 5685s 5685s ---------- coverage: platform linux, python 3.12.2-final-0 ----------- 5685s Name Stmts Miss Cover Missing 5685s ----------------------------------------------------------------------- 5685s patroni/__init__.py 13 0 100% 5685s patroni/__main__.py 199 1 99% 395 5685s patroni/api.py 768 0 100% 5685s patroni/async_executor.py 96 0 100% 5685s patroni/collections.py 43 3 93% 49, 98, 106 5685s patroni/config.py 416 0 100% 5685s patroni/config_generator.py 210 0 100% 5685s patroni/ctl.py 940 0 100% 5685s patroni/daemon.py 76 0 100% 5685s patroni/dcs/__init__.py 667 0 100% 5685s patroni/dcs/consul.py 482 0 100% 5685s patroni/dcs/etcd3.py 683 0 100% 5685s patroni/dcs/etcd.py 602 0 100% 5685s patroni/dcs/exhibitor.py 60 0 100% 5685s patroni/dcs/kubernetes.py 935 0 100% 5685s patroni/dcs/raft.py 318 0 100% 5685s patroni/dcs/zookeeper.py 287 0 100% 5685s patroni/exceptions.py 16 0 100% 5685s patroni/file_perm.py 43 0 100% 5685s patroni/ha.py 1239 2 99% 1914-1915 5685s patroni/log.py 155 0 100% 5685s patroni/postgresql/__init__.py 826 0 100% 5685s patroni/postgresql/bootstrap.py 253 0 100% 5685s patroni/postgresql/callback_executor.py 55 0 100% 5685s patroni/postgresql/cancellable.py 104 0 100% 5685s patroni/postgresql/citus.py 258 123 52% 46, 49, 59, 63, 108-117, 122-135, 156-159, 178-200, 203-207, 228-244, 247-272, 275-293, 303, 311, 316-319, 333-334, 342-353, 357, 367-371, 407, 418-419 5685s patroni/postgresql/config.py 806 0 100% 5685s patroni/postgresql/connection.py 75 0 100% 5685s patroni/postgresql/misc.py 41 0 100% 5685s patroni/postgresql/postmaster.py 170 0 100% 5685s patroni/postgresql/rewind.py 415 0 100% 5685s patroni/postgresql/slots.py 332 0 100% 5685s patroni/postgresql/sync.py 129 0 100% 5685s patroni/postgresql/validator.py 165 0 100% 5685s patroni/psycopg.py 41 15 63% 19, 25-26, 42, 44-81, 119 5685s patroni/raft_controller.py 22 0 100% 5685s patroni/request.py 62 0 100% 5685s patroni/scripts/__init__.py 0 0 100% 5685s patroni/scripts/aws.py 59 1 98% 86 5685s patroni/scripts/wale_restore.py 207 1 99% 374 5685s patroni/tags.py 35 0 100% 5685s patroni/utils.py 318 0 100% 5685s patroni/validator.py 284 0 100% 5685s patroni/version.py 1 0 100% 5685s patroni/watchdog/__init__.py 2 0 100% 5685s patroni/watchdog/base.py 203 0 100% 5685s patroni/watchdog/linux.py 135 1 99% 36 5685s ----------------------------------------------------------------------- 5685s TOTAL 13246 147 99% 5685s Coverage XML written to file coverage.xml 5685s 5685s ================ 592 passed, 15 skipped, 11 warnings in 30.86s ================= 5686s autopkgtest [19:29:07]: test test: -----------------------] 5686s autopkgtest [19:29:07]: test test: - - - - - - - - - - results - - - - - - - - - - 5686s test PASS 5687s autopkgtest [19:29:08]: @@@@@@@@@@@@@@@@@@@@ summary 5687s acceptance-etcd3 PASS 5687s acceptance-etcd-basic PASS 5687s acceptance-etcd PASS 5687s acceptance-consul SKIP installation fails and skip-not-installable set 5687s acceptance-zookeeper PASS 5687s acceptance-raft PASS 5687s test PASS 5700s Creating nova instance adt-noble-ppc64el-patroni-20240322-164611-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)... 5700s Creating nova instance adt-noble-ppc64el-patroni-20240322-164611-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)... 5700s Creating nova instance adt-noble-ppc64el-patroni-20240322-164611-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)... 5700s Creating nova instance adt-noble-ppc64el-patroni-20240322-164611-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)... 5700s Creating nova instance adt-noble-ppc64el-patroni-20240322-164611-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)... 5700s Creating nova instance adt-noble-ppc64el-patroni-20240322-164611-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)...